Как отладить внешние печатных формы в 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. Мы работаем в Москве и области.
Отладчик внешних печатных форм (обычное и управляемое приложение)
Обработка предназначена для отладки внешних печатных форм (ВПФ) в обычном и управляемом приложении.
В Конфигураторе открываем ВПФ, ставим точку останова в модуле.
Запускаем обработка в Предприятии и заполняем данные.
выводится табличный документ.
Тестирование проводилось в:
Скачать файлы
Специальные предложения
Автор запретил комментарии
Обновление 12.02.20 20:07
См. также
Внешний регламент для 1С Промо
Внешний регламент сделан для тех, кто ценит свое время и время заказчика. После одноразового встраивания в конфигурацию, внешний регламент на лету позволяет добавлять, изменять внешние модули, которые могут выполнятся как регламентные задачи с указанным интервалом или запускаться в ручном режиме для отладки. Все модули (внешние обработки) находятся и выполняются на стороне сервера, что позволяет исключить подмену алгоритмов со стороны клиента.
05.03.2020 8447 9 moolex 11
Конструктор запросов для пользователей
Конструктор запросов на языке 1С 8.3 (УФ) совместно с СКД, ориентированный для пользователей и бизнес аналитиков BI систем, доступный и понятный, результатом является текст запроса.
19.10.2021 748 2 serovmsk 0
JКоннектор (jc1c), Java
04.10.2021 875 1 kaliuzhnyi 4
Табличная часть как поле ввода
Табличная часть как поле ввода с программным добавлением строк.
20.09.2021 2958 4 harchenko_pavel 87
Подсистема «Показатели объектов» Промо
06.03.2021 6785 6 pila86 16
Отладка внешних печатных форм
Механизм большинства типовых конфигураций имеет общую реализацию хранения/подключения внешних печатных форм, хранимых в справочнике внешних обработок.
Поскольку печатная форма хранится в справочнике, отладить напрямую такую обработку затруднительно.
Если же данную форму выгрузить как внешний файл, потребуются лишние усилия для того чтобы передать ссылку на документ (источник данных).
Скачать файлы
Специальные предложения
Обновление 16.09.14 17:36
Код открыт Не указано
См. также
Универсальный редактор данных (УРД) Промо
27.08.2021 5479 118 Adeptus 51
Работа с кодами маркировки (КА 2.4)
Обработка для удобной печати кодов маркировки.
27.05.2021 5502 12 RocKeR_13 2
FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы «Режим сравнения форм») на примере ERP 2.5
Данная публикация является продолжением описания функционирования обработки «FormCodeGenerator » в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.
21.12.2020 9847 27 huxuxuya 11
CF & SQL : конструктор прямых запросов к БД 1С
Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.
02.10.2019 30334 296 dmitrydemenew 63
Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.
24.05.2012 84626 965 moolex 157
Вам нравятся запросы в 1С?
Речь не только о том, что простейший запрос с «легальным» оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать «в нагрузку» к тексту запроса. Все эти «Новый Запрос», «УстановитьПараметр» и последующие пляски с обработкой результата. Пора с этим заканчивать!
03.07.2019 28306 7 m-rv 91
Модель объекта
Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.
30.06.2019 16503 1 vadim1980 5
Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.
09.01.2019 62164 269 informa1555 236
Конструктор печатных форм для ЗУП 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 30078 290 zabaluev 60
Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом
Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями «Управление торговлей 10.3», «Управление производственным предприятием 1.3», «Комплексная автоматизация 1.1», «Бухгалтерия предприятия 2.0».
21.09.2018 31031 24 stvorl 1
Универсальная отладка внешней обработки заполнения (типовые механизмы, без внешних файлов, расширений или вызова внешних файлов)
Буду краток, без излишней воды. Если будут вопросы, прошу писать в комментариях к публикации. Спасибо!
ЗАМЕТКА. В скриншотах использована ДЕМОНСТРАЦИОННАЯ база 1С: ERP релиз 2.5.5.104
Сама обработка будет подходить для любых релизов ERP.
Почему я так уверен?
Так как используется типовой код команды формы документа ЗаказКлиента, который не меняется от релиза к релизу.
А1. Создать обработку заполнения табличной части документа
А2. Обработку необходимо добавить как внешнюю обработку. В форме документа Заказ Клиента должен появится пункт меню Форма-Еще-Обновление цены в строке по виду цен
А3. При разработке обработки должен использоваться типовой код (форма документа, модуль документа, общие модули).
А4. Заимствование и изменение типового кода можно делать в модуле обработки (или в форме обработки).
А5. ЖЕЛАТЕЛЬНО, использование и изменение типового кода свести к минимуму (для того, чтобы обработка поддерживалась на максимальном количестве релизов и версий конфигурации).
Б. Демонстрирую выполнение задачи А по пунктам.
Б1.1. Создаем новую внешнюю обработку в конфигураторе.
Б1.2. Заполняем код в модуле обработки.
Код достаточно типовой, комментировать думаю излишне. На тему данного кода полно других публикаций.
Если появятся вопросы по коду, задавайте в комментариях к публикации.
Б1.3. В обработке добавляем реквизит Ссылка с типом = СписокЗначений
Б1.4. Создаем форму обработки.
В форме обработки переносим реквизит формы Объект.ссылка на форму. Таким образом должно появится поле формы «Ссылка».
У реквизита формы «Объект.Ссылка» тип = СписокЗначений
Б1.5. В коде формы обработки переопределяем процедуру ПриСозданииНаСервере
Важно не просто написать код. Важно в конфигураторе нажать на кнопку «Процедуры и функции» и выбрать нужную типовую функцию модуля формы.
В данной процедуре мы заполняем реквизит Ссылка конкретным документом ЗаказКлиента.
При открытии формы обработки как внешний файл, будет автоматически выбираться данный документ
Б1.6. В коде формы обработки определяем процедуру ВыполнитьКоманду
В данную процедуру передается управление, когда данная обработка запускается из формы документа ЗаказКлиента как пункт меню.
Кроме того, мы будем программно передавать в нее управление с заполнение параметров.
Объясняю по порядку.
Б1.7. Если данную обработку поместить во внешние обработки в режиме 1с Предприятие
то в Заказе Клиента появится пункт меню меню Форма-Еще-Обновление цены в строке по виду цен
Теперь, если запустить обработку по клику на меню в форме документа, запустится код в форме обработки, в процедуре ВыполнитьКоманду(. ).
ПРОБЛЕМА в том, что такой код НЕ ОТЛАДИТЬ. Точки останова в конфигураторе срабатывать не будут!
В. КАК Сделать отладку в модуле обработки?
В.1. Мы будем запускать форму обработки как внешний файл в режиме 1С: Предприятие.
В.2. При открытии формы обработки будет срабатывать код процедуры ПриСозданииНаСервере
Будет открываться форма обработки с выбранным ЗаказомКлиента в поле формы Ссылка
В.3. У нас на форме есть кнопка «Выполнить команду».
Определим обработчик команды, которая вызывается нажатием на данную кнопку
Команда «Выполнить команду» (закладка Команды формы обработки) выполняет код процедуры «ВыполнитьКоманду1»
Почему именно такое наименование? Потому что процедура «ВыполнитьКоманду» уже зарезервирована типовым механизмом.
В обработчике команды «ВыполнитьКоманду1» мы выполняем код:
1. Мы создаем и заполняем параметры для запуска типовой процедуры «ВыполнитьКоманду»
2. Мы создаем и заполняем Массив, в который помещаем ссылку на документ, который находится в поле Ссылка.
Этот документ мы могли перезаполнить вручную, либо выбрать несколько документов.
В.4. Далее выполнение кода передается в процедуру «ВыполнитьКоманду»
1. Данная процедура Может запускаться типовым механизмом (см. пункт Б1.7)
а также программным механизмом (пункт В.4.)
2. В коде процедуры мы должны сделать определенные телодвижения, чтобы запуск процедуры обоими методами ничем не отличался (был универсальным)!
1. В начале выполнения процедуры мы проверяем типовой реквизит ВладелецФормы.
2. Если данная процедура запущена типовым механизмом (см. пункт Б1.7) то ВладелецФормы = форма документа из которого запускается пункт меню.
3. Если данная процедура запущена программным механизмом (см. пункт В.4.), то ВладелецФормы = неопределено.
В этом случае, в режиме 1с Предприятие у нас открыта форма обработки.
Нам необходимо открыть форму документа (либо открыть существующую форму документа, если она ранее уже была открыта в 1с режиме предприятие).
После открытия формы, в переменную ФормаДок заполняется ссылка на данную форму.
4. После предыдущих пунктов в переменной ФормаДок у нас есть ссылка на форму документа.
ВАЖНО. САМОЕ ГЛАВНОЕ! ВОЗМОЖНА ОТЛАДКА КОДА!
Если поставить точку останова в коде и запустить обработку как внешний файл, то точка останова сработает!
Далее мы на выбор используем ПОДХОДЫ К РАЗРАБОТКЕ:
1. запускаем типовой код формы документа (экспортные процедуры и функции)
2. модуля документа (экспортные процедуры и функции)
3. либо заимствуем код документа в обработку.
Я в большинстве случаев использую подход 3. Потому что экспортных процедур очень мало (спасибо разработчикам типовых конфигураций). Изменять код формы документа или модуля я не практикую.
1. Находим нужный кусок кода или несколько кусков. Собираем нужный нам алгоритм с использованием типовых процедур.
Количество использованных процедур сводим к минимуму.
Для этого желательно найти кусок кода который выполняет большинство нужных операций.
2. Копируем текст Процедур в форму обработки.
3. Заменяем переменные.
Например. Если скопированный код из модуля формы то заменяем переменные
Объект на ТекОбъект (в него передаем данные Объект формы документа).
ЭтотОбъект на ФормаДок (передаем ссылку на форму документа)
Отладка и автоматическая регистрация внешней печатной формы
Как отладить внешнюю печатную форму? Как быстро подключить ее ко всем документам в базе?
Как быстро вносить изменения из внешней обработки во внешнюю печатную форму в информационной базе?
Для решения этих вопросов и создан данный прототип обработки.
Вопрос отладки внешних печатных форм давно решен, и это хорошо.
Эта обработка упрощает рутинную работу по созданию внешней печатной формы, заполнению макета Параметры_Авторегистрации и заведении внешней печатной формы в справочнике «Внешние обработки»
Должна работать во всех конфигурациях, где есть типовой механизм внешних печатных форм.
Скачать файлы
Специальные предложения
Проверка мутабельных значений на заполненность не поддерживается
Ругается на «ЗначениеЗаполнено(ТД)»
И так и не нашел как запустить отладку.
Обновление 23.07.10 20:17
Код открыт Не указано
См. также
Универсальный редактор данных (УРД) Промо
27.08.2021 5479 118 Adeptus 51
Конвертация данных 3 расширение: Редактор кода.
08.09.2020 11566 30 Viktor_Ermakov 32
Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.
14.08.2020 13658 0 Enigma 47
Должно быть NULL в регистре бухгалтерии Хозрасчетный
Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.
21.10.2019 18331 74 sapervodichka 33
Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.
24.05.2012 84626 965 moolex 157
CF & SQL : конструктор прямых запросов к БД 1С
Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.
02.10.2019 30334 296 dmitrydemenew 63
Конвейер проверки качества кода
Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.
04.09.2019 37615 27 Stepa86 46
Модель объекта
Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.
30.06.2019 16503 1 vadim1980 5
Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо
Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.
06.10.2014 169456 2757 ekaruk 170
Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD
Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.
03.06.2019 37014 9 ripreal1 92
Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером
Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.
13.05.2019 38272 152 Diversus 44
Немного о графических файлах. Сжатие. Распознавание текста
Простые и доступные методы борьбы с лишним весом графических файлов и распознавание текста.
06.05.2019 9859 12 tusv 6
[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо
Расширение позволяет без изменений конфигурации проверять остатки по регистру бухгалтерии при проведении каждого документа и запрещает проведение при появлении отрицательных остатков после проведения.
17.08.2015 54692 170 ekaruk 32
Расширение «Быстрая проверка кода» для конфигурации 1С:Автоматизированная проверка конфигураций
Расширение для конфигурации «1С:Автоматизированная проверка конфигураций», позволяющее проверять произвольный код.
26.03.2019 26051 67 Bazil 34
Настройка отладки на сервере 1С
Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.
26.03.2019 37469 165 frkbvfnjh 44
Методика оптимизации программного кода 1С: проведение документов
Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).
19.03.2019 31649 21 dmitrydemenew 85
[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо
Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.
07.10.2014 62898 392 GusevNA 78
Инструктор. Прототип инструмента создания быстрых пользовательских инструкций
Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). «Инструктор» не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на «чужом ноутбуке» и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью.
15.02.2019 18600 49 ROM_NN 11
Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.
09.01.2019 62164 269 informa1555 236