вывести табличный документ в общую форму печати
Вывести табличный документ в общую форму печати
Изменение существующих или создание новых печатных форм – задача довольно распространённая. Как правило, в таких случаях создаётся внешняя печатная форма и подключается через стандартную подсистему дополнительных отчётов и обработок. Однако, иногда возникают задачи, в которых печатная форма должна формироваться с учётом данных, вводимых пользователями непосредственно перед печатью. То есть, сначала должна открыться форма, в которую пользователь вводит данные, и только потом выполняется команда «Печать».
Допустим, нам нужно создать печатную форму некой справки, часть данных которой вводятся в форме перед печатью. Кнопка «Печать» должна располагаться на форме.
Обычно для внешних печатных форм параметру «Вид» присваивается значение «Печатная форма», но так как у нас сначала должна открываться форма, то устанавливаем значение «Дополнительная обработка».
В этой же функции СведенияОВнешнейОбработке () при обращении к процедуре ДобавитьКоманду () для внешних печатных форм в параметр «Использование» обыкновенно передаётся значение «ВызовСерверногоМетода» или «ВызовКлиентскогоМетода». Здесь же мы укажем значение «ОткрытиеФормы».
В итоге функция будет выглядеть так:
Создаём макет печатной формы.
Далее создаём основную форму обработки и необходимые реквизиты формы. Создаём и размещаем на форме команду «Печать». Формировать табличный документ для печати будем в обработчике этой команды. В зависимости от того, какие данные требуются для печатной формы, организовываем заполнение табличного документа либо на клиенте, либо на сервере. В данном примере заполняем на сервере и затем возвращаем табличный документ на клиент.
Итак, в модуле формы:
Табличный документ сформирован, осталось вывести его для печати в предназначенную для этого общую форму «Печать документов». Сделаем это с помощью стандартных механизмов БСП.
Дополним обработчик команды «Печать»:
Теперь в результате выполнения команды «Печать» из формы нашей внешней обработки, табличный документ будет выводиться в форму «Печать документов», которая предоставляет удобный интерфейс для печати:
Печать табличного документа через типовой механизм печати БСП (3.0) ОбщаяФорма.ПечатьДокументов
1. Для вывода на печать используется типовой механизм:
а. формируется табличный документ
б. передается через ПараметрыОткрытия
Используются Стандартные Подсистемы 3.0.
Проверялась на БП 3.0.73, ЗУП 3.1.11, УТ 11.4.9, КА 2.4.9
Скачать файлы
Специальные предложения
Обновление 16.10.19 17:10
См. также
Работа с релизами 1С и договорами ИТС Промо
Работа с релизами 1С и партнерским кабинетом.
15.08.2019 21268 62 RocKeR_13 37
Сравнение измененных макетов (БСП «Макеты печатных форм»)
Обработка позволяет проверить все параметры, области и текст типового макета и измененного пользователем. Различия выводятся в таблице.
05.11.2021 506 0 Margo462 0
Фоновая отправка информации журнала регистрации из конфигураций на базе 1С:Библиотека стандартных подсистем
Внешняя обработка для фоновой отправки информации журнала регистрации по электронной почте из конфигураций на базе 1С:Библиотека стандартных подсистем
25.10.2021 1316 4 mayz 2
Изменение текстовой подложки Word
В ситуациях, когда необходимо изменять текст на текстовую подложку в макете Word, можно воспользоваться механизмом, описанным в данной обработке.
22.10.2021 576 0 chizik05 0
Мастер печатных форм v 3.3 (+English version) Промо
Создание печатных форм «с нуля» за несколько минут. Моментальная отладка. Не требует знания встроенного языка 1С. Работает в толстом, тонком и вэб-клиентах.
07.03.2014 99014 1203 kser87 225
Добавление в новый документ подсистемы печати дополнительных печатных форм, пример для УНФ и УТ 11
Два примера использования подсистемы печати БСП, выполненных в виде расширения, для УТ 11 и УНФ.
15.10.2021 780 3 Romyl01 0
Ускорение рассылки отчетов БСП
Ускорение рассылки отчетов БСП при помощи деления на порции по потокам.
27.09.2021 704 3 luckyluke 0
Интеграция с Веб сервисом ГИИС ДМДК
Пример интеграции с Веб сервисом Государственной интегрированной информационной системе в сфере контроля за оборотом драгоценных металлов, драгоценных камней и изделий из них на всех этапах этого оборота (ГИИС ДМДК) на базе демонстрационной базы БСП 3.15.
27.09.2021 1034 17 Scorpion1_77 13
Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП Промо
Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.
06.12.2017 33637 60 kwazi 6
Легкое добавление формы печати через *.docx Word в документы, 1С:ERP
Очень лаконичная, простая, короткая обработка позволяет легко добавить печать через использование Word *.doc.
21.09.2021 842 7 vPikalov 2
Установка произвольных параметров для дополнительных отчетов и обработок (БСП)
Внешняя обработка (УФ) для установки произвольных параметров дополнительных отчетов, печатных форм, обработок в конфигурациях на базе БСП 3.0 и старше.
17.09.2021 948 3 fddf 2
Печать этикеток из табличного документа QR, DataMatrix, EAN8, EAN13, EAN128, Code39, Code128, PDF417
Печать всех распространенных типов штрихкодов из табличного документа.
08.09.2021 714 3 vladnet 0
Настройка прав пользователей. БСП. Профиль доступа. Три клика. Промо
Простое и наглядное формирование профиля доступа с расширенными правами «EXPERT». Сопоставление ролей профилей конфигурации. Просмотр прав ролей. Управляемое приложение.
06.03.2013 145224 1729 StepByStep 87
Сохранение данных печатных форм
Расширение для сохранения данных, которые пользователи вводят в печатных формах. В состав расширения входит справочник «Настройка сохранения данных ПФ», в котором настраивается, какие ячейки ПФ сохранять.
02.09.2021 932 3 aldor188 0
Обмен по правилам Конвертации данных 2.1 для ERP, КА, УТ 11, БП 3, ЗУП 3
Расширение добавляет возможность без снятия с «замка» обмениваться с любыми конфигурациями 1С по правилам конвертации данных 2.1.
02.07.2021 3083 22 EvgeTrofi 14
Расширение, реализующее загрузку адресного классификатора с сайта fias.nalog.ru.
Расширение, модифицирующее в основном общий модуль АдресныйКлассификаторСлужебный, позволяющее получать и обрабатывать файлы ФИАС.
22.06.2021 1476 1 RomanCrow13 1
Конструктор внешних печатных форм NEW beta (обычные и управляемые приложения!) Промо
Версия NEW beta=) «Конструктор внешних печатных форм» максимально автоматизирует процесс создания внешних печатных форм на основе типовых. Создание внешней печатной формы займет от секунд до пары минут! Теперь и на управляемых приложениях =)
18.11.2012 74264 1975 SeiOkami 185
Печать WORD из тонкого клиента с доступом по вэб адресу (управляемые формы)
Вариант печати файлов WORD из 1С из-под тонкого клиента, подключенного по вэб адресу. В файле показан вариант печати динамических таблиц, то есть таблиц с изменяемым количеством строк. Обработка печати довольно простая. Опробована на Управление торговлей, редакция 11 (11.4.13.155), версия платформы 1С:Предприятие 8.3 (8.3.18.1334)
10.06.2021 1907 1 user810754 1
Шаблон внешней обработки для ввода на основании
Данная обработка может являться шаблоном для организации собственного «ввода на основании».
07.06.2021 1457 7 Hitcher 0
Просмотр и редактирование условного оформления открытой формы на БСП
Иногда требуется посмотреть, какое оформление и по какому условию установлено в открытой форме. Данная обработка через подключенную команду заполнения позволяет посмотреть или изменить текущее условное оформление открытой формы, при условии, что для нее предусмотрены подключаемые команды.
03.06.2021 1898 7 Foster13 3
Рассылка по ошибкам журнала регистрации
26.04.2021 2118 7 wonderboy 0
Отладка внешних печатных форм, когда не открывается даже временный файл
Отладка с помощью формы обработки, на форме добавляем реквизит Документ, для которого предназначена внешняя обработка. Затем командой вызываем нужный обработчик и отлаживаем в свое удовольствие. Написали и открываем как обычную внешнюю обработку, ставим точку остановки и жмем кнопку команды.
20.04.2021 2363 5 Miracle180882 0
Отчет по версионированию объектов БСП, платформа (отборы, выбор реквизитов, фон)
Отчет по версионированию объектов, позволяет просматривать историю изменения реквизитов за период, выбирать реквизиты для сравнения, накладывать отбор на объекты. И при этом выполняется в фоне, не мешая вам работать.
20.04.2021 1725 5 GlebBR 2
Универсальная печать кадровых документов в формате Word для ЗУП 3
Внешняя обработка для печати кадровых документов: Приказов, Приемов на работу, Кадровых перемещений, Договоров о материальной ответственности и прочих кадровых документов. Документы печатаются из шаблонов, созданных в формате docx из внешних файлов, размещенных в любой внешней папке. Шаблоны без особого труда могут быть созданы работниками кадровых служб предприятия. Создание шаблона не сложнее создания соответствующего документа в формате docx. Предназначена для ЗУП 3.1 на управляемых формах.
14.04.2021 2562 15 user810754 0
Вывод на печать табличной части заказа и своих параметров в УНФ 1.6 с помощью встроенного механизма шаблонов КП и договоров
Фирма 1С предоставила нам в конфигурации УНФ удобный механизм печати шаблонов договоров и коммерческих предложений в форматах docx и odt. Достаточно указать нужный Word документ в настройках шаблонов раздела CRM, отметить необходимые реквизиты для подстановки их значений в Ваш договор, и пользоваться печатью. НО. мы не нашли возможности вывода в шаблон содержимого табличных частей документов, а также произвольных реквизитов, значения которых являются переменными, и наряду с типовыми реквизитами заданных документов (заказа покупателя, счета на оплаты, заказ наряда), также могут потребовать своего вывода.
Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
Простой вывод табличного документа в общую форму «Печать документов», с использованием БСП
Это коротенькая статья-заметка для тех, кому необходимо, не углубляясь в детали, вывести табличный документ, сформированный любым способом в форме внешней обработки, в общую форму «Печать документов».
Есть несколько достаточно подробных статей на эту тему вывода в общую форму, например, вот эта: тыц
В моем случае мне потребовалось из формы внешней обработки вывести результат работы в табличный документ, сформированный там же, в модуле формы.
Итак от слов к делу:
Сам код формирования табличного документа оставляю за кадром. Но рабочий пример вывода можно скачать из этой публикации.
Скачать файлы
Специальные предложения
(11) В общем-то ничего особо сложного здесь нет.
Весь нужный для вывода печатной формы функционал, обеспечивает библиотека стандартных подсистем, которая реализована разработчиками 1С для облегчения программирования стандартных задач. Поэтому приведенный в статье код и выглядит вполне компактным.
Для того, чтобы табличный документ вывелся в общую форму, необходимо вызвать функцию «ПечатьДокументов» общего модуля «УправлениеПечатьюКлиент» передав в качестве параметры необходимые для этого данные, т.е. сам табличный документ и например количество экземпляров, которые нужно напечатать.
После чего можно обратится к массиву по индексу и установить нужные данные, такие как табличный документ и количество экземпляров.
вот собственно и все.
Заметки программиста 1с
воскресенье, 12 февраля 2017 г.
Вывод табличного документа в общую форму «ПечатьДокументов» БСП
&НаКлиенте
Процедура Печать(Команда)
ТабДок = НапечататьНаСервере(); //Наш таличный докумен (Возвращается из функции)
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(«Макет»);
ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, «Макет»);
ПечатнаяФорма.ТабличныйДокумент = ТабДок;
КлючУникальности = Строка(Новый УникальныйИдентификатор);
ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);
ПараметрыОткрытия.ПараметрКоманды = Новый Массив; ПараметрыОткрытия.ПараметрыПечати = Новый Структура;
ПараметрыОткрытия.Вставить(«КоллекцияПечатныхФорм», КоллекцияПечатныхФорм);
ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ВладелецФормы, КлючУникальности);
КонецПроцедуры
1 комментарий:
КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
КоллекцияПечатныхФорм.Колонки.Добавить(«ИмяМакета»);
КоллекцияПечатныхФорм.Колонки.Добавить(«ИмяВРЕГ»);
КоллекцияПечатныхФорм.Колонки.Добавить(«СинонимМакета»);
КоллекцияПечатныхФорм.Колонки.Добавить(«ТабличныйДокумент»);
КоллекцияПечатныхФорм.Колонки.Добавить(«Экземпляров»);
КоллекцияПечатныхФорм.Колонки.Добавить(«Картинка»);
КоллекцияПечатныхФорм.Колонки.Добавить(«ПолныйПутьКМакету»);
КоллекцияПечатныхФорм.Колонки.Добавить(«ИмяФайлаПечатнойФормы»);
НовСТР = КоллекцияПечатныхФорм.Добавить();
НовСТР.ИмяМакета = «СчетЗаказ»;
НовСТР.ИмяВРЕГ = «СЧЕТЗАКАЗ»;
НовСТР.Экземпляров = 1;
ОбъектыПечати = Новый СписокЗначений;
ПараметрыОтправки = Новый Структура;
ПараметрыОтправки.Вставить(«Получатель»,Неопределено);
ПараметрыОтправки.Вставить(«Текст»,»»);
ПараметрыОтправки.Вставить(«Тема»,»»);
ПараметрыВывода = Новый Структура;
ПараметрыВывода.Вставить(«ДоступнаПечатьПоКомплектно», Ложь);
ПараметрыВывода.Вставить(«ПараметрыОтправки»,ПараметрыОтправки);
Программирование в 1С для всех
В массе своей, в прикладных задачах нужно вывести на печать какие-либо данные оформленные нужным образом (например, счет, торговую накладную, акт сверки и т.п.). Для вывода на печать в 1С 8.3. можно использовать табличные документы. В предыдущей статье я показал, как создать макет табличного документа и как правильно его оформить. Нам осталось научиться заполнять его данными и выводить на просмотр для последующей печати. Материал по выводу табличного документа на печать, я решил разбить на две части. В первой части мы разберем простой пример (я бы назвал его учебным), а во втором случае реализуем пример приближенный к реальному. Эта статья — первая часть, в ней мы реализуем простой пример: будем выводить табличный документ на печать, используя команду управляемой формы. Этот вариант имеет следующий недостаток: нельзя вывести печатную форму из списка документов, можно это сделать, только открыв форму документа. Для того, чтобы можно было вывести печатную форму из списка документов, необходимо создать команду документа. Этот вариант мы рассмотрим в следующей статье.
И так, сам макет документа мы уже создали, как это сделано, вы можете узнать в соответствующей статье.
Сейчас мы получим ранее созданный макет, заполним табличный документ 1С по этому макету, и нам останется вывести табличный документе 1С на просмотр для последующей печати.
Мы сделаем упрощенный (учебный) вариант: формирование всего нашего табличного документа будет осуществляться на модуле управляемой формы. Для этого мы на форме документа создадим команду «ПечатьДокумента», которую разместим в командной панели формы.
Для команды ПечатьДокумента создадим два обработчика в клиентском и серверном контексте.
Серверный обработчик переименуем в функцию, в нем мы создадим программно табличный документ 1С, который она и будет возвращать.
Теперь нужно получить макет, созданный в предыдущей статье, для этого мы будем использовать метод менеджера документа ПолучитьМакет.
Имейте в виду, что метод ПолучитьМакет напрямую доступен только или в модуле документа, или в модуле менеджера документа. Еще этот метод можно применить, используя менеджер конкретного объекта, как я сделал выше. Непосредственно на форме его использовать нельзя!
Алгоритм заполнения табличного документа будет следующим: мы будем получать нужную область макета, если необходимо заполнять эту область какими-нибудь данными, а потом выводить полученную область в табличный документ.
Напомню, что макет у нас имеет четыре области: Шапка, ШапкаТаблицы, СтрокаТаблицы, Подвал. Области Шапка, ШапкаТаблицы и Подвал будут выведены в табличный документ всего один раз, а область СтрокаТаблицы будет выведена столько раз, сколько строк в табличной части обрабатываемого документа.
Весь код ниже я выполняю между кодом получения макета и возвратом табличного документа.
Получим самую первую область макета, при помощи метода ПолучитьОбласть, где в качестве параметра следует указать название получаемой области.
В этой области мы используем шаблон, в котором имеются два параметра: НомерДок и ДатаДок передадим номер документа и дату документа в соответствующие параметры области, используя свойство Параметры нужной нам области. Данное свойство содержит коллекцию параметров табличного документа, и мы можем обращаться к нужному параметру через оператор «.».
Мы закончили с областью Шапка, и нам нужно вывести её в табличный документ, делается это при помощи метода Вывести табличного документа, где в качестве параметра указывается выводимая область.
Точно также получим область, которая соответствует шапке таблицы, заполнять его не нужно, а мы просто выведем его сразу же в табличный документ.
Следующим шагом выведем область СтрокаТаблицы, причем эта область должна быть выведена столько раз, сколько строк в табличной части документа. Поэтому мы сначала получим эту область, а потом циклом будем обходить табличную часть, заполнять параметры области и выводить область в табличный документ.
В коде выше, мы обошли табличную часть документа, обратившись к ней через основной реквизит Объект управляемой формы (основной формы документа).
Обратите внимание, я использовал метод Заполнить, потому что названия параметров макета совпадают с названиями реквизитов табличной части документа.
Нам осталось получить область Подвал и вывести её в табличный документ.
На этом мы закончим работать с функцией на сервере, весь ее код будет выглядеть следующим образом.
Нам осталось доделать клиентскую процедуру ПечатьДокумента: мы будем выводить на просмотр полученный табличный документ при помощи метода табличного документа Показать().
В качестве первого параметра метода Показать, я указал название, которое выйдет на форме табличного документа.
Проверим, как работает наш код.
Напомню, что я рассмотрел самый простой (учебный) пример вывода печатной формы, следующие примеры будут более приближенные к реальным.
Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
Промо-код на скидку в 15% — 48PVXHeYu