1с печать комплекта документов внешняя печатная форма

1с печать комплекта документов внешняя печатная форма

Добавляем внешнюю печатную форму в «Комплект документов с настройкой».

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

Когда я в первый раз столкнулся с такой задачей, то у меня получилось не сразу. Я открыл форму документа «Реализация товаров и услуг», выбрал в меню «Печать» пункт «Комплект документов с настройкой» и. не обнаружил в списке доступных печатных форм нужную мне форму. Хотя в модуле объекта внешней печатной формы указано назначение:

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

Я подумал, что для внешних печатных форм нужно что-то программировать в конфигураторе, стал искать задействованные процедуры и функции. В коде увидел, что внешние печатные формы всё-таки должны подтягиваться в форму «Комплект документов с настройкой».

В результате поисков и проб удалось решить проблему самым простым образом. В меню ««НСИ и администрирование» → «Печатные формы, отчёты и обработки» → «Настройки печати объектов»» я удалил настройку для документа «Реализация товаров и услуг», и после этого моя внешняя печатная форма появилась в списке формы «Комплект документов с настройкой».

Источник

[ Вопрос дня ] Как добавить печатную форму в комплект документов для печати в УТ 11.4?

Как известно, с ноября 2019 года экзамен “1С:Специалист” по конфигурированию и внедрению прикладного решения “1С:Управление торговлей 8” принимается по новому сборнику задач для редакции УТ 11.4.

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

Вопрос

Ответ

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

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

%D0%9A%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2

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

В результате новая печатная форма “Заказ клиента (себестоимость)” попадет в список форм, отражаемых в форме “Печать комплекта документов”.

%D0%9A%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0

Если параметр ДополнитьКомплектВнешнимиПечатнымиФормами не указан, то внешние печатные формы не добавляются в комплект.

Подробнее про параметры команды печати можно почитать вот тут Разработка команд печати.

Комментарии / обсуждение (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

Функция СформироватьСтруктуруТаблицыКоманд()
ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить(“Представление”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“Идентификатор”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“Использование”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“ПоказыватьОповещение”, Новый ОписаниеТипов(“Булево”));
ТаблицаКоманд.Колонки.Добавить(“Модификатор”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“ЗаменяемыеКоманды”, Новый ОписаниеТипов(“Строка”));
ТаблицаКоманд.Колонки.Добавить(“Порядок”, Новый ОписаниеТипов(“Число”));
Возврат ТаблицаКоманд;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = “”, Порядок)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
НоваяКоманда.Порядок = Порядок;
КонецПроцедуры

Так же нашел функцию в конфигураторе:
Общие модули – УправлениеПечатью – Функция СоздатьКоллекциюКомандПечати()
// Создает пустую таблицу с описанием команд печати.
// Таблица команд печати передается в процедуры ДобавитьКомандыПечати,
// размещенные в МОДУЛЯХ МЕНЕДЖЕРОВ ОБЪЕКТОВ конфигурации.

Источник

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

Введение

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

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

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

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

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

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

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

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

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

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

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

3aeb5bfe7e723d6505a379b606507917

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

446aaee04fe1fbaf3481030fd5ac8d62

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

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

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

0a766ac52722129960206195781bfc0a

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

178200e6e157892515c057adb1257e55

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

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

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

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

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

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

7e4807dd2acb264727388b7430a5dad2

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

Источник

Создание внешней печатной формы под УП с возможностью передачи параметров (для конфигураций на БСП)

Статья отображает частное мнение автора по данному вопросу и не претендует на истину в последней инстанции. Поэтому если кто-то может предложить иные способы решения данной проблемы, можете писать их в комментах)

Видеоверсию данной статьи можете посмотреть тут: http://youtu.be/9JlR-2rNW6o

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

Первый метод.Вывод табличного документа.

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

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

1 1

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

1 2

Также у формы создадим параметр «ОбъектыНазначения» тип«Произвольный» (сделайте его ключевым)

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

1 3

&НаСервере
Функция ПечатьСерверная ()

КонецФункции
&НаКлиенте
Процедура Печать ( Команда )

Получим объект обработки.

ЭтотОбъектОбработка = РеквизитФормыВЗначение («Объект»);

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

Теперь перейдем в процедуру Печать, сделаем функцией, и оставим только первый параметр МассивОбъектов

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

1 4

Должен получиться следующий код:

Функция Печать ( МассивОбъектов ) Экспорт

ТаблицаСведенийСчетНаОплату = ПолучитьТаблицуСведенийСчетаНаОплату ( МассивОбъектов );

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

Функция Печать ( МассивОбъектов ) Экспорт

ТаблицаСведенийСчетНаОплату = ПолучитьТаблицуСведенийСчетаНаОплату ( МассивОбъектов );

Теперь изменим макет, добавив комментарий в подвал счета.

1 5

Осталось в функции ПечатьСчетаНаОплату у соответствующей области макета соответствующему параметру присвоить реквизит обработки Комментарий .

1 6

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

Заканчиваем работу с модулем обработки и переходим в модуль формы. В функцию ПечатьСерверная()

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

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

1 7

Перейдем в документ, выберем данную печатную форму.

1 8

Выйдет форма, в которой мы заполним поле комментарий.

1 9

Нажимаем печать и выходит табличный документ.

1 10

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

То изучайте вторую и третью часть этой статьи.

Второй метод. Использованиедополнительных сведений документа.

Для этого заходим в список счетов на оплату покупателю инажимаем кнопку дополнительные сведения

2 1

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

Что бы создать их заходим в Все действия – Изменить составдополнительных сведений.

2 2

2 3

Пишем наименование КомментарийДополнительный, тип значениявыбираем строка. И записываем новое дополнительное сведение.

2 4

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

2 5

Теперь нам осталось узнать под каким именем данноедополнительное сведение сохранилось в плане видов характеристик « Дополнительные реквизиты и сведения ».

Зайдем в него через меню «Все функции».

2 6

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

Как и в предыдущей части, за основу мы будем брать обработкуиз моей предыдущей статьи.

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

Функция СведенияОВнешнейОбработке () экспорт

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

2 7

Где в измерении Объект хранится ссылка на документ, визмерении Свойство – ссылка на план видов характеристик Дополнительные сведенияи реквизиты, а в ресурсе Значение – значение данного сведения для данногодокумента.

Посмотрите на состав регистра в нашем случае.

2 8

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

МассивДопСведений = Новый Массив ;

Теперь добавим в макет новый параметр «Комментарий»

2 9

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

//Получимзначение доп свойства для данного документа

После этого создаем структуру с полями Документ иДопСведение, в которую вставим ссылку на наш документ и ссылку на найденноедополнительное сведение.

Ищем в таблице значений ТаблицаДопСвойств строки по данномуотбору.

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

ЗначениеДопСведения = МассивЗначения [0]. Значение ;

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

2 10

2 11

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

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с печатная форма шаблон параметры
  • 1с печатная форма счета с печатью