как добавить внешнюю печатную форму в комплект документов при печати
[ Вопрос дня ] Как добавить печатную форму в комплект документов для печати в УТ 11.4?
Как известно, с ноября 2019 года экзамен “1С:Специалист” по конфигурированию и внедрению прикладного решения “1С:Управление торговлей 8” принимается по новому сборнику задач для редакции УТ 11.4.
Содержание сборника переработано примерно на четверть. Уже весной этого года на нашем проекте планируется выход обновленного курса по подготовке к данной сертификации, ну а пока служба поддержки отвечает на вопросы слушателей по обеим редакциям сборника.
Вопрос
Ответ
Это означает, что Вы обязательно должны включить вашу внешнюю печатную форму в комплект документов. Печать комплекта документов позволяет печатать сразу несколько печатных форм.
Печать комплекта вызывается командой Комплект документов с настройкой или Комплект документов на принтер из подменю печати.
Включить новую печатную форму в комплект можно через специальный параметр команды печати ДополнитьКомплектВнешнимиПечатнымиФормами. Например, для того, чтобы добавить новую внешнюю печатную форму Заказ клиента (себестоимость), разрабатываемую в рамках одного из занятий курса, нужно установить значение параметра ДополнитьКомплектВнешнимиПечатнымиФормами в значение Истина.
В результате новая печатная форма “Заказ клиента (себестоимость)” попадет в список форм, отражаемых в форме “Печать комплекта документов”.
Если параметр ДополнитьКомплектВнешнимиПечатнымиФормами не указан, то внешние печатные формы не добавляются в комплект.
Подробнее про параметры команды печати можно почитать вот тут Разработка команд печати.
Комментарии / обсуждение (11):
В УТ 11 без указания ДополнитьКомплектВнешнимиПечатнымиФормами моя форма попала в “Комплект документов с настройками” только флаг не стоит и количества нет.
Как сделать, чтобы флаг выставился и количество было = 2 сразу и можно ли расширением убрать из комплекта типовую печатную форму?
Добрый день!
Здесь все зависит от версии БСП, на базе которой работает используемая вами конфигурация УТ. Посмотреть версию БСП можно через Функции технического специалиста – Регистры сведений – Версии подсистем.
я не добавлял никаких таких строчек. но у меня всеравно документ отображался в комплекте. в чем прикол? вот моя функция сведений о внешке
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(“2.3.1.73”);
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Версия = “1.0”;
ПараметрыРегистрации.Назначение.Добавить(“Документ.РеализацияТоваровУслуг”);
ПараметрыРегистрации.Наименование = “ABC 2.18”;
ПараметрыРегистрации.Информация = “Печатная форма ABC 2.18”;
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр(“ru = ‘ABC 2.18′”);
Команда.Идентификатор = “ABC 2.18”;
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Команда.ПоказыватьОповещение = Ложь;
Возврат ПараметрыРегистрации;
КонецФункции
ПС – руками ничего не добавлял. просто подключил внешнюю обработку и она сразу и в комплекте была и печаталась там и т д ит п
Добрый день!
Значит в БСП произошли изменения. На последних версиях БСП печатная форма появляется в комплекте автоматически.
Добрый день!
А как установить порядок у внешней печатной формы?
К примеру : Товарная накладная (ТОРГ-12)//типовая
Товарная накладная (ТОРГ-12) с услугами //типовая
Товарная накладная (ТОРГ-12) в валюте// впф,
сейчас впф располагается 6 ой в списке
Добрый день!
Тогда Вам нужно поработать с параметром команды печати Порядок (тип Число). В документации по БСП 3.0.2. указано, что “Сортировка команд меню Печать осуществляется сначала по полю Порядок, затем по представлению”.
Добрый день!
Насколько я знаю у внешней печатной формы в командах и параметрах регистрации нет параметра команды “Порядок”, я уже пробовал выдает ошибку, что поле “Порядок” не найдено
Добрый день!
Нужно сформировать структуру таблицы команд:
Добрый день. Не работает через “Порядок”.
90 – это порядок стандартной Накладной на отпуск материалов на сторону (М-15).
ДобавитьКоманду(ТаблицаКоманд,
НСтр(“ru = ‘Накладная на отпуск материалов на сторону М15 (без цены)’”),
“М15_Безцены”,
“ВызовСерверногоМетода”,
Истина,
“ПечатьMXL”, 91); // 91 потому что хочу поместить команду после стандартной с порядком 90
Функция СформироватьСтруктуруТаблицыКоманд()
ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить(“Представление”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“Идентификатор”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“Использование”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“ПоказыватьОповещение”, Новый ОписаниеТипов(“Булево”));
ТаблицаКоманд.Колонки.Добавить(“Модификатор”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“ЗаменяемыеКоманды”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“Порядок”, Новый ОписаниеТипов(“Число”));
Возврат ТаблицаКоманд;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = “”, Порядок)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
НоваяКоманда.Порядок = Порядок;
КонецПроцедуры
Так же нашел функцию в конфигураторе:
Общие модули – УправлениеПечатью – Функция СоздатьКоллекциюКомандПечати()
// Создает пустую таблицу с описанием команд печати.
// Таблица команд печати передается в процедуры ДобавитьКомандыПечати,
// размещенные в МОДУЛЯХ МЕНЕДЖЕРОВ ОБЪЕКТОВ конфигурации.
Как добавить внешнюю печатную форму в комплект документов при печати
Добавляем внешнюю печатную форму в «Комплект документов с настройкой».
Допустим, в конфигурации присутствует внешняя печатная форма «Счёт на оплату изменённый», назначенная документу «Реализация товаров и услуг». Предположим, что возникла необходимость добавить внешнюю печатную форму в «Комплект документов с настройкой», чтобы можно было выводить нашу внешнюю печатную форму в комплекте с другими формами.
Когда я в первый раз столкнулся с такой задачей, то у меня получилось не сразу. Я открыл форму документа «Реализация товаров и услуг», выбрал в меню «Печать» пункт «Комплект документов с настройкой» и. не обнаружил в списке доступных печатных форм нужную мне форму. Хотя в модуле объекта внешней печатной формы указано назначение:
Также в настройках печатной формы указано, что она размещена в документе «Реализация товаров и услуг». Однако в форме «Комплект документов с настройкой» она была не видна.
Я подумал, что для внешних печатных форм нужно что-то программировать в конфигураторе, стал искать задействованные процедуры и функции. В коде увидел, что внешние печатные формы всё-таки должны подтягиваться в форму «Комплект документов с настройкой».
В результате поисков и проб удалось решить проблему самым простым образом. В меню ««НСИ и администрирование» → «Печатные формы, отчёты и обработки» → «Настройки печати объектов»» я удалил настройку для документа «Реализация товаров и услуг», и после этого моя внешняя печатная форма появилась в списке формы «Комплект документов с настройкой».
Добавление внешней печатной формы в базу
Из данной статьи вы узнаете о том, как подключить внешнюю печатную форму к 1С:Предприятие 8.2
Для БП 2.0, ЗУП 2.5, УТ 10.3, КА 1.1, УПП 1.3.
Заходим в Сервис->Дополнительные отчеты и обработки->Дополнительные внешние печатные формы.
Открылась форма списка справочника с внешними печатными формами. В верхнем меню списка нажимаем Добавить. Появляется форма создания элемента справочника.
Нажимаем кнопку Открыть и выбираем файл с нужной печатной формой. После этого при необходимости задаем нужное имя (поле Наименование).
Если печатная форма содержит параметры авторегистрации, то всплывет сообщение по этому поводу. Нажимаем Да.Если же этого не будет, то необходимо самим указать к какому документу будет привязана данная форма.Для этого надо добавить строку в табличную часть «Принадлежность печатной формы», где в поле «Представление объекта» выбрать тот тип документа, к которому мы привязываем форму. Так как в нашем примере это акт списания материалов, то выбираем документ Требование-накладная.
Затем нажимаем ОК, чтобы сохранить изменения.
После этого заходим в любой документ Требование-накладная, нажимаем Печать, и выбираем только что добавленную форму.
Для БП 3.0, ЗУП 3.0, УТ 11, КА 2.0, ERP 2.0.
Для демонстрации добавления печатной формы в управляемом интерфейсе покажу добавление внешней формы счета на оплату к одноименному документу в Бухгалтерии 3.0.
Заходим в соответствующий раздел программы:
Необходимо, чтобы был включен признак использования внешних отчетов и обработок, переходим по гиперссылке в список внешних объектов:
В открывшемся списке нажимаем Создать:
В диалоговом окне выбираем нужный файл:
Заполнилась карточка внешнего объекта: в размещении видим тип объекта базы, к которому будет привязана форма и чуть ниже ее название:
Запишем и закроем форму созданного внешнего объекта.
Теперь зайдем в любой документ Счет на оплату покупателю и выведем меню печати:
Видим, что печатная форма добавилась успешно.
Буду вам очень благодарен, если поделитесь ссылкой на него на своей страничке в любой соцсети или подпишетесь на новости сайта в Инстаграме.
Это поможет сайту развиваться и расширять аудиторию.
Вас может заинтересовать
Расширение позволяет быстро накладывать отборы по номенклатуре в любых типовых и внешних отчетах программы согласно списка наименований из буфера обмена.
Групповое создание документов и заполнение табличной части выбранных документов Требование-накладная и документов комплектации из любых табличных файлов (Excel, dbf и.т.п).
Использование соглашений с клиентами и поставщиками. Корректировки, заказы, причины отмены заказов. Импорт и экспорт, комиссионная схема, графики оплаты.
Формирование комплекта печатных форм в типовых конфигурациях для разнотипных документов
Введение
Ключевой особенностью типового механизма печати комплектов является то, что при печати комплекта типовая конфигурация отталкивается от конкретного документа и компоновать печатные формы можно именного этого объекта. Скажем если нам надо печатать Накладную и Торг12 в комплекте для реализации проблем нет, но если нам нужно печатать форму сопутствующего документа, например, Счета на оплату, то уже не получится воспользоваться печатной формой именно счета, для этого придется для документ Реализация товаров и Услуг реализовать печать Счета на оплату по документу основанию (счет или заказ), что сделано например в той же Бухгалтерии предприятия. Таким образом, если нужны печатные формы других документов, то необходима какая-либо связь между ключевым документом, для которого печатается комплект, и зависимыми документами, а также реализация соответствующей печатной формы для ключевого документа, но печатающая зависимый документ.
Данный подход, на мой взгляд, не очень удобен как раз из-за того, что необходимо реализовывать своего рода адаптеры для печатных форм сопутствующих документов. Ниже будет показано как на типовом механизме реализовать печать комплекта документов, формируя печатные формы от различных документов.
Основные моменты типового механизма печати
В общем случае процесс печати комплектов происходит так: выбирается объект (реализация, счет), настраивается комплект печати в форме НастройкаПечатиКомплекта, где выбираются Команды печати, и эта информация передается в форму ПечатьДокументов, которая и вызывает все необходимые процедуры по формированию печатных форм, подготавливает Коллекцию печатных форм, собирает их в комплекты и выводит на печать. Основные объекты:
1. Команды печати, которые указывают какую форму необходимо реализовать и какой объект (обработчик) будет это делать. Например, для каждого документа в типовых конфигурациях в модуле менеджера есть экспортная процедура ДобавитьКомандыПечати, которая и указывает команды печати для документа. Пример из документа реализации ;
2. Общая форма НастройкаПечатиКомплекта, в которой можно указать, какие и в каком количестве печатать формы.Особенность этой формы в том, что она при создании собирает все имеющиеся формы для конкретно указанного объекта при открытии, поэтому воспользоваться ей не удастся и придется подобную форму реализовывать самим.
3. Общая форма ПечатьДокументов, где происходит вывод всех подготовленных форм. Данная форма реализована уже более универсально в отличии от НастройкаПечатиКомплекта и может приниматься как информацию о выбранных Командах печати для однотипных объектов и в дальнейшем вызывать весь необходимый код для их формирования, так и получаться уже подготовленный список любый Табличных документов и выводить их. Как раз то, что нужно и этот объект не придется переделывать.
Реализация формы настройки комплектов печати
Уже было отмечено, что типовой формой НастройкаПечатиКомплекта не воспользоваться и необходимо делать свою. По сути она очень простая: выводить необходимый нам список элементов и возвращает выбранные элементы. В получении списка Команд печати объекта поможет функция УправлениеПечатью.КомандыПечатиФормы, которая принимает имя формы, для которого определяется Команда печати. Имена формы могут быть различные, но практически все команды включаются для списка и имени формы «ФормаСписка».
Получение списка команд для интересующих нас объектов можно получить так:
структура Команды печати выглядит следующим образом:
Для формы выбора на по сути нужно Представление печатной формы и УникальныйИдентификатор, чтобы после выбора нужных форм найти необходимую Команду печати. Примерный вид формы, который получился:
Реализация печати
Как отмечалось ранее, общая форма ПечатьДокументов, сама формирует табличные документы, но только для одного типа метаданных, поэтому сформировать эти печатные формы предстоит самим, опять же с помощью уже имеющейся функции в конфигурации УправлениеПечатью.СформироватьПечатныеФормы. Причем в качестве параметров ей передаются данные из полученных ранее команд печати, примерный код для однотипных данных такой:
Полученная переменная ПечатнаяФорма содержит в себе структуру, которую можно уже передавать в общую форму ПечатьДокументов и получить результат. Однако нам надо собрать данные от разнотипных данных и собрать потом все это в одну переменную и передать уже в форму печати. Разберем структуру переменной ПечатнойФормы
Ключевыми тут являются два параметра КоллекцияПечатныхФорм и ОбъектыПечати, причем они связаны между собой следующим образом: список ОбъектыПечати содержит в себе информацию о привязки печатаемого документа к области печати Табличного документа. То есть результат печати одной печатной формы нескольких однотипных объектов состоит в том, что формируется один Табличный документ, который содержит в себе столько областей сформированных форм, сколько документов печатается, а соответствие этих областей к документам указано в переменной ОбъектыПечати. Ниже показаны области Табличного документа из переменной КоллекцияПечатныхФорм:
Таким образом, типовой механизм формирует коллекцию печатных форм и по объекту печати группирует сформированные печатные формы, которые представляют собой области в табличном документе с тем же именем, что и в объектах печати или по-другому, для одного печатаемого документа есть псевдоним, например, Документ_1, в различных сформированных табличных документах есть для него печатная форма с именем области Документ_1.
Приходим к следующему:
1. Формируем печатные формы для комплекта по всем входящим в комплект документ, в нашем случае Счет, Реализация и Акт сверки.
2. Собираем полученные печатные формы в одну КоллекцияПечатныхФорм и все документы в ОбъектыПечати при этом необходимо вести свою нумерацию областей Документ_* и соединять все полученные табличные документ в один. Группировка табличных документов производится по одному объекту-документы, в моем примере их 3-и, придется из них выбрать один, в данном случае не важно какой, важно чтобы он был один и тот же для всех своих областей, из которых и сложится комплект печати.
3. Передаем полученные параметры в общую форму ПечатьДокументов и получаем результат.
Результат работы в типовой форме печати:
В приложенной к статье обработка демонстрирует описанный подход на примере трех документов (счет, реализация, акт сверки) печать комплектов печатных форм в конфигурации Бухгалтерия предприятия 3.0.57. Тестировал так же на Управлении торговлей 11.4.2 немного видоизмененный вариант в части документов (документ счет и акт сверки называется отлично от конфигурации БП).
Внешние печатные формы в управляемых формах 1С 8.3
Доработка печатной формы документа — самая распространенная доработка системы 1С 8.3. Однако при разработке нового функционала приходится снимать конфигурации с поддержки поставщика, что влечет за собой сложности при дальнейшем сопровождении 1С.
Внимание! Если Вам необходима разработка печатных форм любой сложности, но Вы не технический специалист — просто обратитесь к профессионалам. Подробности на странице услуги 1С.
Чтобы избежать таких проблем, фирмой 1С был придуман специальный функционал — подсистема «Дополнительных отчетов и обработок«, которая входит в БСП. Данный функционал позволяет без изменений в конфигурации добавить новую печатную форму или заменить старую.
Механизм заключается в разработке программистом внешней обработки, в которой описан программный код, формирующий нужную печатную форму. Данную обработку необходимо просто загрузить в пользовательском режиме (1С предприятие) в базу данных.
Этот функционал не новый, он достаточно давно используется в типовых конфигурациях. В настоящий момент актуальна версия библиотеки стандартных подсистем версии 2.х, в которой инструменты построены на механизме управляемых форм.
Рассмотрим методику разработки и настройки внешних печатных форм для 1С (8.2 или 8.3) именно в управляемом приложении, и ниже Вы можете скачать полученную внешнюю печатную форму.
Если у Вас нет времени читать, можете просмотреть наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:
Пример создания внешней печатной формы в 1С 8.3
В нашем примере мы сделаем образец печатной формы «Счет» для документа «Реализация (акты, накладные)«.
Для начала создадим новую обработку и укажем в ней следующее:
1. Создадим экспортную функцию СведенияОВнешнейОбработке() в модуле объекта, укажем следующий код:
Формат возвращаемой структуры регламентирован, подробности можно узнать в разделах ИТС.
Они практически всегда одинаковы.
2. Вторым шагом необходимо создать экспортную процедуру Печать(), с помощью которой подсистема будет инициировать запуск печати из общих модулей подсистемы. Процедура содержит 4 параметра:
Процедура выглядит примерно следующим образом:
В ней формируется нужное количество табличных документов и готовится к печати. В нашем примере мы создадим функцию «СформироватьПечатнуюФорму()», которая будет возвращать табличный документ. Для примера мы предполагаем, что у нас всегда 1 печатная форма, поэтому передаём в функцию первый элемент массива (МассивОбъектов[0]).
Вот и всё, подготовительная часть обработки для внешней печатной формы в 1С 8.3 готова, осталось сделать непосредственно саму печатную форму в виде табличного документа, которую будет возвращать нужная функция.
Создание табличного документа
Подробно останавливаться на этом не будем, на эту тему есть большое количество материалов.
Представим лишь внешний вид макета нашего элементарного примера:
Подключение и тестирование ВПФ в 1С
В нашем примере мы запускаем конфигурации 1С Управление торговлей версии 11.1. Для добавления новой обработки необходимо в разделе «Администрирование» выбрать пункт «Печатные формы, отчеты и обработки». В нужном меню нужно нажать гиперссылку «Дополнительные отчеты и обработки» (если ссылка не активна, включите использование данного функционала — флаг расположен немного левее).
В открытом справочнике необходимо нажать на кнопку «добавить». Программа откроет диалоговое окно выбора файла, в котором необходимо указать файл разработанной нами ранее печатной формы. Если всё было сделано правильно, система автоматически заполнит все параметры, и останется только нажать кнопку «записать и закрыть»:
Как видно, параметры скопированы из функции «СведенияОВнешнейОбработке()».
Для того чтобы проверить работу обработки, необходимо в документе «Реализация товаров и услуг» открыть список печатных форм. В нём Вы уведите как «типовые» печатные формы, так и внешние, в том числе и наш добавленный:
При нажатии на команду система сформирует нужную нам форму:
Возможно, она не самая красивая, но как учебный пример, демонстрирующий работу в программе, вполне подойдет :).
Если у вас что-то не получается, рекомендую воспользоваться механизмом отладки внешних печатных форм.
Скачать получившийся пример внешней печатной формы можно по ссылке — ШаблонВнешнейПечатнойФормыБСП 2.0 (8.2).
Если Вам необходима разработка печатных форм любой сложности, но Вы не технический специалист — просто обратитесь к профессионалам. Мы предлагаем свои услуги на взаимовыгодных условиях. Подробности на странице 1С услуги.
Другие статьи по 1С:
Если вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.