Справочники кодов.

Классически коды используются для маркировки заказов тем или иным образом. У корпоративного клиента могут быть свои наборы кодов, которые продиктованы требованиями бухгалтерии. Не всегда кодов бухгалтерии достаточно для того, чтобы организовать процесс авторизации заказа, поэтому при использовании сложных схем авторизации скорее всего придется заводить дополнительные справочники.

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

Содержание:

Основные тезисы по кодам

Важно! Если справочник создан, то он является обязательным к заполнению (для профиля персоны или для заказа/командировки).

  • Каждый код привязан к определенному справочнику кодов. Фактически, справочник является контейнером кода одного вида

  • Справочники кодов бывают пяти типов:

    • Бюджетные – привязаны к заказам или командировке, выбираются пользователем при создании нового заказа/командировки или когда командировка переводится из состояния "черновик";

    • Ризон-коды (раньше это были бюджетные коды с флагом "Является кодом нарушения тревел-политики") - данные коды заказчик должен указать для заказов, в которых есть нарушения ТП;

    • Структурные – привязаны к подразделению (неперсонифицированный код) или к персоне (персонифицированный);

    • Структурные меняемые коды

      • ранее это был структурный код с флагом "Можно менять коды в персонифицированном справочнике";

    • Нарушение ТП – привязаны к правилам нарушений тревел-политик.

  • Справочники кодов привязаны к юридическим лицам-плательщикам. Фактически выбор плательщика при создании заказа определяет используемый в заказе набор кодов;

  • Код может быть виртуальным (справочник-клон), в этом случае его жизненный цикл зависит от цикла оригинального кода – если удаляется оригинальный код, то клон тоже удаляется;

  • К одному объекту (нарушению ТП, персоне, подразделению) можно привязать не более одного кода каждого типа;

  • Коды привязываются не только к заказам, но и к командировкам. При привязке кода к командировке зависимость от организаций и типов услуг работают таким образом: хотя бы один из актуальных заказов командировки должен быть оплачен организацией, привязанной к данному коду, и иметь тип услуги из разрешенного для данного справочника списка;

  • Правила показов кодов и справочников бюджетных и структурных меняемых кодов можно сделать зависимыми от: типа услуги в заказе, организации-плательщика, других кодов в заказе/комадировке;

  • Коды следует указывать не при создании заказа, а тогда, когда командировка переводится из состояния "черновик".

Рекомендуемая последовательность заведения кодов

  1. Завести структурные коды;

  2. Завести структурные меняемые коды;

  3. Завести бюджетные коды (так как могут потребоваться клоны структурных);

  4. Завести ризон-коды;

  5. Завести коды нарушения ТП.

 

Для чего используются коды

  • Для экспорта данных в мидофис-систему агента для формирования отчетности для клиента;

  • Для выбора схемы авторизации и авторизующих лиц в сложных схемах авторизации;

  • Для формирования командировочных документов (авансовый отчет, задание, приказ) – для заполнения кодами отсутствующих в системе полей;

  • Для быстрого поиска заказов по меткам.

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

Для заведения кодов используется следующий раздел:

Далее, в зависимости от того, какие коды планируется завести, следует перейти в ту или иную вкладку:

1. Структурные (Справочники структурных кодов).

Структурный код добавляется в заказ в случае, если в заказ была добавлена персона, которая ссылается на этот код. В отличие от бюджетных кодов, связь структурных кодов и заказов определяется не парой "код, заказ", а тройкой "код, персона, заказ", из-за чего в один заказ возможно добавление сразу несколько разных структурных кодов из одного справочника, просто они будут привязаны к разным персонам. Например, для сложной схемы авторизации возможно применить одновременно две схемы авторизации к одному заказу (данное поведение является корректным).

В текущей версии департаменты упразднены, вместо них следует также использовать структурный код (например, можно создать справочник "Департамент").

 

Рассмотрим редактор структурного справочника более подробно.

  • Название на русском/английском – название справочника;

  • Привязка к заказу / к командировке

    • в зависимости от выбранного варианта код будет привязываться к заказу либо к командировке.

    При привязке кода к командировке зависимость от организаций и типов услуг работает таким образом: хотя бы один из актуальных заказов командировки должен быть оплачен организацией, привязанной к данному коду, и иметь тип услуги из разрешенного для данного справочника списка;

  • Наследует от справочника – если в выпадающем списке выбрано это значение, то в справочник нельзя добавить коды, так как они берутся из того справочника, от которого наследует данный. От одного справочника можно унаследовать только один справочник-клон. Классическим примером справочника-клона является кост-центр: например, кост-центр может быть как привязан к персоне, так и выбираться при создании заказа из списка (бюджетный);

  • Тип селектора

    • Текстовое поле - если выбран данный тип селектора, то справочник будет в себе содержать «одноразовые значения», которые пользователь указывает каждый раз заново, а не выбирает из списка (

      неограниченный справочник).
      Кроме того, можно предусмотреть валидацию на код. Выделенный на скриншоте блок доступен в том случае, если выбрано текстовое поле:

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

Подробнее о составлении регулярных выражений можно узнать в большом количестве литературы (особенно хорошо это разбирается в книгах по Perl).

Список символов для написания регулярных выражений

  • [abc] – любой из перечисленных в скобках символов. Используя дефис, можно указать диапазон символов: например, [a-f]

    • то же самое, что [abcdef];

  • [^abc] – любой символ, кроме перечисленных в скобках;

  • \d – цифра. Эквивалентно [0-9];

  • \D – любой символ, кроме цифр. Эквивалентно [^0-9];

  • \w – цифра, буква (латинский алфавит) или знак подчеркивания. Эквивалентно [0-9a-zA-Z_];

  • \W – любой символ, кроме цифр, букв (латинский алфавит) и знака подчеркивания. Эквивалентно [^0-9a-zA-Z_];

  • \s – пробельный символ (пробел, табуляция, перевод строки и т. п.);

  • \S – любой символ, кроме пробельных;

  • . – любой символ, кроме перевода строки. Для поиска любого символа, включая перевод строки, можно использовать конструкцию [\s\S];

  • \ – экранирование. Например, символ "." является спецсимволом; если же нужно, чтобы он воспринимался буквально, т. е. означал именно точку, то нужно записать это так: "\." ;

  • a|b – условие "или" (a или b). Так как в данном случае с обеих сторон разделителя ровно по одному символу, то можно заменить на [ab];

  • (abc) – подвыражение. Соответствующий подвыражению текст запоминается отдельно от общего результата;

  • (?:abc) – подвыражение. Соответствующий подвыражению текст не запоминается. Используется для группировки частей образца.
    Например, "/ко(?:т|шка)/" эквивалентно "/кот|кошка/";

  • (?=abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие найдено.
    Например, "/Windows (?=95|98|NT|2000)/" найдет "Windows " в строке "Windows 98", но ничего не найдет в строке "Windows 3.1". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед;

  • (?!abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие не найдено.
    Например, "/Windows (?!95|98|NT|2000)/" найдет "Windows " в строке "Windows 3.1", но ничего не найдет в строке "Windows 98". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед.

Пример регулярного выражения для валидации введенной в поле даты вида "31-05-2019" (разделитель - дефис) с учетом високосных лет:

(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))-(((0[1-9])|(1[0-2]))|([1-9]))-(([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2}))))$)

Пример регулярного выражения для валидации введенной в поле даты вида "31.05.2019" (разделитель - точка) с учетом високосных лет:

(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))\.(((0[1-9])|(1[0-2]))|([1-9]))\.(([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2}))))$)

  • Выпадающий список - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка (ограниченный справочник);

  • Автозавершение - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка путем ввода его наименование в специальное поле, по мере ввода наименования кода пользователю будут предлагаться подходящие варианты (ограниченный справочник) - используется для справочников с БОЛЬШИМ количеством кодов.

Внимание! Если в справочнике будет более 100 кодов, форма редактирования будет открываться очень долго. Для больших справочников рекомендуем использовать тип селектора «Автозавершение».

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

  • Коды справочника – в этом блоке можно добавлять новые коды в справочник – видно только для ограниченных справочников, которые ни от чего не наследуют коды

  • Организации – коды будут привязаны только к персонам, которые принадлежат к данным организациям – настройка в редакторе персон

Примеры структурных кодов у реальных организаций:

  • Табельный номер (неограничен - текстовое поле);

  • Департамент (ограничен - выпадающий список);

  • Кост-центр (ограничен- выпадающий список);

  • Должность (ограничен- выпадающий список).

Настройка структурных кодов.

Для добавления нового кода в справочник необходимо перейти во вкладку Коды справочника в настройках справочника кодов нажать “плюсик”:

В открывшемся меню задается:

  • название кода (любые символы),

  • название на английском языке (латиница),

  • значение кода (любые символы)

После внесения данных, нужно нажать “Сохранить”.

Теперь в настройках конкретного кода стали доступны две опции.

  • Организации - тут можно сделать привязку кода к организации по аналогии с привязкой справочника кодов к организации.

     

  • Тревел-политики - тут можно задать привязку тервел-политик к структурному коду. Персоны с таким кодом получат политику, которая преобладает над более общими политиками (по умолчанию и для юр.лица), но менее приоритетна персональной тревел-политики персоны, которая задаётся в карточке персоны.

    • нужно выбрать услугу, для которой привязывается политика:

    • а затем нужно выбрать политику из списка. Можно также привязать несколько политик по одному типу услуг.

       

2. Структурные меняемые (Справочники структурных меняемых кодов).

Структурные меняемые кода (ранее это был структурный код с флагом "Можно менять коды в персонифицированном справочнике") - это справочники привязанных к персоне структурных кодов, которые можно поменять "на лету". Данный тип справочника привязывается только к заказу.

 

