Здравствуйте, очередной вопрос по поводу адаптации документа под конфигурацию БП 3.0 и УФ. Прошу подсказать, как реализуется проведение документа
В модуле объекта:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ТаблицаДвижений = Движения.Закупка.Выгрузить();
Движения.Закупка.мПериод = Дата;
ТаблицаДвижений.Очистить();
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(Товары.Выгрузить(), ТаблицаДвижений);
ТаблицаДвижений.ЗаполнитьЗначения(Организация,"Организация");
ТаблицаДвижений.ЗаполнитьЗначения(Контрагент,"Контрагент");
Если ТаблицаДвижений.Количество() > 0 Тогда
Если БезКг Тогда
Для Каждого Стр из ТаблицаДвижений Цикл
Стр.КоличествоЛ = 0;
КонецЦикла;
КонецЕсли;
Движения.Закупка.мТаблицаДвижений = ТаблицаДвижений;
Движения.Закупка.ВыполнитьПриход();
КонецЕсли;
КонецПроцедуры
Заменил обращение к модулю набора записей регистра накоплений на
Движения.Закупка.Записывать = Истина;
Движения.Закупка.Очистить();
Для Каждого Стр из ТаблицаДвижений Цикл
Движение = Движения.Закупка.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = Стр.Номенклатура;
\\прочие реквизиты
КонецЦикла;
Тупо, прямолинейно, но вроде работает. Насколько адекватен данный вариант и как сделать грамотно?
А еще адекватно научиться пользоваться конструктором движений, который можно вызвать в окне редактирования Документа на закладке "Движения"
(имейте ввиду, что старый код сотрется);
В случае сложного механизма проведения конструктор помогает быстро набросать шаблон для дальнейшей модернизации, заменяя кодописание.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший