Пользовательские макеты внешних печатных форм и настраиваемый комплект документов по договорам

06.10.20

Разработка - БСП (Библиотека стандартных подсистем)

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Пользовательские макеты внешних печатных форм и настраиваемый комплект документов по договорам: расширение
.cfe 81,90Kb
9 2 150 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

Большинство печатных форм у нас внешние. Бывает необходимость немного изменить формы макеты форм. 

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

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

Пользовательские макеты внешних печатных форм

Здесь все просто. Для редактирования печатной формы добавлена кнопка в форму печати документа "Редактировать макет". После редактирования макет сохраняется в регистр сведений "Макеты печатных форм" и используется при получении макета во внешней печатной форме.

ВАЖНО: для того чтобы БСП корректно подставила нужный макет во внешнюю печатную форму разработана специальная функция: УправлениеПечатью.ПолучитьМакет (было бы логичнее использовать стандартную функцию УправлениеПечать.МакетПечатнойФормы, но было изменено количество параметров функции и 1С ругается на расширение)

Пример получения печатной формы:

МакетПечатнойФормы = УправлениеПечатью.ПолучитьМакет("ВнешняяОбработка.ИмяОбработки.ИмяПечатнойФормы", ЭтотОбъект);

Как видно - ключевая фраза для  определения что это макет внешней печатной формы - "ВнешняяОбработка". Добавлен второй параметр ЭтотОбъект, в который передается объект внешней печатной формы или ссылка на справочник "ДополнительныеОтчетыИОбработки". 

Комплекты печатных форм по договору

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

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

Для каждого вида документа можно настроить свой комплект документов.

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

&НаСервере
Процедура ЗаполнитьСписокМетаданных()
	Строка = СписокОбъектовМетаданных.Добавить();
	Строка.Значение = "РеализацияТоваровУслуг";
	Строка.Наименование = "Реализация товаров и услуг";
	
	Строка = СписокОбъектовМетаданных.Добавить();
	Строка.Значение = "ПередачаТоваров";
	Строка.Наименование = "Передача товаров";
КонецПроцедуры

Сам комплект подключается к документу как обычная встроенная печатная форма добавлением кода в процедуру модуля менеджера документа "ДобавитьКомандыПечати"

	// Настраиваемый комплект документов.
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "КомплектДокументов";
	КомандаПечати.СписокФорм = "ФормаДокументаУслуги,ФормаДокументаТовары";
	КомандаПечати.Картинка = БиблиотекаКартинок.КатегорииКопировать;
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	КомандаПечати.Представление = НСтр("ru = 'Комплект документов по договору'");
	КомандаПечати.МестоРазмещения = "ГруппаВажныеКоманды";
	КомандаПечати.ДополнительныеПараметры.Вставить("НеВыводитьВКомплекте",Истина);
	КомандаПечати.ФиксированныйКомплект = Истина;
	КомандаПечати.Порядок = 160;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ДоговорКонтрагента","РеализацияТоваровУслуг","НастройкиКомплекта");

Исключение - последняя строчка "УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды". Здесь в качестве вида сравнения указывается строка "НастройкиКомплекта", а в качестве значения указывается имя документа.

Данное расширение тестировалось на платформе 1С:Предприятие 8.3 (8.3.16.1224). (можно на более ранней, но только там, где в расширении добавлена возможность создания новых объектов).

Конфигурация Бухгалтерия предприятия, редакция 3.0 (3.0.77.106) (будет работать и на других релизах, в которых используется версия 3.1.2 библиотеки стандартных подсистем).

Вступайте в нашу телеграмм-группу Инфостарт

Расширение ВнешниеПечатныеФормы ПользовательскиеМакеты КомплектыДокументовПоДоговору

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    8270    42    24    

45

Анализ учета БСП (Библиотека стандартных подсистем) 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Расширение для конфигураций на базе БСП 3.х. Позволяет создавать новые отчеты путем соединения или объединения других отчетов.

22.05.2025    2641    107    seperblunt    8    

22

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С v8.3 1C:ERP Бесплатно (free)

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

12.05.2025    2782    PROSTO-1C    1    

16

БСП (Библиотека стандартных подсистем) Роли и права Программист 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Наткнулся на костыль по работе с ролями. Хочу поделиться, как не попасть на это странное поведение БСП.

07.05.2025    6379    dsdred    32    

88

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    2939    krasnoshchekovpavel    7    

19

БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С v8.3 Бесплатно (free)

Описание способа создания глобального обработчика оповещений (событие формы), не привязанного к какой-то конкретной форме.

01.04.2025    1922    krasnoshchekovpavel    0    

10

БСП (Библиотека стандартных подсистем) Программист 1С v8.3 1С:Библиотека стандартных подсистем Россия Бесплатно (free)

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

24.03.2025    2674    GeraltSnow    6    

34

БСП (Библиотека стандартных подсистем) Программист 1С v8.3 Бесплатно (free)

Добавим метки в новый документ средствами БСП.

10.02.2025    6071    John_d    24    

56
Оставьте свое сообщение