Настройка автоматического обмена между 1С и сайтом — одна из самых частых задач для администраторов и программистов 1С. В конфигурации 1С:Управление торговлей 10.3 этот процесс имеет ряд специфических особенностей, особенно если база данных работает в файловом режиме. Часто пользователи сталкиваются с тем, что после изменения расписания обмен полностью прекращается. Разберем по шагам, как правильно настроить периодичность выгрузки, какие параметры за что отвечают и что нужно сделать, чтобы задания выполнялись стабильно.
Первым делом проанализируем настройки самого окна «Расписание». В 1С оно разделено на несколько вкладок, которые на форумах часто называют «рамками». Рассмотрим, как правильно задать интервал «один раз в час»:
Повторять каждые: 1 день.Повторять через: нужно указать количество секунд.Проанализируем ситуацию: если вы хотите, чтобы обмен шел каждые 5 минут для тестирования, укажите 300 секунд. Если обмен не запускается даже при правильном расписании, причина кроется в технических особенностях исполнения заданий.
Выясним причину, почему в файловой базе настройки расписания часто «игнорируются». В отличие от клиент-серверного варианта, где за выполнение задач отвечает Менеджер кластера 1С, в файловой базе нет отдельного серверного процесса. Регламентные задания в ней могут выполняться только внутри активного пользовательского сеанса.
Рассмотрим обязательные условия для работы обмена в файловой базе:
Сервис — Настройка программы — вкладка Обмен данными. Там нужно найти поле Пользователь для выполнения регламентных заданий в файловом режиме и выбрать конкретную учетную запись.Если вы работаете в терминальном режиме, рекомендуется создать отдельного пользователя (например, с именем Robot_Exchange) и оставить его сеанс постоянно запущенным на сервере. Это гарантирует, что РегламентныеЗадания будут отрабатывать по заданному графику.
Многие специалисты считают, что постоянно держать открытым окно 1С не совсем надежно — сеанс может «вылететь» или закрыться при перезагрузке сервера. Рассмотрим альтернативный и более стабильный метод — использование планировщика задач Windows и bat-файла.
Для реализации этого метода можно использовать следующий подход:
1. Создается небольшая внешняя обработка, которая при открытии инициирует обмен. В коде такой обработки можно использовать стандартные механизмы вызова процедур обмена из общих модулей, например:
Процедура ПриОткрытии()
// Инициализация обмена с сайтом
ОбменДаннымиСайт.ВыполнитьОбменДанными(УзелОбмена, Ложь);
// Завершение работы системы после выполнения
ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры
2. Создается файл с расширением .bat, который запускает 1С под нужным пользователем и открывает эту обработку. Пример командной строки:
"C:\Program Files\1cv8\bin\1cv8.exe" ENTERPRISE /F"C:\Bases\UT_Base" /N"Robot_Exchange" /P"Password123" /Execute "C:\Scripts\StartExchange.epf"
3. Этот bat-файл добавляется в Планировщик заданий Windows с нужной периодичностью (раз в час). Это избавляет от необходимости настраивать расписание внутри самой 1С и следить за активным сеансом пользователя.
Если расписание настроено, сеанс запущен, но данные не уходят на сайт, проанализируем дополнительные факторы:
КонсольРегламентныхЗаданий.epf (ее можно найти на дисках ИТС или в составе дополнительных инструментов). Она наглядно показывает состояние каждого задания, время последнего запуска и возникшие ошибки.Использовать периодический обмен данными. Без этой галочки внутренний механизм 1С не будет включать данный узел в очередь на выполнение.Подводя итог, скажем: для стабильной работы обмена в УТ 10.3 в файловом режиме критически важно либо обеспечить наличие постоянно активного «служебного» сеанса 1С с правильно указанным пользователем в настройках программы, либо полностью делегировать запуск обмена внешним средствам автоматизации ОС Windows.