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

28.08.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Шаблон обработки регл. задания
.epf 9,08Kb
319
319 Скачать (1 SM) Купить за 1 850 руб.

Назначение

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

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

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

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

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

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

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

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

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

См. также

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

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

10000 руб.

02.09.2020    151626    833    397    

841

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

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

9360 руб.

17.05.2024    20362    59    42    

106

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

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    14180    12    27    

36

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

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

18000 руб.

06.10.2023    13999    36    7    

69

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

6900 руб.

20.08.2024    3853    22    6    

36

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

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

10000 руб.

10.11.2023    9093    33    10    

56

SALE! %

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

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

4800 3840 руб.

14.01.2013    185409    1127    0    

899

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16744    6    29    

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

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

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

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

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

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