1С-Предприятие 8.0. Практическое пособие разработчика


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


Если вы помните, в первой части книги, когда создавались движения документа "ОказаниеУслуги" по регистру накопления "ОстаткиМатериалов", мы сказали, что они не совсем правильные, поскольку в регистр будут попадать не только записи об израсходованных материалах, но и записи об оказанных услугах.

Теперь мы займемся тем, что доработаем документ таким образом, чтобы в регистре появлялись только записи, относящиеся к расходу материалов. Эта доработка будет не совсем эффективна с точки зрения производительности, зато позволит нам получить нужные данные в регистре "ОстаткиМатериалов".

Более эффективный вариант обработки проведения этого документа мы рассмотрим после изучения главы, рассказывающей о механизме запросов 1С:Предприятия 8.0.

Скорректируем движения документа, исключив из обработки те строки табличной части, в которых находятся услуги. Для этого в обработчик события "ОбработкаПроведения", расположенный в модуле документа "ОказаниеУслуги", добавим следующий текст (добавленный текст выделен жирным шрифтом):

Процедура ОбработкаПроведения(Отказ, Режим)

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

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл

Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры <> Перечисления.ВидыНоменклатуры.Материал Тогда

       Продолжить;

   КонецЕсли;

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

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

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

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

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

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

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

КонецЦикла;

// записываем движения регистров




Начало  Назад  Вперед



Книжный магазин