Внешняя печатная форма с выводом формы настроек перед печатью (выбор подписантов). Работает на БСП 3.1.9, имеет 1 форму настроек, есть режим отладки, управляемые формы 8.3

29.11.23

Разработка - Инструментарий разработчика

После обновления на последние релизы во многих типовых конфигурациях (например: в бухгалтерии 3.0.143 или в ЗУП 3.1.27) из за изменений в БСП 3.1.9 перестали формироваться внешние печатные формы, которые используют формы настроек, например: выбор подписантов, в основном такие печатные формы использовали ОткрытьФорму("ОбщаяФорма.ПечатьДокументов"... Предлагаю учебный пример, который позволит вам быстро "починить" любую внешнюю печатную форму или создать свою новую, а также разобраться в новом механизме на примере простой внешней печатной формы справочника контрагентов. Работает на новой БСП 3.1.9. Имеет одну форму настроек. Имеет возможность отладки. Управляемые формы 8.3.

Скачать исходный код

Наименование Файл Версия Размер
Дополнительная внешняя печатная форма с выводом формы настроек перед печатью (выбор подписантов)
.rar 13,54Kb
18
.rar 13,54Kb 18 Скачать

После обновления на последние релизы, во многих типовых конфигурациях (например: в бухгалтерии 3.0.143 или в ЗУП 3.1.27) перестали формироваться внешние печатные формы, которые используют формы настроек, такие как "выбор подписантов", "номер приказа" и т.п.

В основном, такие печатные формы использовали ОткрытьФорму("ОбщаяФорма.ПечатьДокументов"...

При нажатии на кнопку "печать" теперь ничего не происходит.

Причина: изменения в БСП 3.1.9.

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

1) Быстро "починить" любую внешнюю печатную форму с выводом формы настроек перед печатью или быстро создать с нуля новую.

2) Разобраться в новом механизме на примере простой внешней печатной формы справочника контрагентов.

Я сделал 2 варианта:

1) "Контрагент с подписантами" - "классический вариант", когда в модуле объекта есть стандартная процедура "Печать".

2) "Контрагент с подписантами 2" - в модуле объекта содержатся только параметры регистрации, весь код содержится только в модуле формы.

Каким вариантом пользоваться ? - это по желанию, если у вас обработка "стандартная", через "печать" в модуле объекта (без предварительной формы настроек перед печатью), то её проще и быстрей будет переделать с использованием 1го варианта. Если вы делаете новую печатную форму - тогда второй вариант.

Обе печатные формы подключаются к базе стандартным способом:

Администрирование -> Печатные формы, отчеты и обработки - > Дополнительные отчеты и обработки -> Добавить из файла. Далее выбрать назначение - справочник "контрагенты". Записываем и закрываем.

 

 

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

 

 

Далее нужно указать подписанта:

 

 

Табличный документ формируется очень простой - название контрагента и ФИО подписанта, которое вы указываете на форме настроек - для того, чтобы не перегружать пример излишними данными и не запутывать вас:

 

 

Краткая инструкция по изменению:

Я постарался максимально комментировать код.

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

Ссылка на объект передаётся форме настройки через ключевой параметр формы "ОбъектыНазначения", обратите на это внимание, не забывайте про этот параметр.

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

Реквизит на форме настройки "СсылкаДляОтладки" используется для указания ссылки объекта, который будет распечатан в режиме отладки. Если вы переделываете на другой тип данных - не забывайте поменять тип данных у этого реквизита. Можно использовать справочники, документы и т.п.

Не забывайте, что идентификатор нужно использовать один и тот же, иначе не заработает. Как пример = "КонтрагентСПодписантами", можно посмотреть через поиск в модуле объекта и в модуле формы, и заменить на свой.

Основные изменения, которые нужно будет делать:

1) Макет.

2) Процедура формирования табличного документа.

3) Реквизиты на форме настроек и передача их в структуре.


Используемые функции в печатной форме (для поиска):

УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм 

ОбщегоНазначения.ТаблицаЗначенийВМассив

УправлениеПечатьюКлиент.ПечатьДокументов

УправлениеПечатью.НужноПечататьМакет

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию

 

Тестировалось на релизах:

  • Зарплата и управление персоналом, редакция 3.1 (3.1.27.23)
  • Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.143.42)

Тестировалось на платформах:

  • 1С:Предприятие 8.3 (8.3.23.1865)
  • 1С:Предприятие 8.3 (8.3.22.2239)
  • 1С:Предприятие 8.3 (8.3.23.1912)

дополнительная внешняя печатная форма БСП 3.1.9 выбор подписанты сломалась не формируется

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    127478    688    389    

740

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    8487    25    6    

47

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    4794    12    2    

38

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 руб.

14.01.2013    179018    1086    0    

863

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15139    3    12    

38

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    100022    239    97    

298

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28456    4    10    

16

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

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

3000 руб.

27.08.2019    18559    6    8    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. shtinalex 271 29.11.23 15:53 Сейчас в теме
2. aleksey2 86 29.11.23 16:15 Сейчас в теме
https://znak1c.gitbook.io/reanimiruem-pechat/

БП 3.0.142 не печатаются, и неизвестно когда починят
3. Xershi 1486 29.11.23 17:07 Сейчас в теме
(2) у меня этот код текстом пишется, сломается только у тех, кто надеялся на незыблемость методов или, чтобы потом срубить за обновление денег.
5. aleksey2 86 30.11.23 08:13 Сейчас в теме
(3) какой хоть номер ошибки, как за этим следить
4. Suker86 19 29.11.23 17:26 Сейчас в теме
(1) Маргарита умница, но мне моя больше нравиться :)))
+ одна форма настроек вместо трёх, которая подходит и для отладки и для вызова из конфигурации,
+ значительно меньше кода,
+ менее запутанная схема выполнения, особенно для тех, кто пытается самостоятельно разобраться (именно для них и была сделана публикация)
+ никаких форм на основную переназначать не нужно для отладки, всё отлаживается и так,
+ и еще момент, в организации, в которой я переделывал, все печатные формы были сделаны через "открытие формы" с одной формой настройки и я достаточно быстро копипастом всё переделал, добавив по паре кусков кода в модуль объекта и в модуль формы.
Оставьте свое сообщение