Подготовка конфигурации к работе в распределенной информационной базе 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Дело в том, что синхронизация объектов ведется по уникальному идентификатору. При создании двух и более одинаковых объектов в различных информационных базах можно определить у них одинаковые значения реквизитов, одинаковые наборы данных в табличных частях, но при этом значения уникальных идентификаторов (если механизм назначения уникальных идентификаторов не менялся разработчиком конфигурации) у них разные. В процессе загрузки такие объекты будут считаться разными. И в этих случаях для справочника могут создаться элементы с одинаковым кодом, для документов могут создаться экземпляры с одинаковым номером в определенном периоде и т. д.

 

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

  • Установить тип номера (кода) в значение Строка .
  • Добавить в конфигурацию объект конфигурации Константа, в котором будет установлено значение префикса номера (кода), однозначно идентифицирующее данный узел распределенной информационной базы (значение константы должно быть уникальным среди всех узлов распределенной информационной базы, сама константа не должна быть включена в состав плана обмена, на базе которого развернута распределенная информационная база).
  • Реализовать в модулях объектов предопределенные процедуры, выполняемые при установке номера (кода) - ПриУстановкеНовогоНомера (ПриУстановкеНовогоКода) . Реализация должна использовать в качестве значения префикса значение описанной ранее константы

Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка,Префикс);

Префикс=Константы.ПрефиксНомеров.Получить();

КонецПроцедуры;

 

Работа конфигурации в распределенной информационной базе подразумевает обмен данными между узлами распределенной информационной базы. В процессе обмена порядок следования данных в сообщениях обмена не определен. При чтении данных могут возникать ситуации, при которых считанные данные ссылаются на несуществующие (возможно, еще не загруженные) данные. При записи считанных данных в информационную базу необходимо учесть возможность наличия неразрешенных ссылок в записываемых данных. Для этого в обработчиках событий ПередЗаписью, ПриЗаписи и ПередУдалением необходимо учитывать свойство Загрузка: при записи данных средствами механизма распределенной информационной базы данное свойство будет установлено в значение Истина. В указанных процедурах в режиме Загрузка не следует выполнять различные проверки, связанные с наличием тех или иных данных, участвующих в обмене (например, регистратор записываемого набора записей регистра накопления может быть еще

не прочитан из сообщения обмена), не рекомендуется также выполнять н (ме нение связанных данных.

 

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

 

Особое внимание следует уделить регистрам сведений, имеющим независимый режим записи (свойство Режим записи установлено в значение Независимый). Для данных регистров гранулой обмена является набор записей с отбором по измерениям, с установленным свойством Основной отбор. Необходимо проанализировать, будет ли соответствовать состав пере-даваемой информации логике работы конфигурации.

 

Например, в регистре сведений хранится информация о характеристиках товаров. В основной отбор включены измерения:

  • Характеристика (идентифицирующее характеристику товара);
  • Товар (определяющее собственно товар).

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

 

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

 

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

Выполнение этих рекомендаций позволяет просто настроить обмен данными в рамках распределенной информационной базы. Дальнейшая адаптация конфигурации зависит от конкретной специфики обмена.

 

dle

Помоги проекту! Расскажи друзьям о сайте: