8.х Помогите разобраться с ВПФ в БСП

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем ЕкатеринаНик, 10 ноя 2017.

  1. TopicStarter Overlay
    ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    718
    Симпатии:
    1
    Баллы:
    29
    Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.1.73");
    ПараметрыРегистрации.Информация = НСтр("ru = 'Обработка формирования печатной формы документа ""ЗаказПокупателя"".'");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
    ПараметрыРегистрации.Версия = "1.0.2";
    ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПокупателя");

    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = НСтр("ru = 'Счет на оплату со скидкой'");
    Команда.Идентификатор = "Счет";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    Команда.ПоказыватьОповещение = Истина;
    Команда.Модификатор = "ПечатьMXL";

    Возврат ПараметрыРегистрации;
    КонецФункции


    Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    Перем Ошибки;
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаказПокупателя") Тогда

    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
    КоллекцияПечатныхФорм,
    "ЗаказПокупателя",
    "Счет на оплату со скидкой",
    ПечатьЗаказСоСкидкой(МассивОбъектов, ОбъектыПечати, ПараметрыВывода, Ошибки));

    КонецЕсли;

    КонецПроцедуры // Печать()
    --- Объединение сообщений, 10 ноя 2017 ---
    Регистрируется, но при исполнении
    {ОбщийМодуль.УправлениеПечатью.Модуль(1121)}: В обработчике печати не был сформирован табличный документ для: Счет
    ВызватьИсключение(ТекстСообщенияОбОшибке);
    Я так подозреваю, что Идентификатор или Модификатор должны быть связаны с макетом печ формы?
    но не получилось
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    5.043
    Симпатии:
    183
    Баллы:
    104
    Да, в коллекции печатных форм печатные формы идентифицируются по имени макета.
    БСП по умолчанию толкает в эту коллекцию в качестве имени макета идентификатор команды, который Вы указали (в данном случае идентификатор команды у Вас - "Счет").
    Соответственно, этот идентификатор ("Счет") и надо передавать в процедуры вместо "ЗаказПокупателя":
    вместо
    Код:
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаказПокупателя") Тогда
    надо
    Код:
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Счет") Тогда
    и вместо:
    Код:
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
    КоллекцияПечатныхФорм,
    "ЗаказПокупателя",
    "Счет на оплату со скидкой",
    ПечатьЗаказСоСкидкой(МассивОбъектов, ОбъектыПечати, ПараметрыВывода, Ошибки));
    надо
    Код:
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
    КоллекцияПечатныхФорм,
    "Счет",
    "Счет на оплату со скидкой",
    ПечатьЗаказСоСкидкой(МассивОбъектов, ОбъектыПечати, ПараметрыВывода, Ошибки));

Поделиться этой страницей