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

28.08.19

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

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

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

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

Назначение

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

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

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

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

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

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

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

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

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

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119963    656    389    

701

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    7017    20    6    

37

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    3253    10    1    

31

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177356    1071    0    

846

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99207    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    17921    6    8    

38

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    27949    3    10    

14

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23494    15    15    

31
Отзывы
11. dnikolaev 177 26.02.21 20:53 Сейчас в теме
Очень качественная и удобная обработка.
Спасибо что поделились. сэкономил время и сделал красиво свою задачу.
Rabin; Bassgood; +2 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user633533_encantado 11 29.05.17 12:02 Сейчас в теме
Как вы реализовали хранение параметров, куда вы их записываете ?
2. Bassgood 1424 29.05.17 12:09 Сейчас в теме
(1) Параметры хранятся в реквизите доп. обработки "ХранилищеНастроек"
3. user633533_encantado 11 29.05.17 12:28 Сейчас в теме
Понятно, я тоже так делаю. :) Очень удобный механизм, например когда надо обработать тысячи документов, не нарушая работу пользователей, ставишь на ночь и порядок. А результат обработки я высылаю себе на почту из того же регламентного задания.
4. bmk74 233 29.08.19 12:15 Сейчас в теме
У себя сделал проще в конфу добавлен справочник УниверсальныеРегламентыеЗадания, И создано РегЗадание, они связаны между собой, при этом самое интересное код можно прописать как в самом справочнике так и вызвать общий модуль с передачей параметров.
Прикрепленные файлы:
5. Bassgood 1424 29.08.19 17:03 Сейчас в теме
(4) И чем же оно проще?
1. Изменение конфигурации - добавлено два новых объекта метаданных
2. Используется свой собственный механизм, вместо типового через справочник "Внешние отчеты и обработки" - зачем изобретать что-то свое, если есть уже готовое типовое решение
3. Каких-либо дополнительных плюсов не вижу в предложенной Вами реализации, за исключением возможности редактирования кода регл. задания непосредственно в справочнике, но он довольно сомнительный - во-первых потребность в редактировании кода регл. задания возникает крайне редко, а во-вторых отсутствует возможность его отладки
Поэтому не вижу в предложенной Вами реализации никакого упрощения относительно типового механизма - она универсальна, да, но работает в обход типовому механизму - хорошее решение для нетиповых конфигураций (реализованных без БСП).
baracuda; GonziK_KIV; vladimirmatancev; collider; +4 Ответить
6. sparhh 29.08.19 17:21 Сейчас в теме
Почему не хранить все настройки в ХранилищеОбщихНастроек?
7. Bassgood 1424 31.08.19 14:48 Сейчас в теме
(6) Можно и так конечно, НО есть следующие минусы:
1. Вместо использования типовой возможности мы изобретаем что-то свое, что само по себе является "велосипедом"
2. Такой объект как "ХранилищеОбщихНастроек" предназначен для хранения пользовательских настроек, но не для хранения каких-либо общих для системы параметров
3. Настройки внешней обработки физически хранятся отдельно от нее - в системной таблице, с которой далеко не всегда удобно работать - чтобы получить настройки нужно знать под какой учеткой и адресу они хранятся
Ну вот как то так
8. sparhh 01.09.19 23:08 Сейчас в теме
1. В чем "типовость" это возможности? Это механизм БСП.
Запись и чтение в общие настройки также делается одной строкой - ОбщегоНазначения.ХранилищеОбщихНастроекСохранить
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить
2. Возможно, возможно.. Однако вполне рабочий вариант из двух строк кода.
3. Настройку можно сохранять и без привязки к пользователю вроде как.
9. Bassgood 1424 02.09.19 09:57 Сейчас в теме
(8) 1. "Типовость" и состоит в том, что используется механизм БСП, которая включена во все типовые конфигурации, и не только
2. Вариант рабочий - да, но использование объекта идет не по его прямому назначению
3. Ошибаетесь, настройки хранятся именно в разрезе пользователей, и привязывать их к какой-то конкретной учетке не айс (в принципе, связано с п.2)
10. sparhh 02.09.19 11:12 Сейчас в теме
(9) Ну в целом пожалуй соглашусь.
Пользователь для сохранения\загрузки нужен. Можно кидать все на Администратора.
А так да, лучше выглядит работа через реквизит ХранилищеЗначений.
Bassgood; +1 Ответить
11. dnikolaev 177 26.02.21 20:53 Сейчас в теме
Очень качественная и удобная обработка.
Спасибо что поделились. сэкономил время и сделал красиво свою задачу.
Rabin; Bassgood; +2 Ответить
12. ALF_CB 22.05.22 14:00 Сейчас в теме
Попробовал реализовать все тоже самое. Одно не могу понять как программно при выполнении регламентного задания забрать настройки формы из ХранилищеНастроекДанныхФорм. Может подскажете?
13. Bassgood 1424 22.05.22 23:34 Сейчас в теме
(12) Подскажу:
1. В данной обработке не используется какое-либо системное хранилище настроек - используется типовой справочник БСП "Дополнительные отчеты и обработки", в котором и хранится файл внешней обработки регламентного задания, а настройки хранятся в его реквизите "ХранилищеНастроек"
2. Вы используете для этих целей не совсем то системное хранилище ("ХранилищеНастроекДанныхФорм"), лучше использовать "ХранилищеОбщихНастроек", но его использование для реализации хранения настроек регламентного задания также сомнительно - читайте комментарии выше.
14. ALF_CB 23.05.22 08:55 Сейчас в теме
Спасибо. Я хотел использовать функцию сохранения- восстановления настроек. А они, как я понял хранятся именно в ХранилищеНастроекДанныхФорм. Думал из него вытаскивать.
15. ALF_CB 23.05.22 09:00 Сейчас в теме
Можете прислать кусок кода?
16. Bassgood 1424 23.05.22 09:56 Сейчас в теме
(15) В синтакс-помощнике так и забиваете "ХранилищеОбщихНастроек" - методы "Сохранить" и "Загрузить"
17. Ibrogim 1311 02.06.22 20:34 Сейчас в теме
(9) Скачал вашу обработку и заранее ставлю +, однако
1. куда уж типовее использовать платформенный механизм, коим являются ХранилищеОбщихНастроек
2. Как раз хранить внутри обработки данные общие для системы это велосипед (хотя в данном случае это уместно). Например обработка может быть постоянно обновляемой (как мои коммерческие решения), куда тогда денутся настройки ?
3. Пользователь там условный. это просто строка. не обязательно чтобы такой пользователь существовал. Можно написать что то типа "ПользовательОбщихНастроек"

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

