Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

Публикация № 627824

Разработка - Инструментарий разработчика

регламентное фоновое задание внешняя обработка параметры выполнения

85
Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

Назначение

При написании процедур какого-либо внешнего регламентного задания у программиста часто возникает необходимость указания набора параметров его выполнения, например, значений по умолчанию, которые необходимо подставлять в формируемые регл. заданием документы. Обычно эта проблема программистом решается указанием значений этих параметров непосредственно в коде процедур регл. задания, т.е. "хардкодом", что может являться неверным с точки зрения практики программирования и отсутствием возможности изменять эти параметры в пользовательском режиме без привлечения программиста.
Данный шаблон внешней обработки регл. задания как раз и призван устранить указанные выше недостатки и упростить программисту процесс реализации внешнего регл. задания.
Шаблон обработки пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше. 

Инструкция по использованию

В режиме "Конфигуратор":

  • Открываем файл обработки и присваиваем ей удобные нам имя и синоним
  • Добавляем в ее реквизиты нужное нам число параметров, которые будут использоваться в процедурах регл. задания
  • Открываем форму обработки и выносим на нее необходимые нам реквизиты-параметры
  • В модуле обработки в функции "СведенияОВнешнейОбработке" актуализируем информацию о ней
  • В процедуре "ВыполнитьКоманду" пишем необходимый нам код с указанием в нужных его частях реквизитов-параметров обработки (допустим, в качестве параметров выполнения запросов)

В режиме "1С:Предприятие":

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

Технические требования

  • Платформа версии 8.3.3 и выше (с отключенным режимом совместимости с 8.2)
  • Любая конфигурация на управляемых формах, в состав которой входит подсистема "Дополнительные отчеты и обработки" из библиотеки стандартных подсистем (БСП) версии 2.1 и выше - например, это такие типовые конфигурации как "УТ 11", "БП 3", "ЗУП 3" и др. Версию БСП, используемой в вашей конфигурации, можно просмотреть в регистре сведений "Версии подсистем". Режим использования модальности не важен
85

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

Наименование Файл Версия Размер
Шаблон обработки регл. задания
.epf 9,08Kb
28.05.17
138
.epf 1.0 9,08Kb 138 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. user633533_encantado 4 29.05.17 12:02 Сейчас в теме
Как вы реализовали хранение параметров, куда вы их записываете ?
2. Bassgood 915 29.05.17 12:09 Сейчас в теме
(1) Параметры хранятся в реквизите доп. обработки "ХранилищеНастроек"
3. user633533_encantado 4 29.05.17 12:28 Сейчас в теме
Понятно, я тоже так делаю. :) Очень удобный механизм, например когда надо обработать тысячи документов, не нарушая работу пользователей, ставишь на ночь и порядок. А результат обработки я высылаю себе на почту из того же регламентного задания.
4. bmk74 117 29.08.19 12:15 Сейчас в теме
У себя сделал проще в конфу добавлен справочник УниверсальныеРегламентыеЗадания, И создано РегЗадание, они связаны между собой, при этом самое интересное код можно прописать как в самом справочнике так и вызвать общий модуль с передачей параметров.
Прикрепленные файлы:
5. Bassgood 915 29.08.19 17:03 Сейчас в теме
(4) И чем же оно проще?
1. Изменение конфигурации - добавлено два новых объекта метаданных
2. Используется свой собственный механизм, вместо типового через справочник "Внешние отчеты и обработки" - зачем изобретать что-то свое, если есть уже готовое типовое решение
3. Каких-либо дополнительных плюсов не вижу в предложенной Вами реализации, за исключением возможности редактирования кода регл. задания непосредственно в справочнике, но он довольно сомнительный - во-первых потребность в редактировании кода регл. задания возникает крайне редко, а во-вторых отсутствует возможность его отладки
Поэтому не вижу в предложенной Вами реализации никакого упрощения относительно типового механизма - она универсальна, да, но работает в обход типовому механизму - хорошее решение для нетиповых конфигураций (реализованных без БСП).
collider; +1 Ответить
6. sparhh 29.08.19 17:21 Сейчас в теме
Почему не хранить все настройки в ХранилищеОбщихНастроек?
7. Bassgood 915 31.08.19 14:48 Сейчас в теме
(6) Можно и так конечно, НО есть следующие минусы:
1. Вместо использования типовой возможности мы изобретаем что-то свое, что само по себе является "велосипедом"
2. Такой объект как "ХранилищеОбщихНастроек" предназначен для хранения пользовательских настроек, но не для хранения каких-либо общих для системы параметров
3. Настройки внешней обработки физически хранятся отдельно от нее - в системной таблице, с которой далеко не всегда удобно работать - чтобы получить настройки нужно знать под какой учеткой и адресу они хранятся
Ну вот как то так
8. sparhh 01.09.19 23:08 Сейчас в теме
1. В чем "типовость" это возможности? Это механизм БСП.
Запись и чтение в общие настройки также делается одной строкой - ОбщегоНазначения.ХранилищеОбщихНастроекСохранить
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить
2. Возможно, возможно.. Однако вполне рабочий вариант из двух строк кода.
3. Настройку можно сохранять и без привязки к пользователю вроде как.
9. Bassgood 915 02.09.19 09:57 Сейчас в теме
(8) 1. "Типовость" и состоит в том, что используется механизм БСП, которая включена во все типовые конфигурации, и не только
2. Вариант рабочий - да, но использование объекта идет не по его прямому назначению
3. Ошибаетесь, настройки хранятся именно в разрезе пользователей, и привязывать их к какой-то конкретной учетке не айс (в принципе, связано с п.2)
10. sparhh 02.09.19 11:12 Сейчас в теме
(9) Ну в целом пожалуй соглашусь.
Пользователь для сохранения\загрузки нужен. Можно кидать все на Администратора.
А так да, лучше выглядит работа через реквизит ХранилищеЗначений.
Bassgood; +1 Ответить
Оставьте свое сообщение