Создание и настройка контекстной ограничительной таблицы
Контекстные ограничительные таблицы направлены на сокращение количества:
ограничительных таблиц, на соответствие которым проверяется позиция;
строк в ограничительных таблицах, на соответствие которым проверяется позиция;
позиций, которые проверяются при создании новой ограничительной таблицы.
Для этого в контекстных ограничительных таблицах введено понятие "контекста" – значения одного или нескольких атрибутов в совокупности, от которых зависит состав применяемых ограничительных таблиц. Принципиальным отличием от "простых" ограничительных таблиц является то, что в контекстных ограничительных таблицах проверка позиции на соответствие ограничению выполняется тогда и только тогда, когда позиция содержит атрибуты со значениями, соответствующими контексту, если таких значений нет, то позиция не проверяется по этой ограничительной таблице.
Контекстные ограничительные таблицы применяются для работы со стандартами и каталогами, имеющими формальные описания требований к значениям параметров, определяющих изделие.
Создание контекстных ограничительных таблиц доступно только пользователям. имеющим привилегию Редактирование метаданных. Чтобы создать контекстную ограничительную таблицу следует:
перейти в режим управления пакетами изменений;
в карточке справочной группы в секции Ограничения найти раздел Контекстные ограничительные таблицы и нажать кнопку Создать ограничение;
в появившихся полях в карточке справочной группы указать наименование таблицы на русском и английском (опционально) языках, отметить при необходимости опции Обязательность и Генерация позиций;
Контекстная ограничительная таблица в карточке справочной группы
в поле Контекстные атрибуты выбрать один или несколько атрибутов, которые продекларированы в справочной группе и значения которых будут использоваться в качестве контекста. Если выбрано несколько атрибутов, то контекстом будет считаться только сочетание указанных значений данных атрибутов. Например, если указано два контекстных атрибута и для Атрибута 1 определено контекстное значение А, а для Атрибута 2 определено контекстное значение Б, то проверка на соответствие ограничению будет выполняться только для позиций с этими значениями данных атрибутов, а для позиции у которой Атрибут 1 = А и Атрибут 2 = С проверка выполняться не будет;
нажать на кнопку Редактор в строке с наименованием таблицы;
в открывшемся окне Редактор контекстного ограничения можно изменить ранее выполненные настройки таблицы или заполнить данные "с нуля", если это не было сделано в карточке справочной группы;
нажать кнопку Добавить для задания контекста и заполнить на панели окна редактора справа значения контекста, где поле Наименование - наименование контекста (служебное поле, позволяющее определить, что это за контекст), а другое поле (поля) предназначено для указания значений выбранных на 4) шаге контекстных атрибутов. В зависимости от типа данных атрибута значения могут указывать вручную, из списка, или выбором из справочной группы / классификатора. Кнопка Удалить над списком контекстных ограничений позволяет удалить созданный контекст;
Создание нового контекста
установить курсор на наименовании контекста в списке слева и вновь нажать кнопку Добавить для создания ограничительной таблицы и заполнить на панели справа сведения о наименовании ограничительной таблицы на русском и английском (опционально) языках. Кнопка Удалить над списком контекстных ограничений позволяет удалить созданную ограничительную таблицу;
в секции Колонки для ограничительной таблицы выбрать один или несколько атрибутов, значения которых будут проверяться по указанному контексту. Выбрать атрибуты можно из выпадающего списка или в окне Атрибуты, открывающемся по кнопке Выбрать атрибуты;
Настройка ограничительно таблицы для выбранного контекста
установить курсор на наименовании ограничительной таблицы в списке справа и нажать кнопку Добавить, расположенную над таблицей в центре окна и на панели Строка ограничительной таблицы справа от таблицы заполнить значения атрибутов. Значения могут указываться списком или для каждого значения может создаваться новая строка, что не влияет на алгоритм работы ограничений. Кнопка Удалить над таблицей позволяет удалить выбранные значения атрибутов;
Добавление новой строки для значения атрибута в ограничительную таблицу
также как и для обычных ограничительных таблиц в качестве значений атрибутов допускается ввод с клавиатуры символов: «*» – значение атрибута может быть любым, «+» – атрибут должен быть обязательно заполнен, «*+» – значение атрибута может быть любым, но обязательно заполненным, <пусто> - значение данного атрибута в указанном сочетании должно оставаться пустым. Для атрибутов типа "число с плавающей точкой" также разрешен ввод специальных значений;
Подсказка о возможности указания значений атрибута через вспомогательные символы
повторить пункты 7) - 11) необходимое количество раз, в зависимости от разнообразия контекста и используемых в каждом из контекстов ограничительных таблиц.
Контекстные ограничительные таблицы не поддерживают функционал экспорта / импорта в файлы форма XLSX, в отличие от простых ограничительных таблиц. В контекстных ограничительных таблицах разрешен быстрый поиск по значениям атрибутов.
Также как и простые ограничительные таблицы контекстные таблицы могут быть проверены на консистентность. Кнопка Проверка консистентности при активизации проверяет, что данные в связанных контекстных ограничительных таблицах не противоречат друг другу. При наличии противоречий Система выдает предупреждение.
Если один и тот же атрибут используется как в обычных ограничительных таблицах, так и в контекстных то, обеспечение консистентности между разными видами таблиц является задачей эксперта НСИ / методолога, создающего эти ограничения. Проверка консистентности между разными формами ограничительных таблиц не работает!