Альтернативная генерация узла РИБ

В 1С8 есть штатная процедура генерации периферийного узла базы РИБ.

Однако она не идеальна – работает только в монопольном режиме, делает выгрузку долго, т.к. выгружает даже ненужные объекты.

Поэтому была создана альтернативная, полностью контролируемая обработка.

Её преимущества:

  1. Выгрузка может происходить в разделенном доступе.
  2. Можно фильтровать виды выгружаемых объектов и сами объекты внутри вида еще на этапе получения списка объектов для выгрузки.
  3. Можно прервать обработку и продолжить ее, повторно не выгружая уже переданные виды объектов.

 

Обработка является универсальной. В ней нет настроек под конкретную конфигурацию. Отлаживалась на 1С8: Розница.

Алгоритм создания нового узла

  1. Нужно завести узел в плане обмена. Если узел уже существует, возможно, очистить регистрацию изменений, т.к. все объекты и так попадут в этот узел, поэтому необходимости в наличии зарегистрированных изменений нет.
  2. Выгрузить конфигурацию центральной базы РИБ в файл.
  3. Создать пустую базу для образа периферийной базы, загрузить  в неё конфигурацию центральной базы.
  4. Создать пользователя с правами администратора в периферийной базе. Этот шаг не обязателен, в некоторых конфигурациях данные передаются только под пользователем с определенными правами (даже в режиме обмена).
  5. Выгрузить данные с помощью обработки из центральной базы в периферийную базу.
  6. Превратить периферийную базу в узел распределённой базы, назначив ей главный узел обмена.

После этого можно включать обмены между базами.

Интерфейс

Экранная форма обработки имеет примерно следующий вид:

 

Общие параметры

В поле «План обмена» выбирается узел плана обмена.

Параметры выгрузки

В секции «Параметры выгрузки» указывается, какие объекты выгружать:

Фильтр по метаданным

 

В секции «Фильтр по метаданным» указывается, какие виды объектов выгружать.

 

Отбор ссылочных данных

Заметки

Невозможность передачи регистров сведений целиком

К сожален

 

НЗ = РегистрыСведений.ЗначенияСвойствОбъектов.СОздатьНаборЗаписей();

НЗ.Прочитать();

 

Скачать