Как настроить миграцию данных и префиксы в 1С 7.7 УРБД для удаленной базы

Программист 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При организации распределенной информационной базы с помощью компоненты УРБД в «1С:Предприятие 7.7» часто возникает необходимость настроить передачу документов и остатков не по всей компании, а только по конкретному складу или фирмам. Рассмотрим подробнее, как устроены префиксы информационных баз, по какому принципу платформа определят правила выгрузки и какими способами можно исключить лишние исторические данные из первичного обмена.

Принцип работы префиксов и свойства миграции в 1С 7.7

Разберем базовые механизмы распределенных баз данных в платформе 1С 7.7:

  1. Назначение префикса базы. Префикс (код информационного узла) задается при создании периферийной базы в Конфигураторе. Он необходим для разграничения нумерации документов и кодов справочников, создаваемых в разных точках сети, чтобы предотвратить их дублирование при дальнейшем обмене, а также для идентификации пакетов файлов выгрузки. Сам по себе префикс не является фильтром для данных по конкретному складу или организации.
  2. Настройка правил миграции. Выгрузка объектов регулируется на вкладке «Миграция» в свойствах каждого справочника или документа в Конфигураторе. Доступны штатные режимы миграции: Все базы, Место создания, Место создания и центральная база или Не мигрирует.

Проанализируем ситуацию, когда стандартных правил миграции недостаточно. На уровне Конфигуратора 1С 7.7 нельзя штатными визуальными средствами указать условие вида «выгружать документы Торговля и Склад только с выбранным значением реквизита Склад». Без дополнительной настройки платформа отправит в удаленную базу все объекты, подпадающие под правило миграции видов объектов.

Способ 1. Программный контроль регистрации изменений

Если требуется, чтобы на периферийную точку попадали документы только определенного магазина или склада, отключим автоматическую регистрацию и пропишем алгоритм вручную.

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

Посмотрим на пример реализации логики регистрации в модуле документа:


Процедура ПриЗаписи()
    // Проверяем, относится ли документ к нужной удаленной точке
    Если Склад = Константа.НужныйСкладДляТочки Тогда
        // Регистрируем изменения объекта для периферийной базы
        РегистрацияИзменений(Контекст, БазаУдаленная);
    КонецЕсли;
КонецПроцедуры

Способ 2. Оптимизация объема данных перед первичной выгрузкой

При первичной выгрузке из центральной базы с большой историей процесс создания периферийной базы может занимать продолжительное время. Рассмотрим эффективные методы уменьшения размера первичного пакета:

  1. Предварительная свёртка базы данных. Выполните процедуру свертки накопленных за предыдущие годы документов в центральной базе перед формированием периферийной точки. Это позволит сформировать входившие остатки на актуальную дату и удалить устаревшие документы.
  2. Очистка таблицы изменений. При создании узла информация обо всех существующих объектах заносится в служебную таблицу регистрации 1SUPDTS. Чтобы исключить исторические документы прошлых лет по сторонним складам, скорректируйте или очистите записи в таблице 1SUPDTS на уровне СУБД (SQL или DBF) до запуска первого обмена.
  3. Режим «Только получатель». Если удаленная база используется исключительно для оформления продаж и данные из неё не должны перегружать историю центральной базы по другим операциям, задайте соответствующий статус узла в настройках УРБД.

Таким образом, для реализации полноценного обмена с фильтрацией по складам в 1С 7.7 требуется сочетание штатной настройки миграции объектов, корректного указания префиксов узлов и программной фильтрации изменений через встроенный язык.

← На главную