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

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

Можно, конечно, использовать готовые обработки для целей отладки, благо, найти их не составляет проблемы. Например: http://infostart.ru/public/73691/.

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

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

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

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

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

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

Добавим в обработку реквизит «СсылкаНаОбъект». Тип реквизита может быть составным и зависеть от конфигурации. Я выбрал тип – документ «РеализацияТоваровУслуг». Такой документ есть и в торговле, и в бухгалтерии.

Также добавим форму с единственным полем «Ссылка» и кнопкой «Печать». Кнопку добавим позже, когда создадим команду. Еще добавим макет, в который будем выводить данные документа.

Команду назовем «ПечатьОбъекта» с одноименным действием на клиенте:

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

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

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

Получите 267 видеоуроков по 1С бесплатно:

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

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

Важно: Если база данных находится на сервере, для отладки на сервере нужно запустить с параметром «-debug».

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

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

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

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

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

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

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

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

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

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

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

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

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

Содержит параметры регистрации для добавления в справочник «Дополнительные отчеты и обработки» и возможность регистрации печатной формы.

Поддерживаются три метода выполнения команд печати внешних печатных форм: Открытие формы, вызов серверного метода, вызов клиентского метода.

  1. Открыть 1С: Предприятие в режиме конфигуратора.
  2. Открыть тестируемую внешнюю печатную форму.
  3. Проставить точки останова.
  4. Запустить из конфигуратора 1С: Предприятие в режиме отладки.
  5. Открыть эту обработку.
  6. Указать имя файла обработки, команду печати, ссылку на объект для отладки.
  7. Кнопка «Выполнить», переход в конфигуратор при достижении точки останова, отладка.
Оцените статью
Добавить комментарий