Программно получить печатную форму документа БП 3.0 (БСП)

Каждый раз это настоящий квест! Потому что система БСП — это что-то анти-человеческое.

Приходится опираться не на логику, а брать в руки отладчик и искать точку, к которой можно привязаться:

Мне нужно было получить печатную форму для трех типов документов, поэтому я вывел в табло название переменных и записал себе их значения.

В итоге функция для программной печати документа получилась такой:

Функция ПолучитьПечатнуюФормуДокумента(ТекДокумент) Экспорт
   
МД = Метаданные.НайтиПоТипу(ТипЗнч(ТекДокумент));
   
ТекВид = МД.Имя;

   
МассивОбъектов = Новый Массив();
   
МассивОбъектов.Добавить(ТекДокумент);
   
ПараметрыПечати = Новый Структура(); //»ДополнитьКомплектВнешнимиПечатнымиФормами» = ложь
   
ДопустимыеТипыОбъектовПечати = Неопределено;

    Если
ТекВид = «СчетНаОплатуПокупателю» Тогда
       
ИмяМенеджераПечати = «Обработка.ПечатьСчетаНаОплату»;
       
ИменаМакетов = «СчетЗаказ»;
    ИначеЕсли
ТекВид = «АктСверкиВзаиморасчетов» Тогда
       
ИмяМенеджераПечати = «Документ.АктСверкиВзаиморасчетов»;
       
ИменаМакетов = «АктСверки»;
    ИначеЕсли
ТекВид = «РеализацияТоваровУслуг» Тогда
       
ИмяМенеджераПечати = «Документ.РеализацияТоваровУслуг»;
       
ИменаМакетов = «Накладная»;
       
//ИменаМакетов = «Акт»;//Для акта
   
Иначе
        Возврат Неопределено;
    КонецЕсли;

   
ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ПараметрыПечати, ДопустимыеТипыОбъектовПечати);

    Возврат
ПечатныеФормы.КоллекцияПечатныхФорм[0].ТабличныйДокумент;
КонецФункции

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 6

  1. naf2000:

    Непонятна ни постановка задачи, ни вывод

    • bob:

      Т.к кода несколько строк, то ни задача ни вывод пользы никому никакой не принесут. Если все 1С программирование это оперирование подобным обьемом кода, то информация ходящая про 1С программистов не далека от истины.

      В мире большого IT несколько строк это либо красивое решение алгоритмической проблемы, либо ответ на вопрос на stackoverflow.

      • Я пишу эти заметки о своей деятельности. Полезны они или нет? Не знаю. Если бы я загуглил и нашел способ печати из БП3, это сэкономило бы мне 15 минут. Я искал, не нашел ничего свежего, пришлось выяснять самому.

    • Что именно не понятно в постановке и выводе.

  2. тыц:

    у нас в за конструкции вида [0] ругают

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *