1С 8.3 Управление расписанием регламентного задания - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Управление расписанием регламентного задания

Данные > Примеры кода 1С > 1С 8.3 Приложение, система, интерфейс
Модуль управления расписанием предопределенного регламентного задания "ЗагрузкаДанныхСКасс".

Предназначен для:
  1. Настройки расписания автоматической загрузки данных с кассовых аппаратов
  2. Открытия стандартного диалога платформы для редактирования расписания
  3. Сохранения пользовательских настроек расписания на сервере
  4. Обработки ошибок поиска и записи регламентного задания

Структура:
  • НастройкаЗадания() - открывает диалог редактирования
  • РасписаниеЗагрузкиСКасс() - получает текущее расписание с сервера  
  • ПриЗакрытииФормыРасписания() - обработчик сохранения изменений
  • СохранитьРасписание() - записывает новое расписание на сервер

Использование:
Вызывается из формы по кнопке "Настроить расписание загрузки с касс".

Требования:
  • Доступ к метаданным.РегламентныеЗадания.ЗагрузкаДанныхСКасс
  • Права на изменение свойств регламентных заданий

Управления расписанием предопределенного регламентного задания в 1С 8.3:
// Процедура открывает диалог настройки расписания предопределенного регламентного задания "ЗагрузкаДанныхСКасс"
&НаКлиенте
Процедура НастроитьЗадание(Команда)

   // Получаем текущее расписание регламентного задания с сервера
   РасписаниеРегламентногоЗадания = РасписаниеЗагрузкиСКасс();

   // Создаем диалог для редактирования расписания
   ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(РасписаниеРегламентногоЗадания);

   // Настраиваем оповещение для обработки результата редактирования
   ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗакрытииФормыРасписания", ЭтотОбъект);
   ДиалогРасписания.Показать(ОписаниеОповещения);

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

// Возвращает текущее расписание предопределенного регламентного задания "ЗагрузкаДанныхСКасс"
// @return РасписаниеРегламентногоЗадания - текущее расписание или Неопределено при ошибке
&НаСервереБезКонтекста
Функция РасписаниеЗагрузкиСКасс()

   Попытка
       // Ищем предопределенное регламентное задание по метаданным
       РегЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ЗагрузкаДанныхСКасс);

       // Проверяем, что задание найдено
       Если РегЗадание = Неопределено Тогда
           Возврат Неопределено;
       КонецЕсли;

       Возврат РегЗадание.Расписание;

   Исключение
       // В случае ошибки возвращаем Неопределено
       Возврат Неопределено;
   КонецПопытки;

КонецФункции

// Обработчик закрытия диалога расписания (вызывается автоматически)
// Параметры:
//   ПараметрРасписание - РасписаниеРегламентногоЗадания, Неопределено - выбранное пользователем расписание
//   ДополнительныеПараметры - Неопределено - зарезервировано платформой
&НаКлиенте
Процедура ПриЗакрытииФормыРасписания(ПараметрРасписание, ДополнительныеПараметры) Экспорт

   // Проверяем, что пользователь выбрал расписание (не нажал Отмена)
   Если ПараметрРасписание <> Неопределено Тогда
       // Сохраняем новое расписание на сервере
       СохранитьРасписание(ПараметрРасписание);
   КонецЕсли;

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

// Сохраняет новое расписание в свойствах регламентного задания на сервере
// Параметры:
//   РасписаниеРегЗадания - РасписаниеРегламентногоЗадания - новое расписание для записи
&НаСервере
Процедура СохранитьРасписание(РасписаниеРегЗадания)

   Перем Задание;

   Попытка
       // Находим предопределенное регламентное задание
       Задание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ЗагрузкаДанныхСКасс);

       // Проверяем существование задания
       Если Задание = Неопределено Тогда
           ВызватьИсключение НСтр("ru = 'Регламентное задание ""ЗагрузкаДанныхСКасс"" не найдено'");
       КонецЕсли;

       // Устанавливаем новое расписание и активируем задание
       Задание.Расписание = РасписаниеРегЗадания;
       Задание.Использование = Истина;

       // Сохраняем изменения
       Задание.Записать();

   Исключение
       // Выводим сообщение об ошибке пользователю
       ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
       СтрШаблон(НСтр("ru = 'Ошибка сохранения расписания: %1'"), ОписаниеОшибки()));
   КонецПопытки;

КонецПроцедуры
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 22.01.2025
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Назад к содержимому