Автообмен через регламентное задание на сервере

На серверной базе доступен механизм регламентных заданий. Фоновое задание выполняется сервером автоматически, без открытия каких-либо окон. Нет необходимости держать отдельный компьютер/сеанс для запуска 1С в пользовательском режиме.

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

  1. Запустите 1С в режиме Конфигуратора.
  2. Создайте сам объект регламентного задания с расписанием и выберите модуль, в котором будет располагаться код. Рекомендуем создать отдельный модуль с названием «КонтурEDI». Для этого в списке «Общие» → нажмите правой кнопкой мыши на список «Общие модули» → «Добавить».
  3. Откроются свойства модуля. Введите название «КонтурEDI» и установите флажок «Сервер».
  4. Создайте процедуру для выполнения фонового задания. Можно использовать приведенный код как шаблон.

     

    Пример кода
    Процедура ВыполнениеОбмена_КонтурEDI() Экспорт
        
        // 1. Если модуль сохранен в справочнике «Внешние обработки»
        // подставьте свой код
        КодОбработкиВСправочнике = «000000001»;
        ХранилищеОбработки = Справочники.ВнешниеОбработки.НайтиПоКоду(КодОбработкиВСправочнике);
        ИмяВременногоФайла = ПолучитьИмяВременногоФайла(«epf»);
        ХранилищеОбработки.ХранилищеВнешнейОбработки.Получить().Записать(ИмяВременногоФайла);
        БезопасныйРежим = Ложь;
        ОбъектОбработки = ВнешниеОбработки.Создать(ИмяВременногоФайла, БезопасныйРежим);
        
        // 2. Если модуль сохранен как файл на диске
        // внимание: данный путь должен быть доступен учетной записи, 
        // под которой запущен сервер 1С:Предприятие.
        ПолноеИмяФайла = "\\fileserver\share KonturEDI.epf";
        БезопасныйРежим = Ложь;
        ОбъектОбработки = ВнешниеОбработки.Создать(ПолноеИмяФайла, БезопасныйРежим);
        
        // 3. Если модуль встроен в конфигурацию
        ОбъектОбработки = Обработки.КонтурEDI.Создать();
        
        // Общая часть
        ОбъектОбработки.ФоновоеЗадание_ВыполнитьОбмен();
        ОбъектОбработки = Неопределено;
        // если модуль сохранен в справочнике «Внешние обработки»
        УдалитьФайлы(ИмяВременногоФайла);
        
    КонецПроцедуры

     

  5. Создайте объект регламентного задания. Для этого в списке «Общие» → нажмите правой кнопкой мыши на список «Регламентные задания» → «Добавить».
  6. Введите название «ВыполнениеОбмена_КонтурEDI». 
  7. В поле «Имя метода» выберите метод, созданный ранее модуль «КонтурEDI» (процедура «ВыполнениеОбмена_КонтурEDI»).
  8. Установите флажки в свойствах «Использование» и «Предопределенное». 
  9. Настройте периодичность выполнения задания. Для этого в разделе «Расписание» нажмите «Открыть», в открывшемся окне настройте расписание:
    1. На вкладке «Общее» установите периодичность запуска задания. Например, выполнять каждый день.
    2. На вкладке «Дневное» установите время повтора. Например, повторять каждые 300 секунд (5 минут).
    3. На вкладке «Недельное» выберите дни, в которые нужно выполнять задание.

      С указанными настройками задание будет запускаться каждые 5 минут круглосуточно. Можно ограничить выполнение по дням недели и часам работы. Время в этом случае определяется относительно компьютера, на котором находится сервер 1С:Предприятия.

  10. Примените изменения в конфигурации. Для этого требуется монопольный режим: все активные пользователи должны закрыть свои сеансы работы 1С:Предприятие. Иначе обновление не сработает.
  11. Проверьте результат настройки и запуск задания с помощью обработки «Консоль заданий» с диска ИТС: КонсольЗаданий.epf
    Сверху — список всех регламентных заданий. Снизу — список запущенных или уже выполненных заданий. Если при обмене появились ошибки, то в списке снизу в колонке «Описание ошибки» будет указана причина. В этом случае задание запустится повторно согласно настройкам.
  12. Для файловой базы данных в настройках учета необходимо выбрать пользователя, в сеансе которого будут выполняться регламентные задания.
    Для этого запустите 1С:Предприятие и нажмите «Сервис» → «Настройка учета» → «Настройка параметров учета».
    В открывшемся окне перейдите на вкладку «Обмен данными» и выберите пользователя, в сеансе которого будут выполняться регламентные задания. Нажмите «ОК».

База знаний