добавить в коллекцию печатных форм

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

Это коротенькая статья-заметка для тех, кому необходимо, не углубляясь в детали, вывести табличный документ, сформированный любым способом в форме внешней обработки, в общую форму «Печать документов».

Есть несколько достаточно подробных статей на эту тему вывода в общую форму, например, вот эта: тыц

В моем случае мне потребовалось из формы внешней обработки вывести результат работы в табличный документ, сформированный там же, в модуле формы.

Итак от слов к делу:

Сам код формирования табличного документа оставляю за кадром. Но рабочий пример вывода можно скачать из этой публикации.

Скачать файлы

Специальные предложения

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

(11) В общем-то ничего особо сложного здесь нет.
Весь нужный для вывода печатной формы функционал, обеспечивает библиотека стандартных подсистем, которая реализована разработчиками 1С для облегчения программирования стандартных задач. Поэтому приведенный в статье код и выглядит вполне компактным.

Для того, чтобы табличный документ вывелся в общую форму, необходимо вызвать функцию «ПечатьДокументов» общего модуля «УправлениеПечатьюКлиент» передав в качестве параметры необходимые для этого данные, т.е. сам табличный документ и например количество экземпляров, которые нужно напечатать.

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

Источник

Алгоритм построения печатных форм в 1С: Управление торговлей 11. Часть 1.

Как и в предыдущей статье (//infostart.ru/public/179398/), для анализа конфигурации я буду использовать ментальные карты. А именно: редактор ментальных карт xMind ( www.xmind.net ) и, собственно для анализа конфигурации, плагин к нему «Анализатор кода 1С» ( www.codeanalyzer.ru ).

Начнём с формулировки задачи. Используем типовую конфигурацию УТ 11.0.7.19.

Зайдём в конфигурацию под администратором. Перейдём в раздел «Продажи» и выберем на панели навигации команду «Документы продажи». Откроется список документов.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Нам необходимо разобраться, как формируется меню «Печать», какие процедуры отвечают за непосредственную печать и как добавить в него внешнюю печатную форму.

Отмечу, что такое же меню отображается в форме документа «Реализация товаров и услуг».

Откроем конфигуратор, найдем документ «РеализацияТоваровУслуг». Видим, что у него есть две параметризуемые им же команды и расположение у них – «Командная панель формы.Печать», т.е. то, где отображаются все печатные формы.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Откроем форму документа. Посмотрим на список параметризуемых объектом глобальных команд. Видим, что помимо команд документа, используются команды обработок « ПечатьОбщихФорм», « ПечатьТранспортнойНакладной» и других. У всех этих команд в качестве параметра присутствует ДокументСсылка.РеализацияТоваровУслуг и в группе указано меню «Печать» командной панели формы.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Также, если мы посмотрим на доступность этих команд по ролям, то увидим, что для роли «ПолныеПрава» (которая назначена администратору) право «Просмотр» установлено.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Два этих фактора определяют тот факт, что команды появляются в подменю печати командной панели формы документа.

Теперь разберёмся с обработчиками. Сначала обобщим рассматриваемые команды печати:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Откроем обработчик любой из этих команд. Увидим схожий вызов УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(…)

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Если проанализировать все вызовы этой процедуры, то увидим, что она вызывается практически из всех команд конфигурации, отвечающих за печать. В частности, из обработки «ПечатьОбщихФорм» и нашего документа.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

При этом, в качестве параметров «ВыполнитьКомандуПечати()» принимает:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

И передает их в вызов «ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов». )»

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Посмотрим на модуль общей формы «ПечатьДокументов»

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

В коде ПриСозданииНаСервере(. ) есть условие, определяющее, что если есть параметр «ИсточникДанных», то печатаем внешнюю печатную форму, иначе – встроенную.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Посмотрим, что вызывается в «УправлениеПечатьюПереопределяемый.ПечатьПоВнешнемуИсточнику(…)»

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Таким образом, по переданному параметру «ИсточникДанных» получается объект внешней обработки и затем, вызывается её метод «Печать». Интересен вызов «ПолучитьОбъектВнешнейОбработки()», который приводит нас к справочнику «ДополнительныеОтчетыИОбработки».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Теперь посмотрим на печать встроенной печатной формы (это если параметр «ИсточникДанных» не был передан).

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

То есть, получаем менеджер объекта и вызываем его метод «Печать».

Менеджер получается вот так:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

В итоге видим, что формирование табличного документа по макету происходит в соответствующих процедурах модуля менеджера реализации товаров. Затем табличный документ добавляется в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Для общей формы «ПечатьОбщихФорм» модуль менеджера будет выглядеть так:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Теперь вернёмся к общей форме «ПечатьДокументов». При создании на сервере была сформированна коллекция печатных форм. Печать же табличного документа происходит в «ПечатьВыполнить()».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Итак, мы выяснили как формируется список встроенных печатных форм, как происходит формирование и печать этих форм. Так же мы увидели, как происходит печать внешней печатной формы.

О том как добавляются в меню внешние печатные формы и какие требования (и почему) к ним предъявляются будет написано во второй части.

Источник

Формирование комплекта печатных форм в типовых конфигурациях для разнотипных документов

Введение

Ключевой особенностью типового механизма печати комплектов является то, что при печати комплекта типовая конфигурация отталкивается от конкретного документа и компоновать печатные формы можно именного этого объекта. Скажем если нам надо печатать Накладную и Торг12 в комплекте для реализации проблем нет, но если нам нужно печатать форму сопутствующего документа, например, Счета на оплату, то уже не получится воспользоваться печатной формой именно счета, для этого придется для документ Реализация товаров и Услуг реализовать печать Счета на оплату по документу основанию (счет или заказ), что сделано например в той же Бухгалтерии предприятия. Таким образом, если нужны печатные формы других документов, то необходима какая-либо связь между ключевым документом, для которого печатается комплект, и зависимыми документами, а также реализация соответствующей печатной формы для ключевого документа, но печатающая зависимый документ.

Данный подход, на мой взгляд, не очень удобен как раз из-за того, что необходимо реализовывать своего рода адаптеры для печатных форм сопутствующих документов. Ниже будет показано как на типовом механизме реализовать печать комплекта документов, формируя печатные формы от различных документов.

Основные моменты типового механизма печати

В общем случае процесс печати комплектов происходит так: выбирается объект (реализация, счет), настраивается комплект печати в форме НастройкаПечатиКомплекта, где выбираются Команды печати, и эта информация передается в форму ПечатьДокументов, которая и вызывает все необходимые процедуры по формированию печатных форм, подготавливает Коллекцию печатных форм, собирает их в комплекты и выводит на печать. Основные объекты:

1. Команды печати, которые указывают какую форму необходимо реализовать и какой объект (обработчик) будет это делать. Например, для каждого документа в типовых конфигурациях в модуле менеджера есть экспортная процедура ДобавитьКомандыПечати, которая и указывает команды печати для документа. Пример из документа реализации ;

2. Общая форма НастройкаПечатиКомплекта, в которой можно указать, какие и в каком количестве печатать формы.Особенность этой формы в том, что она при создании собирает все имеющиеся формы для конкретно указанного объекта при открытии, поэтому воспользоваться ей не удастся и придется подобную форму реализовывать самим.

3. Общая форма ПечатьДокументов, где происходит вывод всех подготовленных форм. Данная форма реализована уже более универсально в отличии от НастройкаПечатиКомплекта и может приниматься как информацию о выбранных Командах печати для однотипных объектов и в дальнейшем вызывать весь необходимый код для их формирования, так и получаться уже подготовленный список любый Табличных документов и выводить их. Как раз то, что нужно и этот объект не придется переделывать.

Реализация формы настройки комплектов печати

Уже было отмечено, что типовой формой НастройкаПечатиКомплекта не воспользоваться и необходимо делать свою. По сути она очень простая: выводить необходимый нам список элементов и возвращает выбранные элементы. В получении списка Команд печати объекта поможет функция УправлениеПечатью.КомандыПечатиФормы, которая принимает имя формы, для которого определяется Команда печати. Имена формы могут быть различные, но практически все команды включаются для списка и имени формы «ФормаСписка».

Получение списка команд для интересующих нас объектов можно получить так:

структура Команды печати выглядит следующим образом:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Для формы выбора на по сути нужно Представление печатной формы и УникальныйИдентификатор, чтобы после выбора нужных форм найти необходимую Команду печати. Примерный вид формы, который получился:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Реализация печати

Как отмечалось ранее, общая форма ПечатьДокументов, сама формирует табличные документы, но только для одного типа метаданных, поэтому сформировать эти печатные формы предстоит самим, опять же с помощью уже имеющейся функции в конфигурации УправлениеПечатью.СформироватьПечатныеФормы. Причем в качестве параметров ей передаются данные из полученных ранее команд печати, примерный код для однотипных данных такой:

Полученная переменная ПечатнаяФорма содержит в себе структуру, которую можно уже передавать в общую форму ПечатьДокументов и получить результат. Однако нам надо собрать данные от разнотипных данных и собрать потом все это в одну переменную и передать уже в форму печати. Разберем структуру переменной ПечатнойФормы

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Ключевыми тут являются два параметра КоллекцияПечатныхФорм и ОбъектыПечати, причем они связаны между собой следующим образом: список ОбъектыПечати содержит в себе информацию о привязки печатаемого документа к области печати Табличного документа. То есть результат печати одной печатной формы нескольких однотипных объектов состоит в том, что формируется один Табличный документ, который содержит в себе столько областей сформированных форм, сколько документов печатается, а соответствие этих областей к документам указано в переменной ОбъектыПечати. Ниже показаны области Табличного документа из переменной КоллекцияПечатныхФорм:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Таким образом, типовой механизм формирует коллекцию печатных форм и по объекту печати группирует сформированные печатные формы, которые представляют собой области в табличном документе с тем же именем, что и в объектах печати или по-другому, для одного печатаемого документа есть псевдоним, например, Документ_1, в различных сформированных табличных документах есть для него печатная форма с именем области Документ_1.

Приходим к следующему:

1. Формируем печатные формы для комплекта по всем входящим в комплект документ, в нашем случае Счет, Реализация и Акт сверки.

2. Собираем полученные печатные формы в одну КоллекцияПечатныхФорм и все документы в ОбъектыПечати при этом необходимо вести свою нумерацию областей Документ_* и соединять все полученные табличные документ в один. Группировка табличных документов производится по одному объекту-документы, в моем примере их 3-и, придется из них выбрать один, в данном случае не важно какой, важно чтобы он был один и тот же для всех своих областей, из которых и сложится комплект печати.

3. Передаем полученные параметры в общую форму ПечатьДокументов и получаем результат.

Результат работы в типовой форме печати:

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

В приложенной к статье обработка демонстрирует описанный подход на примере трех документов (счет, реализация, акт сверки) печать комплектов печатных форм в конфигурации Бухгалтерия предприятия 3.0.57. Тестировал так же на Управлении торговлей 11.4.2 немного видоизмененный вариант в части документов (документ счет и акт сверки называется отлично от конфигурации БП).

Источник

1С коллекция печатных форм

По такому алгоритму она формировалась

Если выводить отдельно данную печатную форму, то все работает корректно, даже при печати комплекта. Но вот в паре с другой печатной формой, данная ВПФ не выводилась на печать.

После анализа процедуры печати комплекта документов, выяснилось. Что в каждый табличный документ, для печатных форм, которые выводятся, добавлялась новая область, которая называлась, как синоним объекта печати — параметра передаваемого в функции.

Для добавления такой области в нашу печатную форму, достаточно использовать вот такую процедуру.

После добавления данного кода в функцию получения табличного документа, данная ВПФ успешно распечаталась при печати комплекта документов.

Рассмотрим написание простейшей внешней печатной формы в 1С 8.3 для управляемого приложения на примере конфигураций Бухгалтерия 3.0 и Управление торговлей 11 (данная печатная форма будет работать в обоих этих конфигурациях).

Например нам требуется написать внешнюю печатную форму к документу Реализация товаров и услуг: вывести основные данные документа, а так же из табличной части Товары: номенклатуру, цену, количество и сумму.

Создание внешней обработки

В конфигураторе 1C Предприятия 8 создаем внешнюю обработку (Файл->Новый->Внешняя обработка), задаем имя, добавляем реквизит Документ с типом ДокументСсылка.РеализацияТоваровУслуг, он не является обязательным для работы печатной формы, но пригодится нам для ее регистрации в базе.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Создание макета печатной формы

Добавляем новый макет, тип макета оставляем Табличный документ. На макете создаем три области: Шапка, Данные и Подвал. Сделать это можно выделив нужное количество строк и нажав меню Таблица->Имена->Назначить имя (Ctrl+Shift+N).

После этого начинаем располагать в областях текст и параметры. В шапку выведем название печатной формы, номер документа и организацию, а также нарисуем границы шапки таблицы и напишем имена колонок. При создании параметра в свойствах ячейки, на закладке макет следует установить свойство Заполнение в значение Параметр.

В области Данные создадим параметры для вывода строк табличной части(Номенклатура, цена и т.д.), а в области Подвал для итогов по количеству и сумме.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Программирование

Зайдем в модуль объекта печатной формы Действия->Открыть модуль объекта.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Теперь в модуле объекта следует создать обязательную функцию СведенияОВнешнейОбработке(). Она необходима для регистрации печатной формы в справочнике ДополнительныеОтчетыИОбработки, в ней собирается структура с данными для подключения формы. Эта функция, а также ряд сопутствующих ей, практически одинаковы для всех печатных форм, поэтому их можно просто копировать в новую печатную форму ничего не меняя.

Рассмотрим содержание функции СведенияОВнешнейОбработке(). Для начала создадим ее в модуле:

Создадим структуру ПараметрыРегистрации в которой и будут храниться все данные необходимые для регистрации.

Создадим массив МассивНазначений в котором будут храниться наименования документов и справочников из которых будет производиться печать.

Наименование нашей печатной формы запишем в переменную Наименование, для того что бы не прописывать его в ручную вынесем получение наименования в отдельную функцию, которая будет получать его из представления внешней обработки.

А теперь заполним переменную.

Заполним МассивНазначений используя реквизит внешней обработки Документ. Также вынесем получение элемента массива в отдельную функцию.

А теперь добавим полученные данные в массив.

Конечно этот метод не является правильным для случая, когда у вас несколько назначений, но для одного вполне годится.

Приступим к заполнению структуры ПараметрыРегистрации.

Вид внешней обработки, может быть: ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов, ПечатнаяФорма и т.д.

Назначение заполним уже полученным массивом:

Наименование из уже заполненной переменной:

Номер версии можно поставить любой по желанию:

Безопасный режим не даст печатной форме вносить изменения в базу данных. Но она у нас вполне безобидна =), поэтому ставим значение Ложь.

В поле Информация вносим описание печатной формы для пользователя. Запишем туда Наименование.

Приступим к созданию команды, которая необходима для вывода на печать нашей печатной формы. Опишем колонки ТаблицыКоманд, вынеся это в отдельную функцию.

Вызовем сознанную функцию.

Добавим команду печати, вынеся этот процесс в отдельную функцию:

Параметры функции ДобавитьКоманду:

Вызов функции выглядит так:

Осталось передать заполненную таблицу команд в ПараметрыРегистрации:

И возвратить их из функции:

На этом создание функции СведенияОВнешнейОбработке() завершено, все параметры необходимые для регистрации печатной формы собраны. Вот полный код этой и сопутствующих функций:

Приступим к написанию кода, который будет формировать нашу печатную форму. Так как при создании команды печати мы использовали параметр ВызовСерверногоМетода, то в модуле объекта создаем обязательную серверную процедуру Печать(если использовать ВызовКлиентскогоМетода, то процедура Печать должна быть клиентской и располагаться в модуле основной формы обработки).

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

В функции создадим переменную для табличного документа, в который будет выводится печатная форма, получим макет и области макета.

Для того чтобы получить строки табличной части Товары всех печатаемых документов используем запрос.

В параметр запроса передаем МассивОбъектов, что бы указать в условии ГДЕ, что нам нужны данные только тех документов из которых выводим печатную форму. Чтобы получить выборку запроса, сначала выполняем его, а затем выгружаем.

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

В данном цикле начнем формирование печатных форм каждого из документов.

Заполним параметры шапки и выведем ее в табличный документ.

Из полученной запросом таблицы значений ОбщаяВыборка выберем строки только по текущему документу, для этого сформируем структуру отбора. Поле структуры должно называться также, как и поле таблицы по которому осуществляется поиск.

Теперь отберем нужные строки используя метод НайтиСтроки( ) и получим выборку по документу.

Заполним и выведем область Подвал.

Для того что бы печатная форма каждого документа выводилась на отдельном листе, поставим горизонтальный разделитель.

Возвращаем заполненный табличный документ из функции ПечатьФормы.

Код функции ПечатьФормы целиком:

Теперь осталось добавить сформированный табличный документ Коллекцию печатных форм. Для добавления табличного документа в коллекцию можно воспользоваться типовой процедурой ВывестиТабличныйДокументВКоллекцию из модуля УправлениеПечатью(процедура есть и в Бухгалтерии 3.0и в Управление торговлей 11). В параметры этой процедуры необходимо передать:

Для параметров ИмяМакета и СинонимМакета используем уже созданные нами процедуры, которые использовались для заполнения сведений о внешней обработки. Таким образом процедура Печать будет выглядеть следующим образом:

Обратите внимание, что для заполнения параметра ТабличныйДокумент вызывается функция ПечатьФормы, которая описана выше.

На этом создание печатной формы в управляемом приложении завершено, файл с ней доступен можно скачать по ссылке. О том, как подключить печатную форму к документу будет рассказано в следующей статье.

Смотрите видео по созданию внешней печатной формы для управляемого приложения:

Любой документ в 1С мы можем распечатать. Преобразовать сформированный документ в печатную форму нам позволяет макет печатной формы. Это своего рода шаблон печатной формы документа, который создается с помощью конструктора и напоминает таблицу Excel.

В программах 1С, работающих в режиме управляемых форм, пользователь имеет возможность самостоятельно изменять печатную форму документа и производить редактирование макета печатной формы. Он может изменять ее внешний вид (шрифт, линии таблиц и т.п.), добавить свой логотип и т.д., не затрагивая конфигурацию программы.

Рассмотрим на примере программы 1С:Бухгалтерия предприятия версии 3.0, что такое печатный макет в 1С, как его можно просмотреть, изменить и возможна ли настройка макета.

Как изменить макет печатной формы в 1С 8.3

Создадим для примера документ «Реализация (акт, накладная)» (раздел меню «Продажи») и посмотрим печатную форму накладной.

Предположим, мы хотим изменить печатную форму и добавить логотип нашей организации. Кроме утвержденных обязательных реквизитов организация вправе вносить изменения, сохраняя утвержденную форму документа. Логотип не входит в число обязательных реквизитов, но организация имеет право его добавить. Выбрав нужную печатную форму (кнопка «Печать» документа), нажимаем кнопку «Еще». В не мы видим два пункта «Изменить макет» и «Перейти к макетам форм».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Выбрав команду «Перейти к макетам форм», мы увидим весь перечень макетов печатных форм имеющихся в программе. Для удобства просмотра можно включить отбор – стандартные макеты (без изменений), используемые или неиспользуемые с внесенными изменениями, все макеты с изменениями.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Для просмотра и редактирования выберем команду «Изменить макет». Перед нами откроется макет печатной формы, который мы можем редактировать. Как видим, большинство полей формы заданы определенными командами, с помощью которых осуществляется заполнение формы. Разработчик предупреждает, что изменение этих имен областей и параметров, может привести к потере работоспособности печатной формы – изменять их нельзя. Используя кнопки на панели инструментов, мы можем изменить начертание шрифта, выравнивание текста, определить линии границ таблицы и другие изменения внешнего вида формы, которые не повлияют на ее работоспособность. Работа с макетом печатной формы схожа с работой в таблице Excel.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Если линии в печатной форме нам мешают, то, выделив фрагмент, мы можем их убрать, через кнопку «Границы» установив «Нет границы». Если не мешают, можно оставить, рисунок расположится сверху.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Для того чтобы вставить картинку, зайдем в кнопку «Еще» и выберем команду «Картинка» в пункте меню «Рисунок».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

В открывшемся окне, нажав кнопку «Выбрать из файла» указываем наш логотип.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Рисунок перенесся в форму. Используя маркеры на краях рисунка, мы можем изменить его размер. Если какое-то действие не получается, с помощью комбинации клавиш мы можем отменить или вернуть выполненной действие: Ctrl+Z – отменить действие, Ctrl+Y – вернуть действие.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Наш логотип вставился в рамке. Нажмем правой кнопкой на картинке и выберем пункт меню «Свойства».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

В этом окне можно задать параметры нашего объекта. В нашем случае убираем рамку: «Стиль линии» — «Без линии». Если нам нужно будет убрать фон, установить прозрачный, то соответственно в этом разделе: «Цвет фона» — «Узор», мы должны установить – «Нет заливки».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Следует обратить внимание, что рисунок должен размещаться строго между двумя красными горизонтальными линиями! Иначе его просто не будет видно в нашей форме. Для этого мы немного раздвинули строки формы. Нажимаем кнопку «Записать и закрыть» и проверяем наш результат.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

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

Если мы зайдем в раздел «Перейти к макетам печатных форм» в кнопке «Еще», то увидим, что у измененного нами макета печатной формы сбоку нарисован зеленый карандаш – форма изменена. Если нужно вернуться к исходному макету, то можно нажать кнопку со стрелочкой «Использовать стандартный макет».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Карандашик станет черно-белым, и при печати будет использована стандартная форма документа.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Если нужно полностью удалить сделанные нами изменения, нажмем кнопку с красным крестиком. Карандашик исчез – изменения макета удалены.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

В программе есть и другой способ отображения логотипа в документах, используя настройки организации, но он применим только к печатной форме документа «Счет на оплату». Установив форму логотипа в параметрах организации («Главное» — «Настройки» — «Организации») в разделе «Логотип и печать», он будет отображаться в документе «Счет на оплату».

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Рисунок автоматически вставляется в макет печатной формы.

Параметры и шаблон макета

На примере программы автоматизации бухгалтерского налогового учета на базе 1С рассмотрим еще один макет документа «Накладная» в разделе меню «Администрирование» — «Печатные формы, отчеты и обработки» — «Макеты печатных форм». При работе с макетом обратите внимание, что ячейки макета содержат не только текст, но и имена параметров, заключенные в такие скобки — <>. С помощью параметра макета в ячейку можно выводить различные данные, при этом значения параметров должны быть указаны в модуле программы.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Так, пользователь сам может добавить в макет документа какие-то значения, используя параметры. Чтобы сориентироваться в параметрах, можно просто просмотреть макеты других документов. Например, чтобы в ячейку выводился артикул, товар или цена, достаточно указать название этого параметра в ячейке.

Нажав на ячейке с параметром правой кнопкой мышки и выбрав команду «Свойства», мы можем просмотреть настройки данной ячейки.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Мы видим, что значение у выбранной ячейки — параметр. Кроме текста и параметра в макете можно задать шаблон для ячейки, при этом в свойствах должно быть указано, что это шаблон. Используя шаблон, мы можем комбинировать текстовые значения и параметры. Для этого в значении ячейки товара укажем, что это шаблон, а в поле «Текст» необходимо задать значение шаблона, используя квадратные скобки при указании параметра.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Сохранив макет, мы видим рядом пиктограмму карандашик – макет изменен.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Открываем нашу печатную форму накладной и видим, что в ячейке приписан наш текст.

добавить в коллекцию печатных форм. добавить в коллекцию печатных форм фото. картинка добавить в коллекцию печатных форм. смотреть фото добавить в коллекцию печатных форм. смотреть картинку добавить в коллекцию печатных форм.

Таким же образом в макет печатной формы мы можем просто добавлять произвольный текст, применяя к нему форматирование. При использовании шаблона мы не можем применить несколько вариантов форматирования в одной ячейке, т.е. оформление будет применено ко всей ячейке.

Из примеров мы видим, что пользователю предоставлена возможность изменения макета при необходимости. Если нам необходимо создать новую печатную форму или создать макет внешней печатной формы, то эти действия производятся уже в режиме «Конфигуратор», а в пользовательском режиме доступны небольшие изменения имеющихся макетов печатных форм.

Если у вас остались вопросы, связанные с изменением макетов, звоните, а также оставляйте заявки на нашем сайте. Наши специалисты по сопровождению 1С свяжутся с вами в кратчайшие сроки.

Источник

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

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