Организация надежного обмена данными между центральным офисом и удаленными торговыми точками — типовая задача при автоматизации розничной торговли. Рассмотрим подробно, как настроить распределенную информационную базу (РИБ), организовать транспорт файлов сообщений и решить частые проблемы, связанные с невыполнением регламентных заданий в файловых базах и возникновением ошибок блокировок.
Шаг 1. Создание начального образа и настройка узлов РИБ
Для создания распределенной структуры в конфигурации 1С:Розница используется механизм планов обмена. Разберем по шагам правильную последовательность действий:
В центральной информационной базе (ЦИБ) перейдем в раздел Администрирование — Синхронизация данных.
Включим опцию Синхронизация данных и перейдем по ссылке Настройки синхронизации данных.
Нажмем кнопку создания нового подключения и выберем вариант Распределенная информационная база (РИБ) по магазину.
Укажем параметры магазина, префикс информационной базы и настроим транспорт передачи данных (каталог обмена, FTP или сетевую папку).
Создадим начальный образ подчиненного узла РИБ. Программа сформирует файл базы данных (1Cv8.1CD), который необходимо перенести на рабочий компьютер магазина.
Важно: не создавайте на удаленной точке пустую конфигурацию. Подключение к РИБ выполняется исключительно путем добавления в список баз созданного файла начального образа. При первом запуске подчиненной базы в монопольном режиме автоматически установятся необходимые системные привязки к главному узлу.
Шаг 2. Выбор и настройка транспорта для передачи файлов обмена
Передавать файлы пакетов (Message_*.xml или Message_*.zip) между магазином и офисом можно несколькими путями:
FTP-сервер: Классический и наиболее стабильный вариант для работы через мобильный интернет или нестабильные каналы связи. 1С сама управляет отправкой и загрузкой файлов по протоколу FTP.
Облачные сервисы (Яндекс.Диск, Облако Mail.ru и аналоги): На компьютерах офиса и магазина устанавливается клиент облачного диска под одной учетной записью. В настройках синхронизации 1С выбирается транспорт Локальный или сетевой каталог, указывающий на папку внутри синхронизируемого диска.
Обратите внимание: При использовании облачных клиентов возможна ошибка, когда 1С пытается прочитать файл обмена, пока он еще блокирован процессом фоновой синхронизации облачного диска. Для исключения сбоев рекомендуется настраивать интервал регламентного задания с запасом по времени, необходимым для полной загрузки файла в облако.
Шаг 3. Настройка сценариев синхронизации по расписанию
Чтобы обмен данными выполнялся без участия кассиров и операторов, настроим сценарий синхронизации:
В разделе Администрирование — Синхронизация данных перейдем в Сценарии синхронизации.
Создадим новый сценарий, выберем настроенную синхронизацию с нужным узлом и укажем выполняемые действия: Выполнить получение данных и Выполнить отправку данных.
Настроим Расписание (например, каждые 30 минут или каждый день с определенным интервалом).
Шаг 4. Решение проблемы с запуском регламентных заданий в файловой базе
В клиент-серверном варианте (SQL) регламентные задания запускаются автоматически службой кластера серверов 1С. Однако в файловом режиме (который чаще всего используется на торговых точках) фоновые задания не могут работать без активного процесса. Разберем основные способы решения этой проблемы:
Запуск регламентных заданий в отдельном сеансе: В разделе Администрирование — Обслуживание — Регламентные и фоновые задания через меню Настройка выполнения регламентных заданий можно включить автоматический запуск специального вспомогательного сеанса.
Публикация файловой базы на веб-сервере (IIS / Apache): Наиболее надежный способ для файлового режима. Веб-сервер держит постоянный рабочий процесс, в рамках которого регламентные задания и сценарии обмена выполняются в фоновом режиме стабильно и незаметно для кассира.
Использование ключа запуска: При запуске сеанса пользователя можно явно разрешить выполнение фоновых задач с помощью ключа командной строки:
Запуск обмена через Планировщик заданий Windows: Можно настроить запуск отдельного служебного процесса 1С по расписанию операционной системы для пакетного выполнения обмена с последующим автоматическим закрытием программы.
Шаг 5. Устранение ошибок блокировок («Объект уже заблокирован: Фоновое задание»)
Проанализируем частую ошибку, возникающую при ручном запуске обмена или слишком частом расписании:
Ошибка блокировки объекта. Объект уже заблокирован: компьютер: ..., сеанс: ..., приложение: Фоновое задание
Выясним причину: если регламентное задание запущено по расписанию и находится в процессе передачи данных, план обмена блокируется на время транзакции. Попытка параллельно запустить синхронизацию вручную или повторный запуск следующей итерации фонового задания вызовет конфликт блокировок.
Для устранения проблемы выполним следующие действия:
Откроем Журнал регистрации и проверим реальную длительность выполнения обмена.
Если выгрузка и загрузка занимают длительное время из-за большого объема данных или медленного интернета, увеличим интервал в расписании (например, с 5 минут до 30 минут).
В обработке Регламентные и фоновые задания проверим параметры задания: ограничим количество повторов при аварийном завершении и установим адекватный интервал перезапуска.
Для очистки накопившихся изменений при затяжных сбоях связи воспользуемся типовой обработкой Регистрация изменений для обмена данными, чтобы снять с регистрации устаревшие или избыточные объекты.