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

Для отладки внешней печатной формы нужно сделать следующее:

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

Создаём на форме команду Печать.

В модуле формы прописываем обработчик команды:

После этих манипуляций мы открываем файл внешней печатной формы в режиме Конфигуратор (не добавляя обработку в состав конфигурации), запускаем отладку и открываем этот же файл внешней печатной формы в режиме 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С:

Отладка внешних объектов

Отладка обычных внешних обработок и отчетов, как правило, не вызывает трудностей — главное открывать в конфигураторе и предприятии один и тот же файл внешней обработки/отчета.

Отладка внешних печатных форм

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

Читайте также:  Экран телевизора стал розовым что делать

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

Для управляемого приложения нужно сделать примерно тоже самое — эмулировать вызов функции «Печать», для этого создать форму обработки, добавим ей реквизит «СсылкаНаОбъект» (и выведем его на форму) и команду с примерно таким кодом:

Форма обработки

Отладка внешних обработок табличных частей

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

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

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

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

Отладка Web-сервисов, HTTP-сервисов и интерфейса OData

Для отладки Web-сервисов, HTTP-сервисов и интерфейса OData нужно разрешить соответствующую возможность при публикации сервиса/интерфейса на веб-сервере, например:

Читайте также:  Транзистор s8050 чем заменить

Включение отладки при публикации сервиса/интерфейса

После этого нужно настроить автоматическое подключение соответствующих предметов отладки. Для этого нужно выбрать пункт меню «Отладка»-«Подключение…», открыть окно настройки автоматического подключения и выбрать нужные предметы отладки, например:

Настройка автоматического подключения

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

Отладка регламентных/фоновых заданий

Напомню, что регламентные задания — это механизм 1С, предназначенный для каких-либо действий по расписанию. А фоновое задание — это объект, который создается регламентным заданием и непосредственно выполняет требуемые действия. Стало быть в отладке нуждаются именно фоновые задания, а регламентные задания просто настраиваются (расписание, пользователь и тд.).

Для отладки фонового задания, так же как и в предыдущем разделе, нужно настроить автоматическое подключение предметов отладки. Для этого идем в меню «Отладка»-«Подключение…» , открываем окно настройки автоматического подключения и указываем, что нам нужно автоматически подключать фоновые задания:

Настройка автоматического подключения

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

Отладка мобильного приложения

Отладка мобильного приложения возможна только по протоколу HTTP. Хотя для устройств на Android-е возможен вариант с подключением по USB-кабелю и использованием Android Debug Bridge, но это частный случай. В общем же случае нужно переключиться на отладку по протоколу HTTP (подробнее об этом в предыдущих статьях цикла). Затем в настройках мобильного приложения нужно разрешить настройку и указать адрес отладчика, например так:

Разрешаем отладку и указываем адрес отладчика

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оцените статью
Добавить комментарий

Adblock detector