|
Можно ли обратиться напрямую к предопределенному регламентному заданию? | ☑ | ||
---|---|---|---|---|
0
slafor
22.11.22
✎
13:42
|
В конфигурации есть набор предопределенных регламентных заданий. Хотелось бы иметь возможность напрямую обратиться к одному из них. Ссылки у таких заданий нет. Как это можно сделать?
Суть задачи: нужно "привязать" предопределенное регламентное задание к элементу справочника, чтобы можно было делать пользовательские настройки по условиям для процедуры общего модуля, которая вызывается этим заданием. |
|||
1
DES
22.11.22
✎
13:48
|
Задание вызывает процедуру. Её и цепляй.
Редакция не несет ответственности за автора сей публикации |
|||
2
slafor
22.11.22
✎
14:03
|
(1) А мне бы еще хотелось открывать, например, окно для того, чтобы пользователь мог изменить расписание конкретного регламентного задания. Ну не любят у нас пользователи гулять по конфигурации в поисках "Регламентных и фоновых заданий", там еще искать нужное задание, а потом лезть в расписание... Хотят, чтобы все по одной кнопке открывалось! )
|
|||
3
Kassern
22.11.22
✎
14:18
|
(2) Каким-то чудом ведь заполняется список в типовых конфах с регламентными заданиями и дается возможность менять расписание и запускать интерактивно, вот там и смотрите, все это дело есть в типовых.
|
|||
4
1Сергей
22.11.22
✎
16:53
|
(2) регламентные задания это суть предопределенный справочник. Воспользуйтесь готовой консолью заданий
|
|||
5
Галахад
гуру
22.11.22
✎
17:17
|
Если я правильно понял:
а = РегламентныеЗадания.НайтиПредопределенное("ааа"); б = а.Расписание; б.ПериодПовтораДней = 1; б.ПериодНедель = 1; б.ПериодПовтораВТечениеДня = 100; а.Записать(); |
|||
6
Остап Ибрагимович
22.11.22
✎
20:55
|
"Привязывай" (храни в реквизите) имя(а лучше - УникальныйИжентификатор) предопределенного регламентного задания. что-то типа:
&НаСервере Функция РасписаниеТекРегламЗаданияНаСервере(УИД) Возврат РегламентныеЗадания.НайтиПоУникальномуИдентификатору(УИД).Расписание КонецФункции &НаКлиенте Процедура ПоказатьРасписаниеРегламентногоЗаданияПоУид(УидРеграментногоЗадания) ДиалогРасписанияРз = Новый ДиалогРасписанияРегламентногоЗадания(РасписаниеТекРегоамЗаданияНаСервере(УидРеграментногоЗадания)); ДиалогРасписанияРз.Показать(); КонецПроцедуры |
|||
7
АнализДанных
23.11.22
✎
10:11
|
(0) Я создавал справочник с настройками рег.задания. Далее по ГУИД этого справочника создаешь экземпляр рег.задания и запускаешь\останавливаешь. У тебя получается связь рег.задание-справочник, через ГУИД, т.о. при записи справочника ты создаешь\удаляешь экземпляр задание по его ГУИД. Когда задание запустится, то в процедуре запуска будет входящий параметр, равный ссылке на справочник с настройками, далее дело техники...
Пример кода, где НастройкаЗадания - это ссылка на справочник ТвоеРегЗадание - рег.задание из конфигуратора При записи справочника вызываешь ОбновитьДанныеЗадания() //=== КОД ==== Процедура ОбновитьДанныеЗадания(НастройкаЗадания, Включить) Экспорт УстановитьПривилегированныйРежим(Истина); Если Не ЗначениеЗаполнено(НастройкаЗадания) Тогда Возврат; КонецЕсли; ИдентификаторЗадания = XMLСтрока(НастройкаЗадания.УникальныйИдентификатор()); Отбор = Новый Структура; Отбор.Вставить("Ключ", ИдентификаторЗадания); Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.ТвоеРегЗадание); РегламентноеЗадание = НайтиЗаданиеПоНастройке(НастройкаЗадания); Если РегламентноеЗадание=Неопределено Тогда РегламентноеЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.ТвоеРегЗадание); РегламентноеЗадание.Наименование = "Создание приказов на пересчет: " +НастройкаЗадания.Наименование; РегламентноеЗадание.Ключ = ИдентификаторЗадания; Параметры = Новый Массив(); Параметры.Добавить(НастройкаЗадания); РегламентноеЗадание.Параметры = Параметры; КонецЕсли; РегламентноеЗадание.Использование = Включить; РегламентноеЗадание.Записать(); КонецПроцедуры Функция НайтиЗаданиеПоНастройке(НастройкаЗадания) Экспорт УстановитьПривилегированныйРежим(Истина); РегламентноеЗадание = Неопределено; Если Не ЗначениеЗаполнено(НастройкаЗадания) Тогда Возврат РегламентноеЗадание; КонецЕсли; ИдентификаторЗадания = XMLСтрока(НастройкаЗадания.УникальныйИдентификатор()); Отбор = Новый Структура; Отбор.Вставить("Ключ", ИдентификаторЗадания); Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.ТвоеРегЗадание); МассивРегЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор); Если МассивРегЗаданий.Количество() Тогда РегламентноеЗадание = МассивРегЗаданий[0]; КонецЕсли; Возврат РегламентноеЗадание; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |