БСП, использование типового механизма 1с для запуска регламентных заданий с заранее подготовленными настройками.

03.01.14

Разработка - Математика и алгоритмы

Описание варианта запуска регламентного задания на БСП, без изменения типовой конфигурации.

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

Наименование Файл Версия Размер
Шаблон обработки для регламентного задания с сохранением настроек.
.epf 12,78Kb
175
.epf 12,78Kb 175 Скачать

Кто не сталкивался с необходимостью  запускать свои регламентные задания??? Наконец-то в типовом решении появилась возможность запускать выполнение внешней обработки через регламентное задание.

Впервые увидел реально  удобную  вещь на //infostart.ru/public/103071  для  собственных  разработок неплохая основа на обычных формах.Основная идея -  передавать регламентному заданию заранее подготовленную настройку.

Еще  имеется несколько  вариантов  применения запуска регламентных заданий с использованием плана обмена и 

//infostart.ru/public/151693/ и http://dev.1tsm.ru/project/114.

 

Сформулирую задачу:

По расписанию выполнять внешнюю обработку. Обработка должна иметь возможность задания определенных параметров. 

Сама обработка во вложении (в моей конфе реально работающая,  вам предлагаю посмотреть в качестве примера.)

Глубоко обработку расписывать не буду - см. код в обработке.

 

Заготовка взята  из демо базы БСП.  Создаем свою форму. Добавляем необходимые реквизиты и табличные части.. 

В общем-то  обычная внешняя обработка. Добавляем кнопку "сохранить настройки".

 

 

 В модуле обработки  в описании задаем две команды. Одна  потребуется для открытия  формы обработки, другая выполняется на сервере в регламентном задании.

 

 

 Добавляем  обработку  в дополнительные отчеты и обработки.  Для команды "Обновить часы" устанавливаем использование регламентного задания, задаем само регламентное задание. Указываем, что  обработка относится к административному блоку. 

 

Настраиваем выбранный раздел. 



Остальное - дело техники.  

 

бсп регламентные задания настройка регламентных заданий

См. также

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

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

28.12.2023    4822    mrXoxot    11    

99

Справочник по методам БСП

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Абонемент ($m)

Данная конфигурация представляет собой инструмент для изучения методов библиотеки стандартных подсистем . Может помочь разработчикам для быстрого поиска кода и переноса его в другие конфигурации. Это конфигурация не в является заменой сервиса ИТС , а только помогает разработчикам в изучении БСП.

2 стартмани

11.10.2023    6319    117    plm    13    

55

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

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

1 стартмани

09.06.2023    7452    4    SpaceOfMyHead    17    

56

Многопоточное выполнение процедуры с помощью ДлительныеОперации

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В публикации: Приведен шаблон для запуска многопоточной операции для различных вариантов размещения многопоточной операции, в том числе в модуле объекта внешней обработки, встроенной в справочник Дополнительные отчеты и обработки; Представлен вариант корректного отображения прогресса многопоточной операции; Приведены замеры, демонстрирующие целесообразность использования нового механизма для увеличения производительности.

1 стартмани

26.02.2023    8536    egoriy111    26    

88
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 03.01.14 15:21
Сообщение было скрыто модератором.
...
2. пользователь 08.01.14 11:48
Сообщение было скрыто модератором.
...
3. polukaroff 3 12.09.15 16:45 Сейчас в теме
Хороший механизм.
Одно но: в прикрепленной обработке заголовок процедуры Выполнить команду выглядит так:

Процедура ВыполнитьКоманду(ИдентификаторКоманды,ПараметрыКоманды,парам=Неопределено) Экспорт

А вызывается она из Модуля доп.отчеты и обработки так:
Если ПараметрыКоманды = Неопределено Тогда
ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды);
Иначе
ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыКоманды);
КонецЕсли;

То есть если ПараметрыКоманды =Неопределено - возникает ошибка, надо заголовок писать так:

Процедура ВыполнитьКоманду(ИдентификаторКоманды,ПараметрыКоманды = Неопределено, парам = Неопределено) Экспорт
4. Vengetto 16.12.15 16:27 Сейчас в теме
Я заказал обработку, почему она до сих пор не пришла ко мне на почту?
5. almas 254 17.12.15 14:40 Сейчас в теме
(4) Vengetto,
Сожалею. Я в данном случае не виноват. Не отработал Робот инфостарта..
6. 987123321 31.10.16 19:56 Сейчас в теме
очень полезная статья
7. ppk2006 20.01.17 09:53 Сейчас в теме
Добрый день!
Не могли бы, пожалуйста, подсказать как сохранить параметры для выполнения обработки в форме НастройкаПараметров, чтобы они использовались при выполнении Регламентной операции?
8. ja-maik-a 13.08.18 12:03 Сейчас в теме
Подскажите, возможно ли сделать запуск внешней обработки по расписанию в отдельном сеансе с открытием формы внешней обработки, в которой будет выводится процесс выполнения обработки?
9. pavelkusov 06.03.19 16:11 Сейчас в теме
Описание процесса неполное и, соответственно, не корректное. То есть, если сделаете в точности как тут написано, работать не будет. Возможно, в обработке сделано нормально - не знаю. Польза от статьи лишь в том, что она рассказывает о существовании данного механизма в 1С. Скачайте БСП и посмотрите в демо базе. Там все корректно и работает.
Вот пример правильного модуля объекта:

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Возвращает сведения о внешней обработке.
//
// Возвращаемое значение:
// Структура - Подробнее см. ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке().
//
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Информация = НСтр("ru = 'Обработка сервисных функций полнотекстового поиска. Используется для демонстрации возможностей подсистемы ""Дополнительные отчеты и обработки"".'");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "2.4.1.1";

Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Обновить индекс полнотекстового поиска'");
Команда.Идентификатор = "ОбновитьИндекс";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Команда.ПоказыватьОповещение = Истина;

Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Вывод ошибки'");
Команда.Идентификатор = "Исключение";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();

Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Управление полнотекстовым поиском'");
Команда.Идентификатор = "ОткрытиеФормы";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Истина;

Описание = НСтр("ru = 'Для управления индексом полнотекстового поиска требуется установка привилегированного режима.'");
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима(Описание);
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

Возврат ПараметрыРегистрации;
КонецФункции

// Обработчик серверных команд.
//
// Параметры:
// ИмяКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// ПараметрыВыполнения - Структура - Контекст выполнения команды.
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// Может использоваться для чтения параметров обработки.
// Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
//
Процедура ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыВыполнения) Экспорт
Если ИмяКоманды = "Исключение" Тогда
ВызватьИсключение НСтр("ru = 'Прикладной текст исключения'");
КонецЕсли;
Если ИмяКоманды = "ОткрытиеФормы" Тогда
ИмяКоманды = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыВыполнения, "ИмяКоманды");
КонецЕсли;

// Общие действия перед началом выполнения команд.
УстановитьПривилегированныйРежим(Истина);

// Диспетчеризация обработчиков команд.
Если ИмяКоманды = "ОбновитьИндекс" Тогда
ПолнотекстовыйПоиск.ОбновитьИндекс(Ложь, Ложь);
ИначеЕсли ИмяКоманды = "ОчиститьИндекс" Тогда
ПолнотекстовыйПоиск.ОчиститьИндекс();
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Команда ""%1"" не поддерживается обработкой ""%2""'"),
ИмяКоманды,
Метаданные().Представление());
КонецЕсли;

// Имитация длительной операции для демонстрации запуска фонового задания в клиент-серверном режиме.
Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ДатаОкончания = ТекущаяДатаСеанса() + 4;
Пока ДатаОкончания > ТекущаяДатаСеанса() Цикл
КонецЦикла;
КонецЕсли;

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

#КонецОбласти

#КонецЕсли
Оставьте свое сообщение