Как отладить внешние печатных формы в 1С 8.3 управляемом приложении
Многие сталкиваются с проблемой отладки внешних печатных форм в 1С 8.3 (8.2) в режиме управляемых форм (да порой и в обычном тоже). Связано это в первую очередь с тем, что, запуская такую форму, система создает временный файл, и точки останова не срабатывают.
Можно, конечно, использовать готовые обработки для целей отладки, благо, найти их не составляет проблемы. Например: http://infostart.ru/public/73691/.
Но есть недостатки большинства таких решений:
Рассмотрим пример разработки собственной внешней печатной формы с возможностью отладки.
Создание внешней обработки для отладки печатных форм на управляемом приложении 1С
Суть разработки заключается в том, что мы создадим обычную внешнюю обработку с макетом и процедурой печати, а в форму обработки будем передавать нужный объект.
Итак, создаем новую внешнюю обработку. Назовите ее как угодно.
Добавим в обработку реквизит «СсылкаНаОбъект». Тип реквизита может быть составным и зависеть от конфигурации. Я выбрал тип – документ «РеализацияТоваровУслуг». Такой документ есть и в торговле, и в бухгалтерии.
Также добавим форму с единственным полем «Ссылка» и кнопкой «Печать». Кнопку добавим позже, когда создадим команду. Еще добавим макет, в который будем выводить данные документа.
Команду назовем «ПечатьОбъекта» с одноименным действием на клиенте:
Создадим простой Макет:
Выборку данных из объекта будем производить запросом, поэтому вызовем функцию на сервере. В функцию передадим нашу ссылку на объект, которая будет использоваться в качестве параметра в запросе. Функция будет возвращать заполненный табличный документ, так как показ его возможен только на клиенте:
Пример функции на сервере:
Для отладки ставим точку останова в нужном нам месте и запускаем обработку в режиме предприятия.
Скачать получившуюся обработку для примера можно по ссылке — ОтладкаВнешнихПечатныхФорм. Обработку можно использовать как шаблон.
Важно: Если база данных находится на сервере, для отладки на сервере нужно запустить с параметром «-debug».
После отладки макет и код процедуры и функции можно вставить в нужный объект и пользоваться.
Создание внешних печатных форм в 1С 8.3 (Управляемое приложение) с нуля:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Отладка в 1С
В этой статье рассматриваются ситуации, в которых процесс отладки (или процесс запуска отладки) проходит каким-либо особенным образом.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
Отладка внешних объектов
Отладка обычных внешних обработок и отчетов, как правило, не вызывает трудностей — главное открывать в конфигураторе и предприятии один и тот же файл внешней обработки/отчета.
Отладка внешних печатных форм
Отладка внешних печатных форм отличается от отладки обычных внешних обработок. Это связано с тем что, во-первых, выполнение кода происходит не сразу после запуска печатной формы, а при вызове соответствующей процедуры, и, во-вторых, при вызове внешней печатной формы система создает временный файл и точки останова не срабатывают. Более подробно о внешних печатных формах можно прочитать в этой статье.
В обычном приложении внешняя печатная форма имеет реквизит «СсылкаНаОбъект» и функцию «Печать», которая вызывается без параметров. Следовательно наиболее простым вариантом будет создать форму обработки, вывести на эту форму реквизит «СсылкаНаОбъект» (что бы его можно было заполнить) и по нажатию кнопки (или при другом событии) вызвать процедуру «Печать». В этом варианте внешняя печатная форма превращается в обычную внешнюю обработку и отлаживается также.
Для управляемого приложения нужно сделать примерно тоже самое — эмулировать вызов функции «Печать», для этого создать форму обработки, добавим ей реквизит «СсылкаНаОбъект» (и выведем его на форму) и команду с примерно таким кодом:
Отладка внешних обработок табличных частей
Трудности при отладке внешних обработок табличных частей (внешних обработок заполнения объекта) возникают по той же причине, что и случае с внешними печатными формами. Подробнее о внешних обработках табличных частей можно прочитать в этой статье.
В обычном приложении внешние обработки табличных частей имеют экспортную функцию «Инициализировать» которой в качестве параметров передаются объект, имя табличной части и табличное поле объекта. Таким образом для отладки нам требуется добавить основную форму обработки, разместить на ней поле для выбора объекта и реализовать вызов функции «Инициализировать» с нужными параметрами.
Отладка внешней обработки заполнения в управляемом приложении немного отличается от внешних печатных форм, так как обработка заполнения уже может иметь основную форму, в этом случае можно создать еще одну форму (такую же как для внешних печатных форм), назначить ее основной и эмулировать вызов команды заполнения, например так:
Кроме этого имеется прекрасная обработка, которая помогает отлаживать внешние обработки заполнения: ссылка.
Отладка Web-сервисов, HTTP-сервисов и интерфейса OData
Для отладки Web-сервисов, HTTP-сервисов и интерфейса OData нужно разрешить соответствующую возможность при публикации сервиса/интерфейса на веб-сервере, например:
После этого нужно настроить автоматическое подключение соответствующих предметов отладки. Для этого нужно выбрать пункт меню «Отладка»-«Подключение…», открыть окно настройки автоматического подключения и выбрать нужные предметы отладки, например:
Напомню, что при клиент-серверном варианте работы сервер должен быть запущен в режиме отладки.
Отладка регламентных/фоновых заданий
Напомню, что регламентные задания — это механизм 1С, предназначенный для каких-либо действий по расписанию. А фоновое задание — это объект, который создается регламентным заданием и непосредственно выполняет требуемые действия. Стало быть в отладке нуждаются именно фоновые задания, а регламентные задания просто настраиваются (расписание, пользователь и тд.).
При клиент-серверном варианте работы сервер должен быть запущен в режиме отладки. При файловом варианте работы база данных должна быть запущена в режиме предприятия.
Отладка мобильного приложения
Отладка мобильного приложения возможна только по протоколу HTTP. Хотя для устройств на Android-е возможен вариант с подключением по USB-кабелю и использованием Android Debug Bridge, но это частный случай. В общем же случае нужно переключиться на отладку по протоколу HTTP (подробнее об этом в предыдущих статьях цикла). Затем в настройках мобильного приложения нужно разрешить настройку и указать адрес отладчика, например так:
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Отладка и создание дополнительной печатной формы на основе шаблона
Обработка предназначена для создания внешней печатной формы и ее отладки. Покажу на примере, как создать и отладить внешнюю печатную форму.
Есть задача сделать Акт на основании документа ПоступленияТоваровИУслуг
Первым делом откроем шаблон
Сохраним шаблон как новую обработку «ПоступлениеТоваровУслуг_Сдача-приемка выполеных работ.epf» откроем его и поменяем в модуле формы и в модуле объекта Идентификатор на «ПФ_MXL_ПоступлениеУслуг_Сдача_приемка_выполненных_работ»
а также Имя обработки и синоним
Меняем тип Документа на нужный (ПоступлениеТоваровУслуг)
В модуле объекта указываем документ для которого мы делаем внешнюю печатную форму и даем название
Определимся с существующей печатной формой которую возьмем за основу. Более всего подходит «Акт об оказании услуг за поставщика»
Перетащим функции в нашу обработку в модуль объекта
внесем изменения в Печатную форму
изменим скопированный из модуля менеджера алгоритм заполнения печатной формы
Ставим точку останова и переключаемся в режим 1С:Предприятия
Выбираем документ, жмем «Печать» и попадаем в отладчик
Теперь осталось подключить нашу обработку, как внешнюю печатную форму.
Проверялось на бухгалтерии предприятия, редакция 3.0 (3.0.75.109)
Зарплата и управление персоналом, редакция 3.1 (3.1.13.120)
Управление торговлей, редакция 11 (11.3.4.21)
Скачать файлы
Специальные предложения
Обновление 18.04.20 18:00
См. также
Работа с кодами маркировки (КА 2.4) Промо
Обработка для удобной печати кодов маркировки.
27.05.2021 5499 12 RocKeR_13 2
Печать кода маркировки при приемке товаров для УТ11.4
Расширение позволяет напечатать марки из формы проверки маркируемой продукции в документе «Приобретение товаров и услуг» или «Приемка товаров ИС МП»
01.09.2021 886 5 tiniji 3
Алгоритм вывода подписантов из дополнительных сведений во внешнюю печатную форму акта ОС-1
В стандартной печатной форме «Акта ОС-1» нет возможности вывести подписантов, т.к. в документе «Принятие к учету ОС» нет полей для заполнения председателя и членов комиссии.
16.08.2021 2564 1 SergAl 30
Групповая печать ПКО и РКО за период (БП 3.0)
Групповая печать кассовых ордеров (ПКО и РКО) за любой период. Для Бухгалтерии предприятия 3.0.
13.07.2021 1426 4 Ant10 0
Конструктор печатных форм для ЗУП 3.1 по шаблонам MSOffice и OpenOffice Промо
Данная обработка позволяет быстро создавать печатные формы документов на основании документов из программы 1С ЗУП8 версии 3.1. Печатные формы можно заполнять на основании следующих документов: «Прием на работу», «Прием на работу списком», «Кадровый перевод», «Кадровый перевод списком», «Перемещение в другое подразделение», «Договор ГПХ» Обработка протестирована на платформе 1С:Предприятие 8.3 (8.3.12.1714) релиз ЗУП 3.1.9.187 Тонкий клиент (файловый или клиент-сервер) Установленный Microsoft office (2003 и выше) или OpenOffice/LibreOffice 09/04/2019 Исправил ошибку, возникающую, если наименование вида расчета содержит скобки.
02.11.2017 30077 290 zabaluev 60
Отладчик внешних печатных форм (обычное и управляемое приложение)
Обработка предназначена для отладки внешних печатных форм (ВПФ) в обычном и управляемом приложении.
В Конфигураторе открываем ВПФ, ставим точку останова в модуле.
Запускаем обработка в Предприятии и заполняем данные.
выводится табличный документ.
Тестирование проводилось в:
Скачать файлы
Специальные предложения
Автор запретил комментарии
Обновление 12.02.20 20:07
См. также
Внешний регламент для 1С Промо
Внешний регламент сделан для тех, кто ценит свое время и время заказчика. После одноразового встраивания в конфигурацию, внешний регламент на лету позволяет добавлять, изменять внешние модули, которые могут выполнятся как регламентные задачи с указанным интервалом или запускаться в ручном режиме для отладки. Все модули (внешние обработки) находятся и выполняются на стороне сервера, что позволяет исключить подмену алгоритмов со стороны клиента.
05.03.2020 8447 9 moolex 11
Конструктор запросов для пользователей
Конструктор запросов на языке 1С 8.3 (УФ) совместно с СКД, ориентированный для пользователей и бизнес аналитиков BI систем, доступный и понятный, результатом является текст запроса.
19.10.2021 747 2 serovmsk 0
JКоннектор (jc1c), Java
04.10.2021 874 1 kaliuzhnyi 4
Табличная часть как поле ввода
Табличная часть как поле ввода с программным добавлением строк.
20.09.2021 2958 4 harchenko_pavel 87
Подсистема «Показатели объектов» Промо
06.03.2021 6784 6 pila86 16
Отладка внешних печатных форм документа для 1С: 8.1
Иногда очень надо отладить внешнюю печатную форму документа.
С помощью этой обработки вы сделаете это очень легко!
В данной обработки поставьте точку останова при нажатии на кнопку «выполнить».
Скачать файлы
Специальные предложения
Еще проще во внешней печатной форме создать форму
на которой разместить реквизит обработки СсылкаНаОбъект.
В процедуре нажатия кнопки Выполнить пишем код
ТабДокумент = Печать();
ТабДокумент.Показать();
Обновление 25.04.12 20:32
Код открыт Не указано
См. также
FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы «Режим сравнения форм») на примере ERP 2.5 Промо
Данная публикация является продолжением описания функционирования обработки «FormCodeGenerator » в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.
21.12.2020 9846 27 huxuxuya 11
Интерактивная справка по объектам 1С (подключаемое расширение)
База знаний, подключаемая к объектам основной базы. Пополняется интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.
29.09.2020 15553 82 sapervodichka 45
Конвейер проверки качества кода
Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.
04.09.2019 37615 27 Stepa86 46
Вам нравятся запросы в 1С?
Речь не только о том, что простейший запрос с «легальным» оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать «в нагрузку» к тексту запроса. Все эти «Новый Запрос», «УстановитьПараметр» и последующие пляски с обработкой результата. Пора с этим заканчивать!
03.07.2019 28303 7 m-rv 91
[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо
Расширение позволяет без изменений конфигурации проверять остатки по регистру бухгалтерии при проведении каждого документа и запрещает проведение при появлении отрицательных остатков после проведения.
17.08.2015 54692 170 ekaruk 32
Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом
Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями «Управление торговлей 10.3», «Управление производственным предприятием 1.3», «Комплексная автоматизация 1.1», «Бухгалтерия предприятия 2.0».
21.09.2018 31029 24 stvorl 1
Работа с публикациями «Инфостарт»
Работа с рублевыми публикациями на сайте «Инфостарт»: ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.
13.09.2018 29087 14 RocKeR_13 16
HTTP Сервисы: Путь к своему сервису. Часть 3
Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.
27.08.2018 55305 68 dsdred 17
ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ («001», «Новый товар») Промо
Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.
01.06.2018 37220 96 m-rv 58
Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции
09.08.2018 36866 31 informa1555 30
Работа с данными выбора
17.07.2018 68032 25 kalyaka 17