Документооборот - статьи


Опциональность элементов - часть 2


X12 определяет условие их опциональности так:

P0607 - If either PO1-06 or PO1-07 is present, then the other is required.

Тоесть если либо PO1-06, либо PO1-07 присутствует в сегменте, то второй – обязателен. В данном случае это очевидно – если есть идентификатор товара, то нам нужно знать его тип. И наоборот, если есть тип идентификатора, то было бы странно, если бы сам идентификатор отсутствовал.

Далее будут коротко рассмотрены основные типы правил и ограничений, которые стандарт накладывает на элементы сегмента.

Правила и ограничения

Для зависимых элементов в сегменте стандарт определяет набор правил/замечаний. Каждое правило имеет специальное имя-идентификатор. Имя-идентификатор «строится» по специальным правилам – первая буква определяет тип правила, далее идут числа, обозначающие позицию сегментов в элементе, для которых действует это правило. В зависимости от типа правила, позиции элементов так же идут в определенном порядке:

  • С (Conditional) - зависимость опциональности одного элемента(ов) от существования другого (первого в описании):
    • C0302 - If PO103 is present, then PO102 is required.
    • C060504 - If PR106 is present, then PR105 and PR104 are required.
  • P (Paired or multiple) - зависимость опциональности группы элементов (если хотя бы один из группы присутствует, то остальные обязательны):
    • P0607 - If either PO106 or PO107 is present, then the other is required.
    • P040506 - If either AT904, AT905 or AT906 are present, then the others are required.
  • L (List Conditional) – зависимость трех и более элементов между собой, когда в случае существования первого в описании элемента обязателен как минимум один из остальных:
    • L13101112 - If PO413 is present, then at least one of PO410, PO411 or PO412 is required.
  • R (Required) – обязательность как минимум одного из перечисленных элементов:
    • R1012 - At least one of PR110 or PR112 is required.
    • R020607 - At least one of AT302, AT306 or AT307 is required.
  • E (Exclusion) – только один из перечисленных элементов может присутствовать:
    • E0309 - Only one of PSD03 or PSD09 may be present.
    • E020607 - Only one of AT302, AT306 or AT307 may be present.

Семантические замечания




- Начало -  - Назад -  - Вперед -