Как настроить автоматическую выгрузку и загрузку XML в 1С:Бухгалтерия 2.0 по расписанию без снятия с поддержки?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При организации обмена данными между 1С и сторонними информационными системами часто возникает необходимость регулярного экспорта и импорта справочников или документов в формате XML. В случае с конфигурацией «1С:Бухгалтерия предприятия 2.0» задача усложняется тем, что программа разработана на обычном приложении и не содержит стандартного пользовательского планировщика для произвольных внешних обработок, привычного по конфигурациям на управляемых формах (БП 3.0).

Рассмотрим рабочие и проверенные способы реализации автоматического обмена данными по расписанию без изменения конфигурации и без снятия базы с поддержки.

Способ 1. Запуск внешней обработки через Планировщик задач ОС

Проанализируем наиболее распространенный вариант решения задачи. Он заключается в создании внешней обработки (файл формата .epf), в которую закладывается логика чтения/записи XML, и последующем её регулярном запуске с помощью стандартного планировщика задач Windows (Task Scheduler).

Разберем процесс настройки по шагам:

  1. Создание внешней обработки: В модуле формы или в модуле обработки прописывается процедура выгрузки и загрузки данных. Чтобы обработка отработала в полном режиме и закрылась без участия человека, в событие ПриОткрытии помещаем вызов основной логики и команду завершения работы сеанса.
  2. Исключение интерактивных вызовов: Важно убедиться, что код выгрузки не содержит модальных окон, функций Предупреждение(), Вопрос() или диалогов выбора файла. При их возникновении автозапуск заблокируется.
  3. Настройка командного файла: В Планировщике задач создается новое задание, которое запускает исполнительный файл платформы 1С с ключами командной строки.

Посмотрим на пример командной строки для запуска обработки в файловом или клиент-серверном режиме:


"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "C:\Bases\BP2" /N "РоботОбмена" /P "Пароль123" /Execute "C:\TradeExchange\ExportImportXML.epf"

В модуле внешней обработки алгоритм автозапуска выглядит следующим образом:


Процедура ПриОткрытии()
    // Выполняем экспорт и импорт XML
    ВыполнитьВыгрузкуЗагрузкуXML();
    
    // Завершаем сеанс 1С без подтверждения
    ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры

Способ 2. Использование штатных планов обмена и правил Конвертации данных

Выясним, как решить задачу с помощью типовых механизмов платформы. В БП 2.0 присутствует встроенная подсистема обмена данными и инструмент Универсальный обмен данными в формате XML.

  1. В программе «1С:Конвертация данных» (КД 2) разрабатываются правила обмена для нужных справочников и документов.
  2. В правилах выгрузки настраивается сопоставление по уникальному идентификатору (ссылке) или ключевым реквизитам. Это позволяет стороннему ПО и 1С корректно обновлять существующие записи (выполнять UPDATE) или создавать новые.
  3. Сформированные правила XML сохраняются и подгружаются в штатный справочник настроек обмена данными в 1С:Бухгалтерии 2.0.
  4. Запуск обмена привязывается к штатным регламентным заданиям или выполняется через стандартный механизм обмена данными с определенной периодичностью.

Способ 3. Подключение через COM-соединение

Если инициатором обмена выступает сторонняя программа, проанализируем вариант с подключением к 1С через COM-соединение. В этом случае внешняя система сам по расписанию подключается к базе 1С и вызывает методы внешней обработки.

Для реализации этого метода используется объект V82.COMConnector или V82.Application. Скрипт подключается к информационной базе, создает экземпляр внешней обработки через ВнешниеОбработки.Создать() и запускает экспортируемую процедуру обмена.

Важные технические нюансы и ограничения

При настройке фонового обмена необходимо учитывать следующие особенности платформы и операционной системы:

  1. Файловый режим базы: В файловой базе регламентные задания не выполняются самостоятельно на сервере. Для их работы требуется запущенный сеанс пользователя 1С или регулярный запуск через планировщик ОС.
  2. Права на файловый каталог: Если код выполняется в контексте сервера 1С:Предприятия (клиент-серверный режим), учетная запись службы (например, usr1cv8) должна иметь права на чтение и запись в папку, где размещаются XML-файлы. Рекомендуется использовать сетевые UNC-пути вида \\server\share\exchange.xml.
  3. Безопасный режим: При запуск внешних обработок платформа может включать безопасный режим, ограничивающий доступ к файловой системе и COM-объектам. Для корректной работы фонового обмена безопасный режим для внешней обработки должен быть отключен.
← На главную