ВПФ. В обработчике печати не был сформирован табличный документ
Добрый день! Делаю внешнюю печатную форму, но выходит ошибка при печати: В обработчике печати не был сформирован табличный документ для: ПФ_MXL_АктНаБракСВиновником.
Погуглил, вроде и идентификатор проверил, вроде все верно, но ошибка не проходит.
Вот код:
Погуглил, вроде и идентификатор проверил, вроде все верно, но ошибка не проходит.
Вот код:
Функция ПечатьПриемоСдаточнойНакладной(МассивОбъектов, ОбъектыПечати) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктНаБракСВиновником";
Для Каждого Элемент ИЗ МассивОбъектов Цикл
Макет = ПолучитьМакет("Макет");
Область = Макет.ПолучитьОбласть("Область1");
Область.Параметры.Акт = "АКТ НА БРАК № " + ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Элемент.Номер);
Область.Параметры.Дата = Формат(Элемент.Дата, "ДЛФ=DD");
ТабДокумент.Вывести(Область);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПеремещениеТоваровТовары.Ссылка.Номер КАК Номер,
| ПеремещениеТоваровТовары.Ссылка.Дата КАК Дата,
| ПеремещениеТоваровТовары.Ссылка.СкладОтправитель КАК СкладОтправитель,
| ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
| ПеремещениеТоваровТовары.Количество КАК Количество,
| ПеремещениеТоваровТовары.рар_ГруппаАналитическогоУчета.Наименование КАК ГАУ
|ИЗ
| Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|ГДЕ
| ПеремещениеТоваровТовары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Элемент);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() > 1 Тогда
Сообщить("В документе больше 1 детали ! Акт не верный !",СтатусСообщения.Важное);
Возврат Неопределено;
КонецЕсли;
Область = Макет.ПолучитьОбласть("Область2");
Область.Параметры.Цех = Лев(Элемент.СкладОтправитель.Подразделение.Наименование,2);
Область.Параметры.Деталь = РезультатЗапроса[0].Номенклатура;
Область.Параметры.Количество = РезультатЗапроса[0].Количество;
ТабДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Область3");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПеремещениеТоваровДополнительныеРеквизиты.Свойство КАК Свойство,
| ПеремещениеТоваровДополнительныеРеквизиты.Значение КАК Значение
|ИЗ
| Документ.ПеремещениеТоваров.ДополнительныеРеквизиты КАК ПеремещениеТоваровДополнительныеРеквизиты
|ГДЕ
| ПеремещениеТоваровДополнительныеРеквизиты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Элемент);
РезультатЗапроса1 = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса1.Выбрать();
МояПеременная = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Свойство.Наименование = "Причина брака" Тогда
Область.Параметры.Причина = ВыборкаДетальныеЗаписи.Значение;
КонецЕсли;
Если ВыборкаДетальныеЗаписи.Свойство.Наименование = "Брак по вине сотрудника" Тогда
МояПеременная = 1;
КонецЕсли;
КонецЦикла;
Если МояПеременная = 0 Тогда
Сообщить("Необходимо установить признак ""Брак по вине сотрудника"" во вкладке дополнительно ",СтатусСообщения.Важное);
Возврат Неопределено;
КонецЕсли;
ТабДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Область4");
Область.Параметры.шифр = Лев(РезультатЗапроса[0].ГАУ,6);
Область.Параметры.ЦехНомер = Лев(Элемент.СкладОтправитель.Подразделение.Наименование,2);
ТабДокумент.Вывести(Область);
КонецЦикла;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.ОтображатьЗаголовки = Ложь;
ТабДокумент.ТолькоПросмотр = Истина;
ТабДокумент.АвтоМасштаб = Истина;
Возврат ТабДокумент;
КонецФункции
Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_АктНаБракСВиновником") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПФ_MXL_АктНаБракСВиновником",
НСтр("ru = 'АктНаБракСВиновником'"),
ПечатьПриемоСдаточнойНакладной(МассивОбъектовНазначения, ОбъектыПечати), ,"");
КонецЕсли;
КонецПроцедуры
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить("Документ.ПеремещениеТоваров");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы);
ПараметрыРегистрации.Вставить("Наименование", "Акт на брак с виновником");
ПараметрыРегистрации.Вставить("Версия", "1.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Акт на брак (с виновником)", // Представление команды в пользовательском интерфейсе
"ПФ_MXL_АктНаБракСВиновником", // Уникальный идентификатор команды
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
ПоказатьНайденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот