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

Обновлено: 06.07.2024

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

Но есть недостатки большинства таких решений:

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

Создание внешней обработки для отладки печатных форм на управляемом приложении 1С

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

Итак, создаем новую внешнюю обработку. Назовите ее как угодно.

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

форма для отладки печатной формы 1с

Создадим простой Макет:

новый макет

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

Пример функции на сервере:

Для отладки ставим точку останова в нужном нам месте и запускаем обработку в режиме предприятия.

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

Создание внешних печатных форм в 1С 8.3 (Управляемое приложение) с нуля:

Рассмотрим настройку и создание новых печатных форм в системе 1С 8.3.

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

Макет печатной формы в конфигураторе

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

Конструктор печати

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

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

Реквизиты для печати шапки

После выбора реквизитов шапки печатной формы 1С 8.2 следует сделать выбор данных для табличной части:

Строки табличной части для вывода на печать

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

На последней странице можно оставить всё по умолчанию и нажать ОК:

Вариант вызова процедуры

Что получаем в итоге?

Правильно оформленный макет печатной формы:

Результат создания новой формы

Процедура, полностью формирующая печатную форму документа:

Которые можно настроить в 1С 8.2, как нужно нам.

Вывод вызова созданной печатной формы 1С

Добавляем кнопку печати

Прописываем путь к процедуре

Созданная и настроенная печатная форма выглядит так:

Печатная форма готова

Другие статьи по 1С:

Макет внешней печатной формы

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

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

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

Если у Вас нет времени читать, можете просмотреть наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Пример создания внешней печатной формы в 1С 8.3

Для начала создадим новую обработку и укажем в ней следующее:

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

Формат возвращаемой структуры регламентирован, подробности можно узнать в разделах ИТС.

Они практически всегда одинаковы.

2. Вторым шагом необходимо создать экспортную процедуру Печать(), с помощью которой подсистема будет инициировать запуск печати из общих модулей подсистемы. Процедура содержит 4 параметра:

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

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

Создание табличного документа

Подробно останавливаться на этом не будем, на эту тему есть большое количество материалов.

Представим лишь внешний вид макета нашего элементарного примера:

Макет счета на оплату

Подключение и тестирование ВПФ в 1С

Настройка использования дополнительных обработок

Добавление внешней печатной формы в 1С

Новый шаблон в списке выбора

При нажатии на команду система сформирует нужную нам форму:

Полученная печатная форма

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

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

Другие статьи по 1С:

Анна Викулина

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

Настраиваем внешнюю печатную форму для отладки

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

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

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

  1. Получаем макет из обработки;
  2. Получаем данные для вывода;
  3. Очищаем табличный документ и начинаем формировать его заново. Получаем область, заполняем все переменные в макете, параметры табличного документа и возвращаем на клиентскую сторону готовый к выводу табличный документ.

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

Чтобы начать отладку нашей внешней печатной формы, необходимо открыть ее и, нажав на кнопку, запустить процесс формирования табличного документа. Узнать, что идет процесс отладки, вы сможете по изменившемуся значку точки останова (к его форме круга добавилась стрелочка). Теперь вы можете управлять пошаговым выполнением операторов алгоритма, используя следующие «горячие» клавиши:

  • F11 (Шагнуть в) – Переходит на следующий шаг или заходит внутрь функции;
  • F10 (Шагнуть через) – Переходит на следующий шаг, вычисляя значения всех функций;
  • F11+Shift (Шагнуть из) – Завершает выполнение кода в текущей процедуре и попадает в то место алгоритма, откуда она была вызвана;
  • F10+Shift (Идти до курсора) – Позволяет «промотать» выполнение процедуры до места, которое вы обозначите моргающим курсором.

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

Читайте также: