В общем то выдернул кусок кода из самого документа выпуск продукции.
Код |
---|
Процедура ЗаполнитьВыпускПродукцииПродукцией(ДокументОбъект, Отказ)
// ЭТО МОЙ ВАРИАНТ ВЫЗОВА из другого Общего модуля с Флагом "Привиллигированный режим"
// ПРОбовал и без этого флага
ТаблицаПроизводства = ОбменСМУ_ОбщийМодульВызовСервера.ПолучитьЗащищеннуюОбработкуЗаполнитьДокумент(ДокументОбъект);
// там тоже выполняется код как в типовой функции
// ЭТО ТИПОВОЙ КОД из документа выпуск продукции
ОбработкаЗащита = ОбщепитЛицензированиеСервер.ПолучитьЗащищеннуюОбработку();
ТаблицаПроизводства = ОбработкаЗащита.ЗаполнитьПроизводственныеТаблицыПоРецептуре(ДокументОбъект, Ложь, Неопределено);
// Заполняем таблицу производства
Если ТаблицаПроизводства <> Неопределено Тогда
документОбъект.Производство.Загрузить(ТаблицаПроизводства);
ЗаполнитьСчетаУчетаВТаблицахПроизводства(ДокументОбъект);
КонецЕсли;
// Обход производственной таблицы и заполнение фактическим остатком
// и, в случае нехватки, аналогами.
СтруктураПараметров = Новый Структура("МоментВремени, СчитатьФактВТаблицеЗамен, Склад, Организация, ПодразделениеОрганизации, РежимИспользованияАналогов, ОрганизацияПрименяетУСН");
ЗаполнитьЗначенияСвойств(СтруктураПараметров, ДокументОбъект);
СтруктураПараметров.МоментВремени = ДокументОбъект.МоментВремени();
СтруктураПараметров.СчитатьФактВТаблицеЗамен = Ложь;
СтруктураПараметров.ОрганизацияПрименяетУСН = УчетнаяПолитика.ПрименяетсяУСН(документОбъект.Организация, документОбъект.Дата);
ОбщепитПроизводство.ЗаполнитьПроизводственныеТаблицыФактическимКоличеством(документОбъект.Производство, документОбъект.Замены, СтруктураПараметров);
Если НЕ ДокументОбъект.РазрешитьНедовложения Тогда
// Остаточную нехватку пишем в КоличествоФакт, и заполняем колонку ФактЗамены
ОбщепитПроизводство.ЗаписатьОстаточныеНехваткиВКоличествоФакт(документОбъект.Производство, документОбъект.Замены);
Иначе
// Рассчитываем только колонку ФактЗамены
ОбщепитПроизводство.ЗаписатьВТаблицуПроизводствоФактЗанены(документОбъект.Производство, документОбъект.Замены);
КонецЕсли;
// Заполним счета учета в таблице Замены
ЗаполнитьСчетаУчетаВТаблицахПроизводства(Истина);
// Исправим колонку ОтражениеВУСН
Если ДокументОбъект.ВидОперации = Перечисления.ОбщепитВидыОперацийВыпускПродукции.ВыпускПродукцииСоСписанием Тогда
Для Каждого СтрокаТаблицы Из ДокументОбъект.Производство Цикл
СтрокаТаблицы.ОтражениеВУСН = Перечисления.ОтражениеВУСН.НеПринимаются;
КонецЦикла;
Для Каждого СтрокаТаблицы Из ДокументОбъект.Замены Цикл
СтрокаТаблицы.ОтражениеВУСН = Перечисления.ОтражениеВУСН.НеПринимаются;
КонецЦикла;
КонецЕсли;
КонецПроцедуры |
Сперва в отладке видел что Сеансу HTTP сервиса требуется разрещение на запуск обработки.
Убрал у пользователя флаг "Защита от опасных действий"
ОбработкаЗащита = ОбщепитЛицензированиеСервер.ПолучитьЗащищеннуюОбработку();
возвращает в результате Неопределено
и соответсвенно при попытке обращения к функции ЗаполнитьПроизводственныеТаблицыПоРецептуре(ДокументОбъект, Ложь, Неопределено)
получаю ошибку "Метод объекта не обнаружен ЗаполнитьПроизводственныеТаблицыПоРецептуре"