Руководство пользователя Semantic MDM
×
Меню
Индекс

Настройка ограничений

 
Для проверки правильности и целостности вводимой в Систему информации предусмотрены различные способы контроля. Эти способы описываются в карточке группы любого справочника, кроме классификаторов, в разделе Ограничения.
В Системе применяются четыре вида ограничений:
Ограничительные таблицы – специальные таблицы, которые устанавливают зависимость значений одних атрибутов от значений других. Например, зависимость разрешённых значений диаметров проката от применяемого ГОСТа или ТУ. Могут использоваться не только для проверки вводимых данных (имеют пиктограмму ), но также для генерации новых позиций (имеют пиктограмму ). Работа по созданию ограничительных и контекстных ограничительных таблиц подробно изложена в разделе «Ограничительные таблицы». Позиции, несоответствующие ограничительным таблицам, не могут быть опубликованы, если им установлен статус Нормализована.
 
Ограничения, применяемые в справочной группе
 
Контекстные ограничительные таблицы – разновидность ограничительных таблиц, в которых значение одного из атрибутов используется в виде контекста при определении значений других атрибутов. В отличие от простых ограничительных таблиц, в которых необходимо определять все возможные сочетания значений атрибутов, входящих в таблицу, включая пустые, в контекстных ограничительных таблицах допускается определять значения только тех атрибутов, которые зависят от предлагаемого контекста.
Обязательные атрибуты – если в группе не применяются ограничительные таблицы, рекомендуется указать перечень обязательных атрибутов, без ввода значений которых, запись не может быть опубликована со статусом Нормализована. Обязательные атрибуты выбираются из выпадающего списка из числа атрибутов, ранее добавленных в текущую группу.
Обязательные атрибуты могут указываться по несколько в одном ограничении и тогда проверка выполняется с использованием логики ИЛИ, либо в каждом ограничении обязательности может быть указан только один атрибут и тогда при проверке используется логика И.
 
Выбор атрибутов в качестве обязательных
 
Не рекомендуется одновременно применять ограничительные таблицы и обязательные атрибуты. Это может привести к возникновению неразрешимого конфликта ограничений при создании позиций.
Уникальные атрибуты – это атрибуты, значения которых автоматически проверяются на уникальность в пределах справочной группы. В качестве уникальных атрибутов могут выступать наименования, шифры, коды и т.п. Можно накладывать ограничение уникальности сразу на несколько атрибутов, что позволяет проверять уникальность сочетания значений различных атрибутов. Как и в случае с обязательными атрибутами, они выбираются из выпадающего списка и могут быть унаследованы от родительского к дочернему объекту, то есть атрибут, назначенный уникальным на уровне справочника, будет таковым для всех его веток, если настройкой не определено иное.
 
Настройка уникальных атрибутов
 
Уникальному атрибуту дополнительно может быть присвоена опция Обязательность, которая устанавливается маркером в соответствующей ячейке.
Опция С учетом родительской позиции обеспечивает проверку уникальности значений атрибутов композируемых позиций в рамках композирующей (родительской) позиции. Например, проверка расчетных счетов в рамках контрагента, которому они принадлежат, а не среди всех, присутствующих в группе расчетных счетов.
Функции проверки данных – это специальный скрипт Groovy, который обеспечивает проверку вводимых данных по какому-либо алгоритму. Например, проверку ИНН на контрольное число. Доступ к скрипту осуществляется в строке Формула.
Настройка функции проверки данных
 
Скрипт создаётся в специальном редакторе формул где, используя ссылки на атрибуты справочника, записывается последовательность и процедуры проверки данных. Ссылка на атрибут формируется путём перетаскивания (Drag&Drop) наименования атрибута из списка в левой части в поле скрипта. При переключении в режим Описание методов пользователю становятся доступны все методы, функции, условия и циклы для разработки скрипта. Все элементы добавляются в скрипт путём перетаскивания (Drag&Drop) и содержат необходимый синтаксис и комментарии.
 
Редактор формул для скрипта Groovy
 
Для работы с текстом скрипта пользователю доступны следующие функции:
 
Тестирование скрипта
 
Результаты тестирования будут представлены в таблице в колонках Текущее значение и Новое значение.
В процессе тестирования на консоль отладки выводятся отладочные сообщения. Для каждого тестируемого элемента должна быть своя консоль, которая должна открываться по специальной кнопке, расположенной рядом с кнопкой просмотра результата выполнения скрипта над тестируемым объектом.