mybpm!
Скачать в формате: PDF pdf DOCX word

Статичные ссылки

Что такое статичные ссылки?

Статичные ссылки - ссылки в разных частях системы, которые ссылаются на конкретные инстанции.

Примеры статичных ссылок:

Значение по умолчанию у полей с типом БО и СО

Пользователь, департамент или рабочая группа в правах

Ссылки в скриптах

Какие классы (регистры) отвечают за логику статичных ссылок?

StructStaticRefRegister

StaticRefImportAnalyzer

Экспорт статичных ссылок

Если вышеописанные части системы имеют статичную ссылку, значит надо экспортировать и данную инстанцию (чтобы сохранить целостность структуры)

Экспорт статичных ссылок подразумевает собой регистрацию данных ссылок в ExportStructRefManager

При экспорте статичных ссылок скачивается вся полезная информация об инстанции - какие у нее есть поля и какие параметры у этих полей

Импорт статичных ссылок

При импорте статичных ссылок система применяет следующую стратегию:

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

Если нет ни одного уникального поля, система выбирает второй способ нахождения подходящего кандидата.

Первый способ:

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

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

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

Если система не смогла найти ни одну инстанцию по уникальным полям, то она создает инстанцию с этими же значениями.

Второй способ:

Система делает фильтрованный запрос (в эластик) на получение таблицы с инстанциями.

Фильтр ставится по первым n полям, а значение для фильтра берутся с импортируемой инстанции.

n настраивается в конфиге StructImportConfig

Если система нашла две и более инстанции, то создается конфликт.

Если система нашла одну инстанцию, то выбирается данная инстанция.

Если система не нашла ни одну инстанцию, то создается инстанция со значениями импортируемой инстанции.

ВАЖНО УЧЕСТЬ:

Процесс создания инстанции будет происходить на 4-ом этапе, также система НЕ создает конфликт в таком случае