Файл: ПРодолжительностьОриентировочная продолжительность занятия 2 часа 50 минут. План видов характеристик.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 105

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

510 1С:Предприятие 8.3. Практическое пособие разработчика
листинг 15.4. Фрагмент процедуры «ОбработкаПроведения()»

// регистр ОстаткиМатериалов Расход

Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.НаборСвойств = ВыборкаДетальныеЗаписи.НаборСвойств;
Движение.Склад = Склад;

Поскольку на предыдущем занятии мы оптимизировали процедуру проведения документа и получали все данные документа с помощью запроса, то в текст запроса нужно также добавить строки для получения нового реквизита документа (листинг 15.5).
листинг 15.5. Фрагмент процедуры «ОбработкаПроведения()»

Запрос = Новый Запрос;
// Укажем, какой менеджер временных таблиц использует этот запрос
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ
|
ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
|
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры
|
КАК ВидНоменклатуры,
|
ОказаниеУслугиПереченьНоменклатуры.НаборСвойств,
|
СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество)
|
КАК КоличествоВДокументе,
|
СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе
|ПОМЕСТИТЬ НоменклатураДокумента
|ИЗ
|
Документ.ОказаниеУслуги.ПереченьНоменклатуры
|
КАК ОказаниеУслугиПереченьНоменклатуры
|ГДЕ
|
ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
|
ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
|
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры,
|
ОказаниеУслугиПереченьНоменклатуры.НаборСвойств";
Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос2.Текст = "ВЫБРАТЬ
|
НоменклатураДокумента.Номенклатура,
|
НоменклатураДокумента.ВидНоменклатуры,
|
НоменклатураДокумента.НаборСвойств,
|
НоменклатураДокумента.КоличествоВДокументе,
|
НоменклатураДокумента.СуммаВДокументе,

511
Занятие 15
|
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость,
|
ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество
|ИЗ
|
НоменклатураДокумента КАК НоменклатураДокумента

Кроме этого, понадобится изменить последний запрос, который при оперативном проведении проверяет, не появились ли отрица- тельные остатки. Теперь мы будем получать остатки не «вообще» для номенклатуры из табличной части документа, а для номенклатуры именно с тем набором свойств, который указан в строках документа
(листинг 15.6).
листинг 15.6. Контроль отрицательных остатков при оперативном проведении

