Настройка условной видимости и обязательности полей в заявках

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

Практически в каждом проекте есть потребность показать/скрыть поля заявки и сделать их обязательными для заполнения в зависимости от каких-либо условий. Например, при выборе безналичного способа оплаты выводить поля с видом НДС, расчётным счётом и реквизитами получателя. И сделать обязательными для заполнения. Это и есть условная видимость и обязательность полей.

В Казначействе это легко сделать в Шаблонах документов.

Порядок и пример настройки

Настроим шаблон заявки так, чтобы для расчётов с юридическими лицами инициатор вводил ИНН, а для расчётов с физическими лицами — фамилию имя и отчество контрагента. Поля ИНН и ФИО должны быть обязательны для заполнения.

  1. На главном экране ФинГрада в разделе Основная информация выберите пункт Аналитики:

В новой базе данных ФинГрада есть аналитика Контрагент. У этой аналитики есть колонка ИНН:

Для простоты считаем, что справочник аналитики Контрагент уже заполнен нужными записями — наименованиями и ИНН контрагентов.

  1. Добавим колонку ФИО к аналитике Контрагент.

Чтобы найти аналитику, начните вводить её название в редакторе аналитик (1). Выберите аналитику в списке (2) и в блоке Колонки раскройте выпадающий список на кнопке Добавить (3). Выберите в списке строку Колонку (4):

 

  1. В блоке Свойства колонки введите имя колонки (1) — ФИО — и выберите её тип (2) — Текст. Сохраните изменения (3).

  1. Добавим к аналитике Контрагент признак: юр. лицо или физ. лицо. Это делается так же, добавлением к аналитике ещё одной колонки Тип:

В блоке Свойства колонки введите имя колонки (1) — Тип — и выберите её тип (2) — Текст. Включите свойство Обязательная колонка (3) и сохраните изменения (4).

Теперь у аналитики Контрагент есть обе нужные колонки: ИНН и ФИО и признак Тип, который тоже является колонкой.

  1. На главном экране ФинГрада в разделе Основная информация выберите пункт Шаблоны документов:

Откроется Редактор шаблона.

  1. Выберите шаблон (1). В примере это Заявка безналичные_Инициатор. В конце таблицы кликните в область Добавить или удалить поля... (2):

Откроется окно Управление полями.

  1. В области Доступные поля начните вводить название нужной аналитики (1). По мере ввода ФинГрад показывает все поля, удовлетворяющие введённой последовательности. Выберите поле ИНН@Контрагент (2) и с помощью стрелки (3) добавьте её в область Выбранные поля:

Сохраните изменения (4), нажав кнопку .

  1. Аналогично добавьте в шаблон поле ФИО@Контрагент. Если в вашем шаблоне не добавлена аналитика Контрагент, добавьте и её таким же образом.
  2. Измените порядок полей в заявке, как вам удобно. Например, можно перетянуть добавленные поля ближе к полю Контрагент. Для этого левой кнопкой мыши выделите нужное поле и, удерживая кнопку, перетяните поле в новое место. После этого отпустите кнопку.
  1. Напротив поля ИНН@Контрагент перейдите к столбцу Видимое (1):

В поле Формула введите строку (2): Контрагент.Колонка('Тип ')=='юр. лицо'

Это выражение проверяет колонку Тип аналитики Контрагент. Если результат — юр. лицо, то поле ИНН@Контрагент будет в заявке видимым.

  1. Напротив поля ИНН@Контрагент перейдите к столбцу Обязательное (1):

В поле Формула введите такую же строку (2): Контрагент.Колонка('Тип')=='юр. лицо'

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

  1. Аналогично добавьте формулу (2) напротив поля ФИО@Контрагент в столбцах Видимое (1) и Обязательное (3):

В поле Формула введите строку (2): Контрагент.Колонка('Тип')=='физ. лицо'

Если в заявке тип лица контрагента — физ. лицо, то появится поле ФИО, и его нужно будет заполнить обязательно.

  1. В столбце Наименование переименуйте поля, упростив их название. Поле ИНН@Контрагент можно сократить до ИНН, а поле ФИО@Контрагент — до ФИО:

  1. Сохраните шаблон, нажав кнопку Сохранить.

Теперь, если открыть веб-интерфейс «ФинГрад — Казначейства» и перейти к созданию заявки по шаблону, который мы отредактировали, после выбора контрагента в зависимости от его типа будет появляться либо поле ИНН, либо поле ФИО.