Управление дополнительными полями (библиотека полей)
Что вы узнаете
- Что такое библиотека полей и как связана с типами документов
- Как создать новое поле, включая шесть типов
- Иерархии родитель-ребёнок и повторяющиеся группы
- Как редактировать и удалять поля — и риски изменения используемого поля
Что такое «дополнительные поля»
Страница Дополнительные поля — библиотека полей вашей компании, каталог многоразовых определений, которые можно прикрепить к любому типу документа. Одно поле создаётся один раз здесь, затем прикрепляется к стольким типам, скольким нужно.
Пример: поле «Сумма» (числовое) живёт один раз в библиотеке. Оно прикреплено к «Заявке на отпуск» (для суточной ставки), «Счёту поставщика» (для итога) и «Возмещению расходов» (для возврата). Все три типа используют одно определение — переведи один раз (см. Добавление переводов к полям) и переведётся везде.
Эта статья о ведении самой библиотеки — создании новых, редактировании существующих и удалении неиспользуемых. О прикреплении поля библиотеки к конкретному типу — см. Добавление полей в тип документа.
Список Дополнительные поля
Утилиты → Дополнительные поля в боковой панели.
additional-fields-listКонтролы страницы:
- Поиск — фильтрует список по имени поля.
- Вкладки-фильтры типа — сужают по типу поля (см. ниже).
- Кнопка Создать — открывает диалог Добавление поля для создания нового.
Таблица:
Каждая строка показывает имя поля, значок типа, значок статуса (Активен / Неактивен) и меню из трёх точек для редактирования и удаления. Родительские поля на верхнем уровне; дочерние — с отступом под ними с маленькой стрелкой, так иерархия видна с одного взгляда.
Шесть типов поля
При создании выбираете один из шести типов. Тип определяет, какие данные поле захватывает и как показано пользователям.
| Тип | Что это | Пример использования |
|---|---|---|
Text (str) | Свободный текст в одну строку | Имя, причина, описание |
Number (num) | Числовой ввод | Сумма, количество, счётчик |
Date (date) | Выбор даты | Дата начала, срок, период |
Yes / No (bit) | Единый переключатель | «Включая НДС?», «Срочно?» |
Dropdown (arr) | Выбор одного из типированного списка | Отдел, категория, приоритет |
List (list) | Выбор одного из внешнего/динамического списка | Список сотрудников, код валюты, код плана счетов |
Dropdown (arr) vs. List (list):
- Используйте Dropdown, когда опций мало и набор фиксирован (Low / Medium / High), и вы можете ввести сами.
- Используйте List, когда опции идут из большего набора, который может меняться (каждый сотрудник, каждый поставщик). Партнёр по внедрению настраивает источник данных для списка.
Создание поля
- На странице Дополнительные поля нажмите Создать.
- Открывается диалог Добавление поля. Заполните:
- Имя — что увидят админы, прикрепляя к типу. Сделайте ясным и многоразовым. «Сумма» лучше «Сумма отпуска», если поле общее.
- Тип — выбирайте из шести. Выбор фактически постоянный — см. предупреждение ниже.
- Parent — оставьте Нет для поля верхнего уровня. Выберите другое поле, чтобы сделать дочерним того (для повторяющихся групп — следующий раздел).
- List Def (только для Dropdown и List) — опции через запятую. Напр., «Low, Medium, High». Порядок важен — сохраняется между переводами.
- Allowed Rep — сколько раз поле может появиться в документе:
- 0 — без лимита (пользователь может добавлять сколько угодно копий кнопкой «Добавить ещё»).
- 1 — одиночный экземпляр (самое частое).
- N — ровно N копий (редко; когда нужна фиксированная структура, как ровно 3 согласующих).
- Статус — Активен (по умолчанию) или Неактивен. Неактивные не показаны при прикреплении к типам, но существующие прикрепления продолжают работать.
- Нажмите Создать.
Поле появляется в библиотеке сразу и доступно для прикрепления к любому типу.
Иерархии родитель-ребёнок (повторяющиеся группы)
Поля можно вкладывать в родительско-дочернее отношение. Так моделируете повторяющиеся группы в форме — например, набор позиций в возмещении расходов, где у каждой своё описание, количество и цена.
Настройка
- Сначала создайте родительское — обычно текстовое поле типа «Позиция» с Allowed Rep = 0 (без лимита).
- Создайте каждое дочернее («Описание», «Количество», «Цена»), установив их Parent на поле-позицию.
Когда пользователь заполняет документ, видит родительское поле с кнопкой Добавить ещё. При каждом нажатии появляется новый блок со всеми дочерними по порядку, разделяющий индекс повторения родителя.
Как дочерние повторяются
Дочерние повторяются с родителем, не независимо. Если пользователь добавляет вторую «Позицию», получает второй набор Описание / Количество / Цена — один набор на позицию. Нельзя использовать одних дочерних между несколькими родителями, и у дочерних нет своего независимого счётчика повторов.
Allowed Rep — что означают числа
| Значение | Поведение |
|---|---|
| 0 | Без лимита. Пользователь видит кнопку Добавить ещё и может добавлять сколько нужно копий. |
| 1 | Ровно один. Пользователи видят одно поле ввода. По умолчанию, покрывает большинство случаев. |
| 2, 3, 4, … | Ровно столько копий — не больше, не меньше. Пользователи видят фиксированное число, не могут добавить или убрать. Используется редко; напр., «три экстренных контакта». |
Редактирование поля
- На странице Дополнительные поля кликните по строке, чтобы открыть детали, или по меню из трёх точек → Редактировать.
- Обновите настройки.
- Нажмите Сохранить.
Изменения вступают в силу сразу на каждом типе, где поле прикреплено. В этом смысл библиотеки — одно редактирование, много выгодоприобретателей.
Безопасные изменения (низкий риск):
- Переименование — новое имя появляется везде.
- Добавление перевода — см. Добавление переводов к полям.
- Добавление новой опции в List Def Dropdown в конец.
- Переключение Статуса Активен/Неактивен.
Рискованные изменения (могут повлиять на существующие данные):
- Смена типа — сохранённые значения не сконвертируются; могут сломать документы.
- Удаление или перестановка опций в List Def — существующие документы с убранным/перемещённым значением покажут пустое или неверное.
- Смена Allowed Rep с без лимита на фиксированный — существующие документы с большим числом повторов, чем новый лимит, могут обрезаться или ошибиться.
- Смена Parent — перемещение поля в родительско-дочернее отношение или из него влияет на документы.
Удаление поля
- На странице списка нажмите меню из трёх точек в строке поля.
- Выберите Удалить.
- Подтвердите диалог.
Частые вопросы
Хочу, чтобы у двух типов были разные опции для «Категории». Создавать два отдельных поля?
Да — поля общие, поэтому одно «Категория» имеет один список опций, используемый везде. Если двум типам нужны разные наборы, создайте два поля (напр., «Категория расхода» и «Категория поездки») и прикрепите каждое к нужному типу.
Можно переставлять поля на странице списка Дополнительные поля?
Нет — список организован по иерархии родитель-ребёнок. Порядок полей для конечных пользователей задаётся на карточке Поля каждого типа (перетаскиванием там). См. Добавление полей в тип документа.
Создал поле, но оно не появляется ни на одном документе.
Поле в библиотеке не на типе автоматически — его нужно прикрепить. Откройте страницу деталей типа и используйте диалог Добавить поля на карточке Поля. См. Добавление полей в тип документа.
Может ли дочернее существовать без родителя?
Поле с родителем требует живого родителя. Если удалите родительское, дочерние осиротеют — спасайте, редактируя каждое и сбрасывая Parent на Нет, или удалите тоже.
Что будет, если поставить статус Неактивен?
Существующие прикрепления работают — пользователи видят поле в существующих типах и вводят данные. Но поле не появляется в диалоге Добавить поля ни на одном типе, поэтому новые прикрепления невозможны. Используйте Неактивен для полей, которые хотите вывести без удаления.
Есть ли импорт/экспорт полей?
В UI — нет. Определения создаются по одному. Если большая партия, запланируйте сессию; партнёр по внедрению может помочь с массовой загрузкой через бэкенд.
Могут ли два поля иметь одно имя?
Технически да — VAT Portal не требует уникальности. На практике избегайте. Если два поля делят имя, админы, прикрепляя к типам, выберут не то, а конечные пользователи увидят дубликат. Используйте уникальные, описательные имена.