Запрос3.Текст = "ВЫБРАТЬ
|
ОстаткиМатериаловОстатки.Материал,
|
ОстаткиМатериаловОстатки.НаборСвойств,
|
ОстаткиМатериаловОстатки.КоличествоОстаток
|ИЗ
|
РегистрНакопления.ОстаткиМатериалов.Остатки( , (Материал, НаборСвойств) В
|
(ВЫБРАТЬ
|
НоменклатураДокумента.Номенклатура,
|
НоменклатураДокумента.НаборСвойств
|
ИЗ
|
НоменклатураДокумента) И Склад = &Склад)
|
КАК ОстаткиМатериаловОстатки
|ГДЕ
|
ОстаткиМатериаловОстатки.КоличествоОстаток < 0";
Запрос3.УстановитьПараметр("Склад", Склад);
РезультатЗапроса = Запрос3.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Не хватает " + Строка(- ВыборкаДетальныеЗаписи.КоличествоОстаток) +
" единиц материала """ + ВыборкаДетальныеЗаписи.Материал + """" +
" из набора свойств """ + ВыборкаДетальныеЗаписи.НаборСвойств + """";
Сообщение.Сообщить();
Отказ = Истина;
КонецЦикла;



512 1С:Предприятие 8.3. Практическое пособие разработчика
Приход/расход номенклатуры
с учетом характеристик
В режиме «1С:Предприятие»
Теперь запустим «1С:Предприятие» в режиме отладки и укажем наборы свойств при приходовании материалов.
Откроем документ
Приходная накладная № 2
и укажем, что был закуплен белый электрический кабель в количестве 2 шт. и польский резиновый шланг.
Затем скопируем первую строку документа и укажем, что был закуплен еще и черный электрический кабель в количестве 3 шт.
(в процессе ввода нам придется создать еще один набор свойств для электрического кабеля –
Черные кабели
, у которого
Цвет

Черный и
Сечение

2,5
), рис. 15.43.
Рис. 15.43. Документ «Приходная накладная № 2»
Нажмем
Провести и, выполнив команду
Остатки материалов в панели навигации формы документа, проверим движения документа по регистру
ОстаткиМатериалов
(рис. 15.44).

513
Занятие 15
Рис. 15.44. Движения документа «Приходная накладная № 2» по регистру «Остатки материалов»
Теперь откроем документ
Оказание услуги № 1
и укажем, что был израсходован польский резиновый шланг (рис. 15.45).
Рис. 15.45. Документ «Оказание услуги № 1»
Нажмем
Провести и, выполнив команду
Остатки материалов в панели навигации формы документа, проверим движения документа по регистру
ОстаткиМатериалов
(рис. 15.46).
Рис. 15.46. Движения документа «Оказание услуги № 1» по регистру «Остатки материалов»

514 1С:Предприятие 8.3. Практическое пособие разработчика
Отчет, использующий характеристики
Для полного завершения картины мы создадим отчет, который будет показывать нам наличие материалов с теми или иными свойствами.
При создании этого отчета мы используем те возможности, которые предоставляет нам система компоновки данных для работы с харак- теристиками (рис. 15.47).
Рис. 15.47. Результат отчета
Коротко говоря, набором данных для системы компоновки данных будет довольно простой запрос к регистру
ОстаткиМатериалов
А свойства вариантов номенклатуры платформа задействует в этом отчете автоматически на основании того описания, которое мы создали у справочника
ВариантыНоменклатуры
(см. раздел «Описание характеристик вариантов номенклатуры» на стр. 481).
Система компоновки данных сама сформирует достаточно понятный и удобный интерфейс для работы с характеристиками и в зависи- мости от значений, выбранных пользователем, будет формировать необходимые запросы к базе данных.
В режиме «Конфигуратор»
Добавим новый объект конфигурации Отчет. Назовем его
Остат- киМатериаловПоСвойствам и запустим конструктор схемы компо- новки данных. Добавим новый
Набор данных – запрос и вызовем конструктор запроса.


515
Занятие 15
Запрос для набора данных
В качестве источника данных для запроса выберем виртуальную таблицу регистра накопления
ОстаткиМатериалов.ОстаткиИОбороты
Из этой таблицы выберем следующие поля (рис. 15.48):
Материал
„
,
НаборСвойств
„
,
КоличествоНачальныйОстаток
„
,
КоличествоПриход
„
,
КоличествоРасход
„
,
КоличествоКонечныйОстаток
„
Рис. 15.48. Выбранные поля
После этого на закладке
Объединения/Псевдонимы зададим псевдо- нимы числовых полей без слова
Количество
(рис. 15.49).
Рис. 15.49. Объединения/Псевдонимы
На этом создание запроса закончено. Нажмем
ОK

516 1С:Предприятие 8.3. Практическое пособие разработчика
Ресурсы
Приступим к редактированию схемы компоновки данных.
Прежде всего, на закладке
Ресурсы выберем все доступные ресурсы
(рис. 15.50).
Рис. 15.50. Описание ресурсов
Настройки
Перейдем на закладку
Настройки
. Создадим структуру отчета – добавим группировку
Детальные записи
Затем на закладке
Выбранные поля выберем те поля, которые будут выводиться в отчет:
Материал
,
НаборСвойств
,
НачальныйОстаток
,
Приход
,
Расход и
КонечныйОстаток
(рис. 15.51).
Рис. 15.51. Группировки и поля отчета

517
Занятие 15
Затем перейдем на закладку
Другие настройки и зададим заголовок отчета –
Остатки материалов по свойствам
Чтобы иметь возможность протестировать наш отчет, включим настройку
Отбор в состав быстрых пользовательских настроек.
Для этого нажмем кнопку
Свойства элемента пользовательских настроек
, расположенную вверху в командной панели окна настроек.
В появившемся окне мы можем редактировать состав пользова- тельских настроек отчета. Установим признак использования для настройки
Отбор и оставим предложенное для нее по умолчанию свойство
Режим редактирования в значении
Быстрый
(рис. 15.52).
Рис. 15.52. Состав пользовательских настроек
В заключение определим, в каких подсистемах будет отображаться наш отчет.
Закроем конструктор схемы компоновки данных и в окне редактиро- вания объекта конфигурации Отчет
ОстаткиМатериаловПоСвойствам перейдем на закладку
Подсистемы
Отметим в списке подсистем конфигурации подсистемы
Учет мате- риалов и
Бухгалтерия
На этом создание отчета завершено.


518 1С:Предприятие 8.3. Практическое пособие разработчика
В режиме «1С:Предприятие»
Запустим «1С:Предприятие» в режиме отладки и посмотрим, какие результаты можно получить с помощью нашего отчета.
В разделе
Учет материалов выполним команду открытия отчета
Остатки материалов по свойствам
(рис. 15.53).
Рис. 15.53. Форма отчета
Мы видим настройку
Отбор
, расположенную в отчетной форме, с помощью которой мы можем получать остатки материалов в разрезе их характеристик.
Сначала посмотрим, какие у нас есть материалы с сечением 2,5 мм².
Для этого в поле настройки
Отбор нажмем кнопку выбора
(см. рис. 15.53). В появившемся окне
Редактирование отбора слева мы видим список доступных полей отчета.
Раскроем поле
Набор свойств
(рис. 15.54).
Обратите внимание, что к стандартным реквизитам справочника
ВариантыНоменклатуры система компоновки данных добавила все характеристики, которые определены нами для различных наборов свойств в базе данных:
Производитель
,
Сечение и
Цвет
. Таким образом, отбор в отчете по значениям каких-либо характеристик является достаточно простым и интуитивно понятным.
Чтобы узнать, какие у нас есть материалы с сечением 2,5 мм², достаточно выбрать поле
Сечение, мм2
и задать для него условие равенства 2,5.
Нажмем
ОК
. В окне отчета нажмем
Сформировать и получим следующий результат (рис. 15.55).

519
Занятие 15
Рис. 15.54. Создание отбора
Рис. 15.55. Результат отчета
Затем посмотрим, какие у нас есть материалы черного цвета. Для этого в поле настройки
Отбор еще раз нажмем кнопку выбора и удалим прежний отбор кнопкой
Удалить над списком условий отбора.
Затем двойным щелчком мыши выберем из списка доступных полей поле
Цвет
. Затем в поле
Значение нажмем кнопку выбора и выберем из списка дополнительных свойств номенклатуры значение
Черный
(рис. 15.56).

520 1С:Предприятие 8.3. Практическое пособие разработчика
Рис. 15.56. Создание отбора
Нажмем
ОК
. В окне отчета нажмем
Сформировать и получим следующий результат (рис. 15.57).
Рис. 15.57. Результат отчета
И в заключение, чтобы убедиться в правильности работы отчета, посмотрим, сколько у нас резиновых шлангов черного цвета.
В поле настройки
Отбор еще раз нажмем кнопку выбора и добавим еще один элемент отбора. Для этого двойным щелчком мыши выберем из списка доступных полей поле
Материал

521
Занятие 15
Затем в поле
Значение нажмем кнопку выбора и выберем из списка номенклатуры значение
Шланг резиновый
(рис. 15.58).
Рис. 15.58. Создание отбора
Нажмем
ОК
В окне отчета нажмем
Сформировать и получим следующий результат
(рис. 15.59).
Рис. 15.59. Результат отчета


522 1С:Предприятие 8.3. Практическое пособие разработчика
Таким образом, мы убедились в том, что при использовании данной логической схемы мы имеем теперь возможность вести учет матери- алов в произвольном количестве разрезов свойств и их значений.
Следует заметить, что пример, рассмотренный нами в этой главе, не является законченным решением для данной конфигурации.
Мы лишь продемонстрировали возможность ведения такого учета.
Для того чтобы наша конфигурация могла полноценно использо- вать свойства материалов, необходимо внести соответствующие изменения в остальные регистры, документы и некоторые отчеты.
Для чего предназначен объект конфигурации «План видов харак-
;
теристик»?
В чем принципиальное отличие плана вида характеристик
;
от справочника?
Что такое тип значения характеристик?
;
Зачем нужны дополнительные значения характеристик?
;
Как, используя план видов характеристик, организовать учет
;
по переменному количеству характеристик?
Как создать план видов характеристик?
;
Что такое связь по параметрам выбора?
;
Как изменить заголовок формы?
;
Как скрывать элементы формы с подчиненной информацией
;
при ее создании?
Как описать характеристики в метаданных?
;
Как использовать характеристики при выполнении отчета?
;
Контрольные вопросы