Перейти к основному содержимому

Матрица соответствий


Матрица соответствий – это правило, по которому данные одной таблицы переносятся в другую: какое поле исходной таблицы попадает в какое поле целевой.

Например, матрица order to prod order задает, какие поля заказа копируются в производственный заказ при его создании, а Order 1c order – как поля заказа SimpleMES сопоставляются с полями документа 1С.

Сама матрица данные не переносит. Ее используют:

  • рабочие процессы – например, при создании производственного заказа из заказа и шаблона ПЗ;
  • ERP интеграции – при выгрузке заказов в 1С и при файловом обмене.

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

к сведению

Для пары таблиц можно создать только одну матрицу соответствий, в любом направлении. Если матрица для таблиц А и Б уже есть, матрицу для Б и А создать нельзя

Основные термины​

ТерминОпределение
Таблица 1Исходная таблица, из которой берутся данные
Таблица 2Целевая таблица, в которую переносятся данные
СопоставлениеПара полей: поле Таблицы 1 и поле Таблицы 2, в которое переносится его значение

Сведения​


Наименование: Матрица соответствий
Системное имя: mes_mapping_tables
Класс: конфигурационные данные

Колонки таблицы
НазваниеТип колонкиНазвание колонки
ИнформацияTextinformation
Матрица соответствий IDStringmapping_matrix_id
АктивноTrue/Falseactive
Таблица 1Referencetable_1
Таблица 2Referencetable_2
Матрица соответствийStringmapping_matrix
Политика защитыChoicepolicy
ПриложениеReferenceapplication_id
IDBig Integersys_id
Когда созданоDate/Timesys_created_at
Кем созданоReferencesys_created_by
Когда измененоDate/Timesys_updated_at
Кем измененоReferencesys_updated_by

Логика работы с матрицей соответствий​

  1. Создайте запись в списке Матрица соответствий раздела Конфигурация.
  2. Заполните Матрица соответствий ID и Матрица соответствий, выберите Таблицу 1 и Таблицу 2.
  3. Нажмите Сохранить – на форме появится виджет сопоставления полей.
  4. В виджете выберите для нужных полей Таблицы 1 поля Таблицы 2. Подробнее – в разделе Сопоставление полей.
  5. Нажмите Сохранить – сопоставления сохранятся.
внимание

После сохранения матрицы Таблицу 1 и Таблицу 2 изменить нельзя. Чтобы связать другие таблицы, создайте новую матрицу

Поля формы​

ПолеОбязательноОписание
Матрица соответствий IDДаУникальный идентификатор матрицы соответствий
Матрица соответствийДаНазвание матрицы соответствий
ИнформацияНетДополнительная информация
АктивноНетПризнак активности записи
Таблица 1ДаИсходная таблица, из которой берутся данные. Не может совпадать с Таблицей 2
Таблица 2ДаЦелевая таблица, в которую переносятся данные

Сопоставление полей​

Виджет сопоставления появляется на форме после сохранения матрицы. В нем по строке на каждое поле Таблицы 1, включая поля, унаследованные от родительских таблиц:

  • в первой колонке – поле Таблицы 1. Поля типов Choice и Template в виджет не попадают;
  • во второй колонке выбирается поле Таблицы 2, в которое переносится значение. Если поле не выбрано, значение не переносится.

Виджет сопоставления полей: слева поля Таблицы 1, справа выбранные поля Таблицы 2

Во второй колонке доступны только поля, совместимые по типу с полем первой колонки:

Тип поля Таблицы 1Доступные поля Таблицы 2
ReferenceString, Reference и List на ту же таблицу
ListString, Reference и List на ту же таблицу
StringString, Reference, List, Decimal, Big Integer, Text
Big IntegerString, Reference, List, Text
Остальные типыПоля того же типа

Чтобы изменить сопоставление, выберите во второй колонке другое поле. Чтобы удалить сопоставление одного поля, очистите вторую колонку в его строке. Изменения применяются после нажатия Сохранить или Сохранить и выйти.

Поле связанной записи​

Если поле Таблицы 1 типа Reference или List сопоставлено с полем типа String или Big Integer, под строкой появляется дополнительное поле. В нем выбирается поле связанной записи, значение которого будет перенесено.

Третья колонка виджета: выбор поля связанной записи для поля типа Reference

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

Очистка сопоставлений​

Кнопка Очистить внизу формы удаляет все сопоставления матрицы. Сама матрица и выбранные таблицы остаются.

  1. Нажмите Очистить – откроется окно подтверждения.
  2. Подтвердите очистку – вторая и третья колонки виджета очистятся.
предупреждение

Сопоставления удаляются сразу после подтверждения, без нажатия Сохранить. Восстановить их можно только заново выбрав поля в виджете

Как матрица переносит данные​

Когда рабочий процесс или интеграция применяет матрицу к записи Таблицы 1, в Таблице 2 создается новая запись. Ее поля заполняются по сопоставлениям: значение каждого поля Таблицы 1 переносится в выбранное для него поле Таблицы 2.

Связи сущности​

  • Серые блоки – сущности, которые ссылаются на матрицу соответствий.
  • Подпись на стрелке – поле, в котором хранится ссылка.