Рассмотрим редактор структурного меняемого справочника более подробно.

  • Название на русском/английском – как называется справочник

  • Привязка к заказу / к командировке

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

  • Наследует от справочника – если в этом выпадающем списке выбрано значение, то в справочник нельзя добавить коды, они берутся из того справочника, от которого данный наследует. От одного справочника можно унаследовать только один справочник-клон. Классическим примером справочника-клона является кост-центр, например, кост-центр может быть как привязан к персоне, так и выбираться при создании заказа из списка (бюджетный)

  • Тип селектора

    • Текстовое поле – если выбран данный тип селектора, то справочник будет в себе содержать «одноразовые значения», которые пользователь указывает каждый раз заново, а не выбирает из списка (неограниченный справочник) Кроме того, можно предусмотреть валидацию на код – выделенный на скриншоте блок доступен в том случае, если выбрано текстовое поле:Для валидации ввода используется механизм регулярных выражений – в том случае, если введенный при создании заказа текст не пройдет валидацию, то на странице создания заказа будет выдано предупреждение с текстом из поля "Текст сообщения об ошибки валидации":Подробнее о составлении регулярных выражений можно узнать в большом количестве литературы (особенно хорошо это разбирается в книгах по Perl).Список символов для написания регулярных выражений:[abc] – любой из перечисленных в скобках символов. Используя дефис, можно указать диапазон символов: например, [a-f] - то же самое, что [abcdef];[^abc] – любой символ, кроме перечисленных в скобках;\d – цифра. Эквивалентно [0-9];\D – любой символ, кроме цифр. Эквивалентно [^0-9];\w – цифра, буква (латинский алфавит) или знак подчеркивания. Эквивалентно [0-9a-zA-Z_];\W – любой символ, кроме цифр, букв (латинский алфавит) и знака подчеркивания. Эквивалентно [^0-9a-zA-Z_];\s – пробельный символ (пробел, табуляция, перевод строки и т. п.);\S – любой символ, кроме пробельных;. – любой символ, кроме перевода строки. Для поиска любого символа, включая перевод строки, можно использовать конструкцию [\s\S];\ – экранирование. Например, символ "." является спецсимволом; если же нужно, чтобы он воспринимался буквально, т. е. означал именно точку, то нужно записать это так: "\." ;a|b – условие "или" (a или b). Так как в данном случае с обеих сторон разделителя ровно по одному символу, то можно заменить на [ab];(abc) – подвыражение. Соответствующий подвыражению текст запоминается отдельно от общего результата;(?:abc) – подвыражение. Соответствующий подвыражению текст не запоминается. Используется для группировки частей образца.Например, "/ко(?:т|шка)/" эквивалентно "/кот|кошка/";(?=abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие найдено.Например, "/Windows (?=95|98|NT|2000)/" найдет "Windows " в строке "Windows 98", но ничего не найдет в строке "Windows 3.1". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед;(?!abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие не найдено.Например, "/Windows (?!95|98|NT|2000)/" найдет "Windows " в строке "Windows 3.1", но ничего не найдет в строке "Windows 98". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед.

    • Выпадающий список - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка (

      ограниченный справочник);

    • Автозавершение - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка путем ввода его наименование в специальное поле, по мере ввода наименования кода пользователю будут предлагаться подходящие варианты (ограниченный справочник) - используется для справочников с БОЛЬШИМ количеством кодов.

Внимание! Если в справочнике будет более 100 кодов, форма редактирования будет открываться очень долго. Для больших справочников рекомендуем использовать тип селектора «Автозавершение».

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

  • Коды справочника – в этом блоке можно добавлять новые коды в справочник (видно только для ограниченных справочников, которые ни от чего не наследуют);

  • Организации – коды будут привязаны только к персонам, которые принадлежат к данным организациям (настройка в редакторе персон);

  • Типы услуг – в зависимости от настроек справочник будет появляться при оформлении заказа определенного типа услуг;

  • Зависимость от кодов – в зависимости от настроек правил показа справочник может появляться при заполнении определенного кода другого справочника или нескольких кодов, а также в случае совпадения определенных значений кодов, установленных у персон.

 

3. Бюджетные (Справочники бюджетных кодов).

Бюджетные коды – коды, которые к заказу должен привязать сам пользователь при создании заказа. Набор используемых в данном заказе бюджетных кодов определяется выбором организации-плательщика; справочники кодов должны быть привязаны к соответствующим организациям.

Пример: в системе заведены справочники бюджетных кодов: СП1, СП2, СП3 и есть два юридических лица: ООО-1 и ООО-2. При этом в редакторе справочника указаны связи "СП1 – ООО-1", "СП2 – ООО-1 и ООО-2", "СП3 – ООО-2". Тогда, если при создании заказа ООО-1 будет указан в качестве плательщика, то система предоставит возможность выбрать коды из СП1 и СП2, а если ООО-2 – то из СП2 и СП3.


Разберем редактор справочника бюджетных кодов:

  •  

  • Название на русском и на английском – аналогично названиям справочника структурных кодов;

  • Привязка к заказу / к командировке – в зависимости от выбранного варианта код будет привязываться к заказу либо к командировке.
    При привязке кода к командировке зависимость от организаций и типов услуг работает таким образом: хотя бы один из актуальных заказов командировки должен быть оплачен организацией, привязанной к данному коду, и иметь тип услуги из разрешенного для данного справочника списка;

  • Установить код выбираемый по умолчанию - Позволит установить по умолчанию значение из списка кодов = сделает справочник необязательным к заполнению* (см. важную информацию)

  • Наследует от справочника – если в этом выпадающем списке выбрано значение, то в справочник нельзя добавить коды, так как они берутся из того справочника, от которого данный наследует. От одного справочника можно унаследовать только один справочник-клон. Классическим примером справочника-клона является кост-центр: например, кост-центр может быть как привязан к персоне, так и выбираться при создании заказа из списка (бюджетный);

  • Тип селектора:

    • Текстовое поле – если выбран данный тип селектора, то справочник будет в себе содержать «одноразовые значения», которые пользователь указывает каждый раз заново, а не выбирает из списка (неограниченныйсправочник) Кроме того, можно предусмотреть валидацию на код: выделенный на скриншоте блок доступен в том случае, если выбрано текстовое поле:Для валидации ввода используется механизм регулярных выражений. В том случае, если введенный при создании заказа текст не пройдет валидацию, на странице создания заказа будет выдано предупреждение с текстом из поля "Текст сообщения об ошибки валидации":Подробнее о составлении регулярных выражений можно узнать в большом количестве литературы (особенно хорошо это разбирается в книгах по Perl).Список символов для написания регулярных выражений:[abc] – любой из перечисленных в скобках символов. Используя дефис, можно указать диапазон символов: например, [a-f] - то же самое, что [abcdef];[^abc] – любой символ, кроме перечисленных в скобках;\d – цифра. Эквивалентно [0-9];\D – любой символ, кроме цифр. Эквивалентно [^0-9];\w – цифра, буква (латинский алфавит) или знак подчеркивания. Эквивалентно [0-9a-zA-Z_];\W – любой символ, кроме цифр, букв (латинский алфавит) и знака подчеркивания. Эквивалентно [^0-9a-zA-Z_];\s – пробельный символ (пробел, табуляция, перевод строки и т. п.);\S – любой символ, кроме пробельных;. – любой символ, кроме перевода строки. Для поиска любого символа, включая перевод строки, можно использовать конструкцию [\s\S];\ – экранирование. Например, символ "." является спецсимволом; если же нужно, чтобы он воспринимался буквально, т. е. означал именно точку, то нужно записать это так: "\." ;a|b – условие "или" (a или b). Так как в данном случае с обеих сторон разделителя ровно по одному символу, то можно заменить на [ab];(abc) – подвыражение. Соответствующий подвыражению текст запоминается отдельно от общего результата;(?:abc) – подвыражение. Соответствующий подвыражению текст не запоминается. Используется для группировки частей образца.Например, "/ко(?:т|шка)/" эквивалентно "/кот|кошка/";(?=abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие найдено.Например, "/Windows (?=95|98|NT|2000)/" найдет "Windows " в строке "Windows 98", но ничего не найдет в строке "Windows 3.1". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед;(?!abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие не найдено.Например, "/Windows (?!95|98|NT|2000)/" найдет "Windows " в строке "Windows 3.1", но ничего не найдет в строке "Windows 98". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед.

    • Выпадающий список – если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка (ограниченный справочник);

    • Автозавершение - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка путем ввода его наименование в специальное поле, по мере ввода наименования кода пользователю будут предлагаться подходящие варианты (ограниченный справочник) - используется для справочников с БОЛЬШИМ количеством кодов.

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

  • Коды справочника – в этом блоке можно добавлять новые коды в справочник (видно только для ограниченных справочников, которые ни от чего не наследуют);

  • Организации – коды будут привязаны только к персонам, которые принадлежат к данным организациям (настройка в редакторе персон);

  • Типы услуг – в зависимости от настроек справочник будет появляться при оформлении заказа определенного типа услуг;

  • Зависимость от кодов – в зависимости от настроек правил показа справочник может появляться при заполнении определенного кода другого справочника или нескольких кодов, а также в случае совпадения определенных значений кодов, установленных у персон.

4. Ризон-коды (Справочник ризон-кодов).

Ризон-коды (ранее это были бюджетные коды с флагом "Является кодом нарушения тревел-политики") - данные коды заказчик должен указать для заказов, в которых есть нарушения ТП.

Рассмотрим редактор структурного меняемого справочника более подробно:

  • Название на русском/английском – как называется справочник;

  • Наследует от справочника – если в этом выпадающем списке выбрано значение, то в справочник нельзя добавить коды, так как они берутся из того справочника, от которого наследует данный. От одного справочника можно унаследовать только один справочник-клон. Классическим примером справочника-клона является кост-центр: например, кост-центр может быть как привязан к персоне, так и выбираться при создании заказа из списка (бюджетный);

  • Тип селектора:

    • Текстовое поле – если выбран данный тип селектора, то справочник будет в себе содержать «одноразовые значения», которые пользователь указывает каждый раз заново, а не выбирает из списка (неограниченный справочник).
      Кроме того, можно предусмотреть валидацию на код – выделенный на скриншоте блок доступен в том случае, если выбрано текстовое поле:

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

Подробнее о составлении регулярных выражений можно узнать в большом количестве литературы (особенно хорошо это разбирается в книгах по Perl).

Список символов для написания регулярных выражений:

  • [abc] – любой из перечисленных в скобках символов. Используя дефис, можно указать диапазон символов: например, [a-f]

    • то же самое, что 

    [abcdef];

    • [^abc] – любой символ, кроме перечисленных в скобках;

    • \d – цифра. Эквивалентно [0-9];

    • \D – любой символ, кроме цифр. Эквивалентно [^0-9];

    • \w – цифра, буква (латинский алфавит) или знак подчеркивания. Эквивалентно [0-9a-zA-Z_];

    • \W – любой символ, кроме цифр, букв (латинский алфавит) и знака подчеркивания. Эквивалентно [^0-9a-zA-Z_];

    • \s – пробельный символ (пробел, табуляция, перевод строки и т. п.);

    • \S – любой символ, кроме пробельных;

    • . – любой символ, кроме перевода строки. Для поиска любого символа, включая перевод строки, можно использовать конструкцию [\s\S];

    • \ – экранирование. Например, символ "." является спецсимволом; если же нужно, чтобы он воспринимался буквально, т. е. означал именно точку, то нужно записать это так: "\." ;

    • a|b – условие "или" (a или b). Так как в данном случае с обеих сторон разделителя ровно по одному символу, то можно заменить на [ab];

    • (abc) – подвыражение. Соответствующий подвыражению текст запоминается отдельно от общего результата;

    • (?:abc) – подвыражение. Соответствующий подвыражению текст не запоминается. Используется для группировки частей образца.
      Например, "/ко(?:т|шка)/" эквивалентно "/кот|кошка/";

    • (?=abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие найдено.
      Например, "/Windows (?=95|98|NT|2000)/" найдет "Windows " в строке "Windows 98", но ничего не найдет в строке "Windows 3.1". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед;

    • (?!abc) – поиск с "заглядыванием вперед". Срабатывает, если соответствие не найдено.
      Например, "/Windows (?!95|98|NT|2000)/" найдет "Windows " в строке "Windows 3.1", но ничего не найдет в строке "Windows 98". После сопоставления поиск продолжается с позиции, следующей за найденным соответствием, без учета заглядывания вперед.

    • Выпадающий список - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка. (Ограниченный справочник);

    • Автозавершение - если выбран данный тип селектора, то справочник будет содержать список кодов, ранее добавленных в админке и пользователь сможет выбрать одно значение из выпадающего списка путем ввода его наименование в специальное поле, по мере ввода наименования кода пользователю будут предлагаться подходящие варианты (ограниченный справочник) - используется для справочников с БОЛЬШИМ количеством кодов.

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

  • Коды справочника – в этом блоке можно добавлять новые коды в справочник (видно только для ограниченных справочников, которые ни от чего не наследуют);

  • Организации – коды будут привязаны только к персонам, которые принадлежат к данным организациям (настройка в редакторе персон);

  • Типы услуг – в зависимости от настроек справочник будет появляться при оформлении заказа определенного типа услуг;

  • Зависимость от кодов – в зависимости от настроек правил показа справочник может появляться при заполнении определенного кода другого справочника или нескольких кодов, а также в случае совпадения определенных значений кодов, установленных у персон.

 

5. Коды нарушения ТП (справочники нарушений ТП).

Нарушение ТП – привязаны к правилам нарушений тревел-политик. 

Используются для автоматической пометки заказов в том случае, если тревел-политика была нарушена.

В плане редактирования, коды нарушения ТП, пожалуй, являются самыми простыми: они не имеют привязки к организациям (добавляются во все заказы с нарушением тп, не зависимо от плательщика).

Рассмотрим редактор справочника нарушения ТП более подробно:

  • Название на русском и на английском – название справочника нарушения ТП

После сохранения справочника появляется следующий раздел:

  • Коды справочника – в этом блоке можно добавлять новые коды в справочник (видно только для ограниченных справочников, которые ни от чего не наследуют):

В ТП на каждое правило можно привязать свой код нарушения тревел-политики, а также в некоторых правилах внутри списка возможно выставить свой код нарушения. Указанный код будет внесен в заказ в том случае, если было нарушено правило из данного блока и данная политика применяется к одному из пассажиров в заказе.

В приведенном выше примере показано следующее: если при заказе авиабилетов для пассажира, использующего данную тревел-политику, отклонение от минимальной цены превысит 5%, то в заказ будет добавлен системный код под названием «Выбран не самый дешевый тариф» из справочника «Код нарушения ТП».

____