Немного истории:
В моей конфигурации для ускорения разработки и избавления юзеров от необходимости частого изгнания из 1С активно изменяемые объекты (справочники, документы и печатные формы) вынесены из конфигурации наружу. Справочники и документы реализованы классами, т.е. в модуле формы и проведения наличествует лишь перенаправление вызовов в класс, например:
//В модуле формы
Перем клДвижение;
***
Процедура ПриИзмененииМПЗ()
клДвижение.ПриИзмененииМПЗ();
КонецПроцедуры // ПриИзмененииМПЗ()
***
клДвижение = СоздатьОбъект("Вязание.Документ.ДвижениеМПЗ"); клДвижение.УстановитьКонтекст(Контекст);
//В модуле документа
Процедура ОбработкаПроведения(ЗначениеПроведения = 0)
клДвижение = СоздатьОбъект("Вязание.Документ.ДвижениеМПЗ");
клДвижение.УстановитьКонтекст(Контекст);
Попытка
СтатусВозврата(клДвижение.ОбработкаПроведения(ЗначениеПроведения));
Исключение
СтатусВозврата(0);
Сообщить("Не удалось провести " + ТекущийДокумент() + " по причине:
|" + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Что позволяет довольно много изменений делать "на лету", не выгоняя юзверей из 1С.
Но !?
?! при изменении типового документа (ПУБ) "ДвижениеМПЗ" наткнулся на странное поведение:
Если программно вызывать ввод на основании таким образом:
докДвижение = СоздатьОбъект("Документ.ДвижениеМПЗ");
докДвижение.АвтоВремяТекущее();
докДвижение.Новый();
докДвижение.Записать();
клДвижение = СоздатьОбъект("Вязание.Документ.ДвижениеМПЗ");
клДвижение.УстановитьКонтекст(докДвижение);
клДвижение.ВводНаОсновании(Осн);
Запрос (ЗапросМПЗ = СоздатьОбъект("Запрос")) ничего не возвращает.
Но если делать заполнение интерактивное (ОткрытьФорму("Документ.ДвижениеМПЗ", КонтекстФормы, Осн)) - все ок.
Все параметры ОДИНАКОВЫ!
Временно ушел от использования запроса в сторону использования функции ВыгрузитьИтоги регистра МХ, но это неправильно.
Помогите разобраться ...
P.S.: Понял, что не ясна задача: Автоматизация процесса выдачи подготовленного заранее материала требует автоматического заполнения перемещения и вывода двух экземпляров ПФ по сканированию кода документа, т.е. без рук/клавы/мышки/юзера.