gifts2017

Помощник разработчика внешних отчетов и обработок

Опубликовал Юрий Михайлов (t0202) в раздел Программирование - Инструментарий

Программный продукт создан на основе опыта работы с разнообразными видами внешних отчетов и обработок в управляемом приложении «1С:Предприятия 8.2» и предназначен для автоматизации их разработки.

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

Схема работы с «Помощником» следующая.

Разработка ведется в базе с конфигурацией, в которой разрешено внесение изменений. Обработка «Подготовка шаблонов» формирует  шаблоны http://infostart.ru/upload/iblock/3f4/Рис%20Шаблоны.png модулей объекта и форм на основе параметров создаваемого объекта и его команд. В конфигурации создается новая обработка или отчет.  Сформированные  шаблоны вносятся в соответствующие модули создаваемого объекта и дополняются операторами, реализующими функционал объекта. Обработка «Отладка» http://infostart.ru/upload/iblock/9f1/Рис%20Отладка.png  моделирует выполнение созданного объекта как внешнего отчета или обработки. Так как фактически отлаживается объект конфигурации можно в полном объеме использовать возможности Отладчика. После завершения отладки объект выгружается в файл и загружается в рабочую базу как внешняя обработка или отчет.

Теперь более подробно остановимся на описании обработок «Помощника». В дальнейшем  тексте создаваемый внешний отчет  или обработку  будем называть просто обработкой.

Обработка «Подготовка шаблонов»

В форме обработки «Подготовка шаблонов»  заполняются параметры создаваемой обработки, в том числе параметры ее команд, а также указываются дополнительные признаки для формирования шаблонов.

Вид  обработки выбирается из списка «Дополнительный отчет», «Дополнительная обработка»,  «Отчет», «Печатная форма», «Заполнение объекта» и «Создание связанных объектов».

Версия обработки  (необязательный параметр)  может задаваться произвольно. В дальнейшем при ее запуске в «Отладчике» и как внешней обработки эта характеристика используется только как справочная.

Версия БСП влияет на состав параметров формируемых процедур  (начиная с версии 1.2.1.4 состав параметров расширен).

Модификатор – параметр команды, который может быть пустым или принимать значение «ПечатьMXL».  Его особенность заключается в том, что для всех команд обработки значения модификатора должны быть одинаковыми, а если задано значение «ПечатьMXL», то вид обработки может быть только «Печатная форма». (Это контролирует «Помощник», а при запуске внешней обработки стандартные модули просто не учитывают модификатор,  если обработка не является печатной формой.)

Параметр команды «Представление» заполняется произвольным текстом, а если модификатор имеет значение «ПечатьMXL»  - списком макетов для получения печатной формы. Для первой в списке команды в качестве значения параметра предлагается синоним обработки.

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

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

 

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

Теперь о признаке «Расширенные шаблоны».

Если признак не установлен, обработка «Подготовка шаблонов», используя заданные параметры создаваемой обработки и ее команд, создаст внешнюю функцию «СведенияОВнешнейОбработке» в шаблоне модуля объекта, разнесет по шаблонам заготовки процедур для обработки команд и при необходимости включит в шаблоны дополнительные функции. Например, если тип создаваемой обработки «Заполнение объекта», версия БСП 2.1.2.24, и есть команды А и А1 (открытие формы), Б  и Б1 (вызов клиентского метода), В и В1  (вызов серверного метода), то в шаблоны будут включены следующие строки.

Шаблон модуля объекта.

Процедура ВыполнитьКоманду(Идентификатор, ОбъектыНазначения, ПараметрыВыполнения) Экспорт

                // Текст процедуры обработки команд В и В1

КонецПроцедуры

Шаблон модуля формы.

Процедура ВыполнитьКоманду(Идентификатор, ОбъектыНазначения) Экспорт

                // Текст процедуры обработки команд Б и Б1

КонецПроцедуры

Также в шаблон модуля формы будет включен текст – напоминание разработчику:

// В процедуре "ПриСозданииНаСервере" доступны параметры формы

// ИдентификаторКоманды и ОбъектыНазначения  (последний - если обработка назначаемая)

Теперь разработчик должен заполнить процедуру для обработки команд  Б, Б1 процедуру для обработки команд В и В1, а для обработки команд А и А1 – сохранить параметры формы в реквизитах формы в обработчике ПриСозданииНаСервере , а в обработчике ПриОткрытии или в обработчике элемента формы выполнить обработку команды с сохраненными параметрами.

Если признак «Расширенные шаблоны» не установлен, на все команды обработки с одинаковым использованием создается по одному обработчику.

Если признак «Расширенные шаблоны» установлен, тогда обработка «Подготовка шаблонов»,  распределяет создаваемые заготовки обработчиков по командам, а в случае, если выбран модификатор «ПечатьMXL» - по макетам, заданным в идентификаторах команд.

Так, для предыдущего примера будет создано две заготовки обработчиков команд  в шаблоне модуля объекта:

Процедура ВыполнитьКомандуВ(ОбъектыНазначения)

КонецПроцедуры

Процедура ВыполнитьКомандуВ1(ОбъектыНазначения)

КонецПроцедуры

В шаблоне модуля формы будет также создано две заготовки обработчиков команд Б и Б1. В обработчике формы ПриСоздании будет включен код , обеспечивающий сохранение параметров формы  в ее реквизитах, а в обработчике «ПриОткрытии» построен код для вызова обработчиков команд  А и А1. Заготовки для этих обработчиков также размещаются в шаблоне модуля формы.

Установка признака «Расширенные шаблоны» имеет смысла, если в обработке присутствует несколько команд с одинаковым параметром «Использование» или  несколько макетов печати табличного документа. В частности, при печати табличного документа формируется шаблон модуля объекта, ориентированный на использование стандартного запроса с обработкой результата.

Код обработки является открытым и может быть отредактирован разработчиком для формирования шаблонов каких-либо специализированных обработок.

Обработка «Отладка»

Эта обработка функционирует следующим образом.

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

После завершения выбора и контроля данных становится доступной кнопка «Выполнить обработку».

При выполнении выбранной обработки имитируется ее выполнение как внешней обработки.

Единственное отличие возникает, если в обработке задана версия БСП больше 1.2.1.4, использование команды – «Вызов серверного метода», а модификатор не заполнен. Тогда в последнем параметре обработчика команды передается структура, элементом которой является ссылка на элемент справочника «Дополнительные отчеты и обработки». Соответствующего создаваемой обработке элемента во время отладки вполне может не существовать. Поэтому вместо ссылки на элемент справочника передается структура, содержащая основную информацию об объекте.

Причины купить

Снижение трудоемкости разработки внешних отчетов и обработок.

Достоинства

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

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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Помощник разработчика внешних отчетов и обработок
23.05.2014
5000 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Макас (makas) 22.02.13 11:25
В бухгалтерии предприятия 2.0 (обычный режим работы) будет работать?
-------------
2. Юрий Михайлов (t0202) 22.02.13 11:46
Нет, она запускается только в управляемом режиме.
3. Алексей Роза (DoctorRoza) 23.02.13 09:44
4. Роман Ложкин (webester) 24.02.13 08:54
Оформление кода, отступы, оформление? Не не слышал, залью одним куском обработка 5тр. Как я понял в зависимости от установленных галочек проставляет тот или иной код?
5. Юрий Михайлов (t0202) 24.02.13 09:53
Да, она формирует код модуля объекта и модуля формы в зависимости от заданных параметров обработки и проставленных галочек. Если расширенный шаблон, часто остается только запускать конструктор запроса с обработкой и полный код обработки практически готов.
6. mi4asib (sheff161) 02.09.13 09:36
7. Юрий Михайлов (t0202) 02.09.13 11:19
Демо нет, но есть инструкция с примерами.
Обработки сейчас на сертификации в 1С. По их запросу инструкцию доработана.
8. Роман Сюзев (sorb) 17.10.13 15:34
Есть несколько вопросов:
1. До какой версии БСП есть поддержка сейчас?
2. Сколько времени будет осуществляться поддержка новых версий после приобретения?
3.
Разработка ведется в базе с конфигурацией, в которой разрешено внесение изменений
: это временно?
4.
Демо нет, но есть инструкция с примерами.
: где посмотреть инструкцию и примеры?
9. Юрий Михайлов (t0202) 17.10.13 15:56
1. Продукт прошел сертификацию на "1С:Совместимо". Поддерживает все версии БСП.
2. Пока 1С что-то подобное не встроит в БСП. Они вроде бы об этом размышляют.
3. Это один из основных принципов, заложенных в продукт. Создаются обработки, которые стандартными средствами запускаются как внешние, а отлаживаться могут как внутренние обработки конфигурации (например, в копии рабочей базы), что и позволяет использовать все возможности стандартного отладчика.
4. Инструкция с примерами есть на страничке http://www.pereslavl-computer.ru/1c/ourmen/2-uncategorised/9-helper.html
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа