Если ТекСтрокаПереченьНоменклатуры.Номенклатура

ВидНоменклатуры=Перечисления.ВидыНоменклатуры.Материал Тогда

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;

Движение.Склад = Склад;

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

КонецЕсли;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

 

Добавленный текст исключает выполнение операторов цикла для тех строк табличной части документа, в которых номенклатура не является материалом. Поясним это условие.

В переменной ТекСтрокаПереченьНоменклатуры содержатся на каждом шаге цикла данные текущей строки табличной части ПереченьНоменклатуры.

Указывая через точку имя колонки Номенклатура (ТекСтрокаПереченьНоменклатуры.Номенклатура), мы обращаемся к ссылке на элемент номенклатуры, которая содержится в этой строке табличной части.

Затем, указывая через точку ВидНоменклатуры (ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры), мы обращаемся к реквизиту ВидНоменклатуры этого элемента справочника Номенклатура.

Полученное значение с помощью оператора сравнения (=) мы сравниваем со значением Материал перечисления ВидНоменклатуры (Перечисления.ВидыНоменклатуры.Материал).

Если значения совпадают, операторы цикла выполняются. Если нет, мы переходим к следующей итерации цикла, к следующей строке табличной части.

 

В режиме 1С:Предприятие

Запустим 1С:Предприятие в режиме отладки и проверим работу процедуры проведения документа Оказание услуги.

Откроем список документов, выполнив команду Оказание услуг в панели навигации раздела Оказание услуг.

Откроем документ Оказание услуги № 1 и внесем в него следующие изменения:

■ удалим из табличной части строку, содержащую Транзистор Philips;

■ добавим услугу - Подключение воды;

■ добавим материал - Шланг резиновый (рис. 4).

Рис. 4 Измененный документ «Оказание услуги №1»

Обратите внимание, что цены подставляются автоматически из регистра сведений Цены.

Нажмем кнопку Провести в командной панели формы документа.

Затем выполним команду Остатки материалов в панели навигации формы, чтобы перейти к записям регистра Остатки материалов, связанным с данным документом (рис. 5).

Рис. 5. Записи регистра «Остатки материалов»

Как мы видим, в движения по регистру Остатки материалов включаются только строки, содержащие материалы. Запись про услугу Подключение воды в движения не попала.

 

Контрольные вопросы

 

1. Для чего предназначен объект конфигурации Перечисление. Как создать новое перечисление.

2. Как с помощью перечисления задать принадлежность элементов справочника к той или иной смысловой группе.

3. Как обратиться к значению перечисления средствами встроенного языка.