Регламентные задания позволяют выполнить некоторые действия в информационной базе по установленному расписанию. Это расписание можно изменять в конфигураторе:
Однако, в некоторых ситуациях необходимо предоставить пользователям изменять расписание регламентного задания в режиме 1С:Предприятия. Ниже описан способ решения подобной задачи.
Вот таким образом можно вызвать диалог редактирования расписания в режиме 1С:Предприятие (толстый клиент, обычное приложение):
Отбор = Новый Структура; Отбор.Вставить("Метаданные", Метаданные.РегламентныеЗадания.Задание); Отбор.Вставить("Предопределенное",Ложь); Отбор.Вставить("Использование", Истина); Отбор.Вставить("Наименование", "Задание"); ФоновоеЗадание = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор); Если ФоновоеЗадание.Количество() > 0 Тогда Задание = ФоновоеЗадание[0]; Диалог = Новый ДиалогРасписанияРегламентногоЗадания(Расписание); Если Диалог.ОткрытьМодально() Тогда ФоновоеЗадание[0].Расписание = Расписание; ФоновоеЗадание[0].Записать(); КонецЕсли; КонецЕсли;
Представленный код ищет регламентное задание "Задание". Если есть результат поиска, то получает расписание этого задания, а затем открывает диалог для его редактирования. После выполняется запись регл. задания, если были внесены изменения в расписание.
Для тонкого клиента код необходимо модифицировать. Редактирование расписания будет выполняться в 3 этапа:
В остальном принцип тот же.