Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
10 окт 2024, 23:52

Помогите сохранить в файл внешнюю печатную форму документа из БП 3.0

Автор Сергей Поляков, 22 окт 2018, 13:09

0 Пользователей и 1 гость просматривают эту тему.

Сергей Поляков

Здравствуйте.
у меня есть обработка, которая из БП 3.0 сохраняет печатную форму документов "АктСверкиВзаиморасчетов", т.е. за определенный период она делает выборку документов, и в отдельный каталог сохраняет эти акты сверок в формате XLS, т.е. если в выборке 20 документов, то будет 20 сохраненных файлов XLS.

Мне нужно тоже самое, только по документам "СчетНаОплатуПокупателю", но сохранять в формате XLS не типовую форму Счета, а внешнюю печатную форму, называется она например "Квитанция", она подгружена к 1С. печатается из документа СчетНаОплатуПокупателю без проблем.
вот код, который работает с документом АктСверки:
//////////////////
//Выгрузка печатных форм
   ПараметрыПечати = Новый Структура;
   МассивОбъектов = Новый Массив;
   
   
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   АктСверкиВзаиморасчетов.Ссылка КАК Ссылка
      |ИЗ
      |   Документ.АктСверкиВзаиморасчетов КАК АктСверкиВзаиморасчетов
      |ГДЕ
      |   АктСверкиВзаиморасчетов.Проведен
      |   И АктСверкиВзаиморасчетов.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
   
   Запрос.УстановитьПараметр("ДатаНачала", НачалоМесяца(ТекущаяДата()));
   Запрос.УстановитьПараметр("ДатаОкончания", КонецМесяца(ТекущаяДата()));
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      МассивОбъектов.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
   КонецЦикла;
                                                 
   ПечатныеФормы = УправлениеПечатьюВызовСервера.СформироватьПечатныеФормыДляБыстройПечати("Документ.АктСверкиВзаиморасчетов",
      "АктСверки", МассивОбъектов, ПараметрыПечати);
   
   МассивТабДоков = ПечатныеФормы.ТабличныеДокументы.ВыгрузитьЗначения();
   
   Для Каждого ПечатнаяФорма Из МассивТабДоков Цикл
      ТабДокумент = ПечатнаяФорма;
   КонецЦикла;

   РасширениеФайла = "XLS";
   
   ТабДокумент.Записать(КаталогЗаписи+"\Акт сверки по контрагенту "+"."+РасширениеФайла,РасширениеФайла);
///////////////////////
Подскажите пожалуйста что в нем изменить, чтобы сохранить внешнюю печатную форму.
я пробовал даже типовую печатную форму документа счет сохранить, у меня не получилось, код:

ПечатныеФормы = УправлениеПечатьюВызовСервера.СформироватьПечатныеФормыДляБыстройПечати("Документ.СчетНаОплатуПокупателю",
   //   "СчетНаОплатуПокупателю", МассивОбъектов, ПараметрыПечати);

не работает.
а внешнюю как сохранить даже не знаю.

wise

(0) посмотри КАК у тебя печатается внешняя форма и отправляй на печать такие же параметры...
вся печать происходит в МенеджереДокумента... там и смотри...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Сергей Поляков

А где посмотреть? можно название процедуры?
я думал если данный код работает нормально на одном документе, то почему он не работает на другом?
проблема в имени макета, какой параметр туда передавать я не знаю.
Добавлено: 22 окт 2018, 14:23


В модуле менеджера документа "СчетНаОплату" есть процедура "Печать", когда печатаю счет, точка останова срабатывает, когда печатаю внешнюю форму, то ни одна процедура не срабатывает, скорее всего не в модуле менеджера вызов печати внешней формы.
Добавлено: 22 окт 2018, 16:51


Вопрос решен

Похожие темы (5)

Рейтинг@Mail.ru

Поиск