С Уважением!
smit1c; join2us; +2 Ответить
18. Ibrogim 1311 02.06.22 20:53 Сейчас в теме
(17)
2.+ ну ок. не внутри обработки, а в привязке к элементу справочника доп. обработок. но с ним тоже может случиться всякое...

p.s. Спасибо за решение, сэкономил время для конкретной задачи
Bassgood; +1 Ответить
19. Bassgood 1424 23.08.22 11:12 Сейчас в теме
(17) Прокомментирую по пунктам:
1. Если говорить про платформу - то да, объект "ХранилищеОбщихНастроек" будет являться "типовым" объектом для хранения настроек, если же говорить про БСП - то "типовее" все же использовать ее справочник "Дополнительные отчеты и обработки".
2. Внутри конкретной обработки справочника предлагается хранить не общие настройки системы, а именно настройки конкретной обработки - настройки выполнения регламента. Думаю, что затереть настройки куда проще в "ХранилищеОбщихНастроек" (а мб они могут затерты самой платформой), нежели в служебном справочнике.
3. Куда проще запутаться в объекте "ХранилищеОбщихНастроек" (где и что конкретно в нем хранится), который имеет только программный интерфейс (если конечно разработчик не позаботился заранее о правильном и удобном его отображении где-либо в интерфейсе), в отличие от справочника "Дополнительные отчеты и обработки", имеющего интерактивный интерфейс, с которым знаком любой более менее опытный программист.
20. e9504100606 86 29.12.23 15:47 Сейчас в теме
Спасибо!
Могу порекомендовать получать ссылку (из формы) на доп.обработку:
вместо "НайтиПоРеквизиту" использовать параметр формы "ДополнительнаяОбработкаСсылка"

ДополнительнаяОбработкаОбъект = Параметры.ДополнительнаяОбработкаСсылка.ПолучитьОбъект();
ДополнительнаяОбработкаОбъект.ХранилищеНастроек = Новый ХранилищеЗначения(НастройкиСтруктура);
ДополнительнаяОбработкаОбъект.Записать();

Подробнее в ИТС (источник):
https://its.1c.ru/db/bsp319doc#content:4:hdoc:issogl4_пример_сохраняемые_параметры_дополнительной_обработк­и
Оставьте свое сообщение