Как правильно настроить РИБ в 1С:Розница Аптека 2.2 для сети аптек?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

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

Анализ ситуации: когда РИБ действительно необходим?

Рассмотрим ситуацию, когда у нас есть несколько аптек с централизованным справочником номенклатуры и активным перемещением товаров между точками. Если текущая работа через удаленный доступ (RDP или тонкий клиент через VPN) вызывает существенные задержки при пробитии чеков или приемке товара, переход на РИБ становится оправданным. Проанализируем основные факторы, подтверждающие необходимость РИБ:

  1. Централизованное ведение НСИ: Если справочники создаются в одном месте, а затем рассылаются по точкам.
  2. Товарные перемещения: Если аптеки обмениваются остатками, и эти данные должны оперативно отражаться в системе.
  3. Автономность: Если аптека должна продолжать продажи даже при полном отсутствии интернета.
  4. Сводный учет: Если данные со всех точек должны агрегироваться в центральном узле для последующей выгрузки в «1С:Бухгалтерию» (БП).

Проектирование архитектуры распределенной базы

Разберем классическую схему построения РИБ для аптечной сети. Мы создаем Центральный узел, который будет выступать «мозгом» системы. В нем может не вестись реальная розничная торговля — его основная задача заключается в агрегации данных, управлении ценами и нормативно-справочной информацией (НСИ), а также во взаимодействии с учетной системой (БП).

От центрального узла создаются периферийные (подчиненные) узлы для каждой аптеки. Важно понимать, что в «1С:Розница» существует два основных профиля обмена:

Настройка синхронизации с «1С:Бухгалтерия»

Выясним, как лучше организовать связь с бухгалтерской программой. Правильнее всего настраивать обмен БП <—> Центральный узел Розницы. Рассмотрим преимущества такой схемы:

Во-первых, бухгалтерия получает уже консолидированные данные по всей сети. Во-вторых, в центральном узле проще контролировать дубли контрагентов и корректность заполнения аналитики перед отправкой в БП. Обычно данные передаются сводно через документ Отчет о розничных продажах, что избавляет бухгалтерию от необходимости хранить тысячи мелких чеков.

Работа с маркировкой (МДЛП) в условиях РИБ

Для аптеки критически важна работа с системой «Честный ЗНАК». Проанализируем, как это реализовано в распределенной среде. Существует два подхода:

Децентрализованная работа: Каждая аптека подписывает уведомления своей электронной подписью (УКЭП) непосредственно в своей локальной базе. Для этого на компьютерах в аптеках должен быть установлен криптопровайдер и находиться ключи подписи. Это самый надежный вариант при плохой связи.

Синхронизация статусов: При использовании РИБ данные о движении маркированных лекарств (КИЗы, номера упаковок) передаются в центральный узел. Важно помнить, что статусы в МДЛП и в локальной базе могут рассинхронизироваться при задержках обмена. Рекомендуется настроить автоматическую регистрацию изменений для объектов маркировки, чтобы актуальные данные о сериях и сроках годности всегда были доступны в центре.

Оптимизация обмена при плохой связи

Посмотрим на технические нюансы, которые помогут избежать «загибания» обмена, о котором упоминалось в обсуждении. Основная проблема — накопление записей в таблицах регистрации изменений. Если одна аптека долго не выходит на связь, файл обмена может вырасти до гигантских размеров.

Для решения этой проблемы применим следующие методы:

  1. Фильтрация объектов: Настроим правила регистрации так, чтобы документы (Чеки, Акты) регистрировались только для своего узла, а справочники — для всех.
  2. Ограничение размера сообщения: В настройках синхронизации данных можно указать максимальный размер одного транша (сообщения). Если связь обрывается, система не будет начинать передачу 100 Мб заново, а продолжит с последнего сегмента.
  3. Регулярная очистка: Если узел признан нерабочим, необходимо программно очищать таблицы регистрации изменений.

Пример кода для программной очистки регистрации изменений (для администраторов):


ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, Тип("ДокументСсылка.РеализацияТоваровУслуг"));
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, Тип("СправочникСсылка.Номенклатура"));

Механика перемещений между аптеками

Разберем, как проходит документ перемещения. Когда Аптека №1 отправляет товар в Аптеку №2, цепочка выглядит так:

1. В Аптеке №1 создается Перемещение товаров.
2. После сеанса связи документ попадает в Центральный узел.
3. После сеанса связи Центрального узла с Аптекой №2 документ появляется там.

Совет: Чтобы товар не «пропадал» в пути для управленческого учета, рекомендуется использовать ордерную схему. Склад-отправитель списывает товар расходным ордером, а склад-получатель принимает приходным. До подтверждения получения товар будет числиться в статусе «В пути».

Процесс обновления конфигурации в РИБ

Обновление в РИБ требует строгого порядка действий. Рассмотрим его по шагам:

  1. Обновляем конфигурацию в Главном узле через Конфигуратор.
  2. Запускаем Главный узел в режиме «Предприятие» для выполнения обработок обновления.
  3. Выполняем сеанс синхронизации. Файл обновления .cf будет вложен в сообщение обмена.
  4. В периферийном узле принимаем сообщение обмена. Программа выдаст предупреждение о том, что конфигурация базы данных не соответствует версии главного узла.
  5. Заходим в Конфигуратор периферийного узла, выполняем Конфигурация - Обновить конфигурацию базы данных.
  6. Запускаем периферийный узел в режиме «Предприятие».

При наличии большого количества аптек (более 5-10) рекомендуется использовать скрипты автоматизации для обновления периферийных баз, чтобы не подключаться к каждой точке вручную.

Выводы

Внедрение РИБ в «1С:Розница Аптека 2.2» — это эффективный способ решить проблему медленной связи и обеспечить автономность торговых точек. Однако это требует грамотной настройки правил регистрации и дисциплины обновлений. Используя профиль «По магазинам» и централизованную схему обмена с бухгалтерией, вы получите стабильную систему, готовую к масштабированию.

← На главную