Проверялось на версии БСП 2.2.5.30 в конфигурации УТ 11.1.
Всем доброго дня!
Это коротенькая статья-заметка для тех, кому необходимо, не углубляясь в детали, вывести табличный документ, сформированный любым способом в форме внешней обработки, в общую форму "Печать документов".
Есть несколько достаточно подробных статей на эту тему вывода в общую форму, например, вот эта: тыц
В моем случае мне потребовалось из формы внешней обработки вывести результат работы в табличный документ, сформированный там же, в модуле формы.
Итак от слов к делу:
- Создаем новую обработку и новую форму
- Добавляем команду (например "Печать") создадим процедуру "Печать", которая будет выполняться при нажатии на кнопку, и перетаскиваем ее на форму.
- В модуле формы напишем следующий код, который и отвечает за вывод нашего табличного документа в общую форму "ПечатьДокументов":
&НаКлиенте
Процедура Печать(Команда)
// сформируем нужный нам табличный документ
ТабДок = СформироватьТабДок();
// создадим коллекцию печатных форм, в которую надо будет добавить нужный нам табличный документ
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("МакетТест");
// Добавляем в коллекцию (тип массив) сформированный Табличный документ
КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
// если требуется устанавливаем параметры печати
КоллекцияПечатныхФорм[0].Экземпляров=1;
КоллекцияПечатныхФорм[0].СинонимМакета = "Макет тест"; // используется для формирования имени файла при сохранении из общей формы печати документов
// .. и выводим стандартной процедурой БСП
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм,Неопределено,ЭтаФорма);
КонецПроцедуры
4. Вот и все.
Сам код формирования табличного документа оставляю за кадром. Но рабочий пример вывода можно скачать из этой публикации.
Огромное спасибо за этот кусок кода. То что давно искал.
Рад, что помогло 🙂
Огромное Спасибо!!! Коротко и работает!
Спасибо! Для начинающего очень помогает!
Спасибо! Пригодилось
Пожалуйста! Сам иногда обращаюсь к своей заметке :)))) Забывается то, чем постоянно не пользуешься..
Спасибо тебе!!!! Я никак не мог сам найти, а оказывается все было так просто!!!!!
(7) Пожалуйста! Рад, что помогло.
Спасибо. То что нужно. Теперь бы разобраться с этим, а то магия какая то.
(9) А что именно в этом непонятно?
Мне не понятно как это работает. Но мне бы хотелось самому попытаться разобраться с механизмом этого кода. Сейчас я просто вставил кусок кода и пользуюсь. Я начинающий. Это моя первая печатная форма, да еще и через расширение. Так что не удивляйтесь. Это просто положительные эмоции начинающего.
(11) В общем-то ничего особо сложного здесь нет.
Весь нужный для вывода печатной формы функционал, обеспечивает библиотека стандартных подсистем, которая реализована разработчиками 1С для облегчения программирования стандартных задач. Поэтому приведенный в статье код и выглядит вполне компактным.
Для того, чтобы табличный документ вывелся в общую форму, необходимо вызвать функцию «ПечатьДокументов» общего модуля «УправлениеПечатьюКлиент» передав в качестве параметры необходимые для этого данные, т.е. сам табличный документ и например количество экземпляров, которые нужно напечатать.
Один из параметров функции — это коллекция печатных форм, которая представляет собой в конечном виде массив структур, т.е. элементами массива является структура с нужными значениями.
Коллекция формируется строкой кода
После чего можно обратится к массиву по индексу и установить нужные данные, такие как табличный документ и количество экземпляров.
вот собственно и все.
Уф… Столько мучений, а ларчик просто открывался.
ОГРОМНЕЙШЕЕ тебе спасибо)))))
(13) Рад, что помогло 🙂
Работает, Спасибо!!!
Всё гениальное просто! Спасибо! Сэкономил полчасика времени мне)
Чтобы заработала привязка файла к ссылке надо еще немножко дополнить:
Показать