§ 9.3. Форма выбора: вернуть одно значение в поле
Откройте поступление и нажмите кнопку выбора рядом с полем «Контрагент». Откроется список контрагентов — похожий на тот, что открывается из раздела, но ведёт он себя иначе: двойной щелчок не открывает карточку, а закрывает окно и подставляет выбранного контрагента в поле. Это не список. Это форма выбора — и отличает её не устройство, а задача.
1. Роль, в которой зовут эту форму
У справочника есть отдельная строка основных форм — форма для выбора. Документация описывает её так: это форма, «которая будет вызвана системой для выполнения стандартных действий для выбора элемента или группы справочника».
| что происходит | какую роль зовёт платформа |
|---|---|
| пользователь открыл список из раздела | форму списка |
| пользователь нажал выбор в поле | форму для выбора |
| выбирают папку, а не элемент | форму для выбора группы |
Если строка формы выбора пуста, платформа строит автоформу — такую же, как для списка, только в режиме выбора. Поэтому они и похожи: собраны по одним правилам, а вызваны с разными целями.
2. Что меняется в режиме выбора
Задача другая — и поведение формы меняется, хотя элементы те же.
| список | выбор | |
|---|---|---|
| зачем открыли | найти и посмотреть | вернуть значение в поле |
| двойной щелчок | открывает карточку | подставляет значение и закрывает окно |
| чем заканчивается | переходом к записи | возвратом в поле, из которого позвали |
| кто ждёт результата | никто | поле документа |
У таблицы для этого есть свойство — режим выбора. Включает его не разработчик: документация помечает, что на клиенте оно доступно только для чтения, — режим ставит платформа, когда открывает форму для выбора.
Список отвечает на вопрос «что тут есть». Форма выбора отвечает на вопрос «какое из этих значений вы имели в виду».
3. Закрываться или остаться
У формы есть свойство «закрывать при выборе». Документация говорит о нём прямо: это признак того, что форму нужно закрывать после выбора, по умолчанию он включён, а если выключить, «можно использовать форму для выбора нескольких позиций или элементов».
| значение | как ведёт себя форма |
|---|---|
| включено, по умолчанию | выбрали одно значение — окно закрылось |
| выключено | окно остаётся, можно выбирать ещё |
Вторая строка — это и есть форма подбора, знакомая всем, кто работал с торговыми программами: выбрали товар, он встал строкой в документ, окно осталось открытым — выбирайте следующий. Правило чтения простое: форма выбора не закрылась — проверьте это свойство. Чаще всего её задумали для подбора.
4. Когда формы выбора не будет вовсе
Иногда выбор происходит без всякого окна: щёлкнули по полю — выпал короткий список значений. Решает это свойство справочника — способ выбора.
| способ выбора | что увидит пользователь |
|---|---|
| из формы | откроется форма выбора |
| быстрый выбор | выпадающий список прямо в поле |
| обоими способами | доступно и то и другое; что показать сразу, решает отдельный флажок быстрого выбора |
Рабочее правило: коротким справочникам быстрый выбор к месту — единиц измерения пять, и окно для них лишний шаг. Длинным он не годится: выпадающий список на тысячу строк бесполезен, там нужна форма с поиском и отбором.
Есть и третий путь к значению. Начните печатать «бум» прямо в поле — платформа сама найдёт бумагу; формы при этом не открывается вовсе. Называется это вводом по строке, а поля, по которым так искать, задают у объекта списком.
5. Откуда у формы выбора отбор
Форма выбора часто показывает не всё. Причина — в поле, из которого её позвали: вместе с просьбой выбрать платформа передаёт форме ограничения.
| что видно | откуда это |
|---|---|
| в списке только часть записей | отбор, заданный у поля в форме, откуда позвали |
| выбрать можно только элемент, но не папку | так задано у поля |
| список уже позиционирован на значении | в поле уже было значение |
Для читателя это важный поворот: странности формы выбора объясняются не в ней самой. Увидели в форме выбора половину справочника — смотрите свойства того поля, из которого её вызвали: отбор задан там.
6. Как узнать форму выбора в чужой конфигурации
Признаки читаются по роли и свойствам.
| признак | что значит |
|---|---|
| форма стоит в строке «основная форма для выбора» | её зовут при выборе |
| у таблицы включён режим выбора | форма работает на возврат значения |
| свойство «закрывать при выборе» выключено | это подбор, а не одиночный выбор |
| в форме есть свои команды вроде «Подобрать» | работа идёт прямо здесь |
Последняя строка — частый случай в торговых конфигурациях: форма выбора разрастается до рабочего места, где человек набирает корзину. Про «одно значение» это уже не разговор, и к таким формам мы ещё вернёмся в этой главе.
7. В Конфигураторе и в Предприятии
Посмотрим на три пути к значению.
-
Откройте поступление и нажмите выбор у поля «Контрагент»: открылась автоформа выбора. Выберите контрагента — окно закрылось, значение в поле.
-
В том же поле напечатайте первые буквы названия контрагента. Платформа подставит значение без всякой формы — это ввод по строке.
-
В Конфигураторе откройте справочник «Единицы измерения» и задайте ему быстрый выбор.
-
Обновите конфигурацию и откройте карточку товара: в поле единицы измерения теперь выпадающий список, а не окно.
-
Оставьте это как есть, а «Товарам» быстрый выбор не задавайте.
Главное в одном абзаце
Форма выбора — это не отдельное устройство, а роль: платформа зовёт её, когда значение надо вернуть в поле. Строка «основная форма для выбора» указывает, какую форму взять; если строка пуста, строится автоформа, поэтому список и выбор так похожи. В режиме выбора форма ведёт себя иначе: двойной щелчок подставляет значение и закрывает окно, а режим выбора у таблицы включает сама платформа. Свойство «закрывать при выборе» решает, закроется окно после первого значения или останется для подбора нескольких. Иногда формы выбора не будет вовсе: короткому справочнику задают быстрый выбор — выпадающий список прямо в поле, а ввод по строке находит запись по набранным буквам. Отбор, с которым открылась форма выбора, приходит из поля, откуда её позвали, — там и надо искать причину, если показана только часть записей.
Справочник и документ мы читали рядом, как будто это одно и то же. Но у документа есть дата, номер и проведение, а у справочника их нет. Чем формы документа отличаются от форм справочника и что из этого следует для чтения?
Контрольные вопросы
- В какой роли платформа зовёт форму выбора?
- Почему форма выбора так похожа на форму списка?
- Что меняется в поведении формы, когда её открыли для выбора?
- Кто включает режим выбора у таблицы?
- Что делает свойство «закрывать при выборе» и для чего его выключают?
- В каких случаях формы выбора не будет вовсе?
- Где искать причину, если форма выбора показывает только часть записей?
Упражнения
По образцу. Нажмите выбор у поля «Склад» в поступлении и скажите, какая форма открылась и почему именно она.
Своё: кому быстрый выбор. Пройдите по справочникам «Канцтоваров» и решите, какому из них стоит задать быстрый выбор, а какому нет. Объясните каждое решение.
Ловушка: «выбрал товар — окно закрылось, а надо десять». Кладовщик жалуется, что набирать десять товаров в документ неудобно. Что можно изменить и где?
Обратный ход. В чужой конфигурации форма выбора контрагентов показывает только покупателей, хотя в справочнике есть и поставщики. Где искать причину?
На чтение. В форме выбора товаров есть таблица остатков по складам и своя команда «Подобрать». Что это за форма и зачем её такой сделали?
Ответы — в конце части.