В обработчике печати не был сформирован табличный документ
Подскажите где загвоздка не могу сообразить, ругается и все:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Печать акта'"));
ПараметрыРегистрации.Вставить("Версия", "1.3.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Печать акта'"));
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
НСтр("ru = 'Печать акта'"),
"Акт",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода) Экспорт
// ТабДок = СформироватьПечатнуюФормуАкта(МассивОбъектов);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет1", "Акт",
СформироватьПечатнуюФормуАкта(МассивОбъектов));
//ТабДок.Показать();
КонецФункции
ПоказатьПо теме из базы знаний
- Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".
- Практика создания заказной внешней печатной формы для УТ 11.3
- Формирование комплекта печатных форм в типовых конфигурациях для разнотипных документов
- Уведомление пользователя о неоформленных отпусках сотрудников. ЗУП 3.1
- Использование типовой общей формы отчета для нетиповых отчетов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Для начала посмотрите в журнал регистрации на предмет ошибок выполнения: у вас тупа может быть избыток параметров в процедуре "Печать" -зависит от версии библиотеки.
И внешние обработки так уже не объявляют: можно сделать это красивее. Смотрите примеры в демке БСП.
И внешние обработки так уже не объявляют: можно сделать это красивее. Смотрите примеры в демке БСП.
Там все ровно, через форму проверил все формируется:
Функция СформироватьПечатнуюФормуАкта(МассивОбъектов) Экспорт
Для каждого ТекДок из МассивОбъектов цикл
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.ОтображатьЗаголовки = Ложь;
//ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УниверсальныйПередаточныйДокумент_ВПФ";
ТабДокумент.ЭкземпляровНаСтранице = 1;
Макет = ПолучитьМакет("Макет1");
ДанныеПредставителяОрганизации = НовыеДанныеПредставителя();
ОтветственныеЛицаОрганизации = ОтветственныеЛицаБППовтИсп.ОтветственныеЛица(ТекДок.Организация, ТекДок.Дата);
ДанныеФизЛица = ОтветственныеЛицаОрганизации.РуководительФИО;
ДанныеПредставителяОрганизации.Должность = ОтветственныеЛицаОрганизации.РуководительДолжность;
ДанныеПредставителяОрганизации.ДолжностьНаименование =
ОтветственныеЛицаОрганизации.РуководительДолжностьПредставление;
ЗаполнитьЗначенияСвойств(ДанныеПредставителяОрганизации, ДанныеФизЛица);
ДанныеПредставителяОрганизации.Представление = ФизическиеЛицаКлиентСервер.ФамилияИнициалы(ДанныеФизЛица);
ДанныеПредставителяОрганизации.ИмяОтчество = СтрШаблон(
НСтр("ru = '%1 %2'"),
ДанныеФизЛица.Имя,
ДанныеФизЛица.Отчество);
ДанныеПредставителяОрганизации.ФИОПолные = ОбщегоНазначенияБПВызовСервера.ПолучитьФамилиюИмяОтчество(
ДанныеФизЛица.Фамилия,
ДанныеФизЛица.Имя,
ДанныеФизЛица.Отчество,
Ложь);
ДанныеПредставителяОрганизации.ФИОРодительныйПадеж =
СклонениеПредставленийОбъектов.ПросклонятьПредставление(ДанныеПредставителяОрганизации.Представление, 2);
ДанныеПредставителяОрганизации.ДолжностьРодительныйПадеж =
НРег(СклонениеПредставленийОбъектов.ПросклонятьПредставление(
ДанныеПредставителяОрганизации.ДолжностьНаименование, 2));
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КонтактныеЛица.ВидКонтактногоЛица КАК ВидКонтактногоЛица,
| КонтактныеЛица.Должность КАК Должность,
| КонтактныеЛица.Наименование КАК Наименование,
| КонтактныеЛица.Фамилия КАК Фамилия,
| КонтактныеЛица.Имя КАК Имя,
| КонтактныеЛица.Отчество КАК Отчество
|ИЗ
| Справочник.КонтактныеЛица КАК КонтактныеЛица
|ГДЕ
| КонтактныеЛица.ОбъектВладелец = &ОбъектВладелец";
Запрос.УстановитьПараметр("ОбъектВладелец", ТекДок.Контрагент);
Выборка = ЗАпрос.Выполнить().Выбрать();
Если Выборка.Количество()>0 тогда
Выборка.Следующий();
КонецЕсли;
Обл = Макет.ПолучитьОбласть("Шапка");
Обл.Параметры.НомерАкта = ТекДок.Номер;
Обл.Параметры.Дата = ТекДок.Дата;
ТабДокумент.Вывести(Обл);
Обл = Макет.ПолучитьОбласть("Тело");
Обл.Параметры.Заказчик = ТекДок.Контрагент.НаименованиеПолное;
Если ТекДок.Организация.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо Тогда
// Для ИП выводим только информацию об организации
ПредставительОрганизации = ТекДок.Организация.НаименованиеПолное;
Иначе
ПредставительОрганизации = СтрШаблон("%1 %2",
ПолучитьСклоненияСтроки(ВЫборка.Должность,,"ПД=Родительный")[0],
ПолучитьСклоненияСтроки(Выборка.Фамилия + " " + Выборка.Имя + " "+ Выборка.Отчество,,"ПД=Родительный")[0]);
КонецЕсли;
Обл.Параметры.РукЗаказчик = ПредставительОрганизации;
Обл.Параметры.Исполнитель = ТекДок.Организация.НаименованиеПолное;
Обл.Параметры.РукИсполнитель = ДанныеПредставителяОрганизации.ДолжностьРодительныйПадеж + " " + ПолучитьСклоненияСтроки(ДанныеПредставителяОрганизации.ФИОПолные,,"ПД=Родительный")[0];
Обл.Параметры.НомерДоговора = ТекДок.ДоговорКонтрагента.Номер;
Обл.Параметры.ДатаДоговора = ТекДок.ДоговорКонтрагента.Дата;
Обл.Параметры.Дата = ТекДок.Дата;
Обл.Параметры.СуммаДокумента = ТекДок.СуммаДокумента;
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2";
//ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);
Обл.Параметры.СуммаПрописью = ЧислоПрописью(ТекДок.СуммаДокумента, ФормСтрока, ПарПредмета);
Обл.Параметры.СумаНДС = Строка(ТекДок.Товары.ИТог("СуммаНДС") + ТекДок.Услуги.ИТог("СуммаНДС"));
ТабДокумент.Вывести(Обл);
Обл = Макет.ПолучитьОбласть("Подвал");
Обл.Параметры.ДолжностьИсполнитель = ДанныеПредставителяОрганизации.Должность;
Обл.Параметры.ИсполнительРуков = ДанныеПредставителяОрганизации.Представление;
Обл.Параметры.ИсполнительСокр = ТекДок.Организация.НаименованиеСокращенное;
Обл.Параметры.ДолжностьЗаказчик = ВЫборка.Должность;
Обл.Параметры.ЗаказчикСокр = ТекДок.Контрагент.Наименование;
Обл.Параметры.ЗаказчикРуков = ВЫборка.Фамилия + " " + Лев(ВЫборка.Имя,1)+". " + Лев(Выборка.Отчество,1) + "." ;
ТабДокумент.Вывести(Обл);
КонецЦикла;
Возврат ТабДокумент;
КонецФункции
Показать
(4)
В обработчике печати не был сформирован табличный документ для: Акт
{ОбщийМодуль.УправлениеПечатью.Модуль(1647)}: ВызватьИсключение(ТекстСообщенияОбОшибке);
{ОбщаяФорма.ПечатьДокументов.Форма(492)}: УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(43)}: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(234)}: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(34)}: ВыполнитьОткрытиеПечатнойФормыЗавершение(ОбъектыНазначения, Параметры);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}: МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}: ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}: МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(246)}: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}: ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая.Форма(3701)}: ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
Показать{ОбщийМодуль.УправлениеПечатью.Модуль(1647)}: ВызватьИсключение(ТекстСообщенияОбОшибке);
{ОбщаяФорма.ПечатьДокументов.Форма(492)}: УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(43)}: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(234)}: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(34)}: ВыполнитьОткрытиеПечатнойФормыЗавершение(ОбъектыНазначения, Параметры);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}: МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}: ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}: МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(246)}: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}: ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая.Форма(3701)}: ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот