Форма выбора типа. Решение для быстрой интеграции.
Проблема
Что предлагается
Основные возможности
Технические особенности
Практическое применение
Преимущества
Сценарии применения
Заключение
Проблема выбора типов в пользовательском режиме
Каждый разработчик 1С сталкивался с неудобством стандартной формы выбора типа в пользовательском режиме. И если в конфигураторе форма не вызывает нареканий, то в режиме "Предприятие" мы получаем простой перемешанный список без категорий.

В больших конфигурациях с тысячами объектов метаданных поиск нужного типа превращается в мучение. Еще и не понятно, объект какого типа мы видим, а названия бывают похожими или даже одинаковыми.

Разработчики и пользователи регулярно сталкиваются с этой проблемой. Кроме того бывает нужно выбрать момент времени, границу, хранилище значения, массив. Существует множество решений на эту тему, но большинство из них слишком сложны для быстрого переноса в свой проект.
Например, есть отличное решение Выбор типа в Infostart Toolkit, но во-первых он платный, а во-вторых быстро извлечь нужное из чего-то большого для использования в своих проектах довольно проблематично.
Что предлагается:
Компактная обработка с универсальной формой выбора типа

Основной упор был сделан на:
Легкость интеграции в любую конфигурацию или обработку
Весь функционал реализован в одной форме, которую можно скопировать в ОбщиеФормы или в свою обработку. Останется только настроить несколько обработчиков событий поля выбора.
Основные возможности
Мгновенный поиск
Поиск работает в реальном времени - начинаете печатать, сразу видите результат.
Легкое переключение на поиск
Просто нажмите пробел - курсор автоматически переместится в поле поиска. Никаких Ctrl+F и метаний между мышью и клавиатурой.
Поиск по нескольким словам
Можете искать по частям слов - система найдет объекты, содержащие все указанные слова.
Причем необязательно по началу слов. Мой любимый лайфхак - искать по частям на стыке слов, селективность выбора будет гораздо выше. Например мы хотим найти ДокументОбъектПоступления и вводим ктпост. Это и ввести быстрее, чем "объект поступл", а выбор гораздо точнее
Возможность переключения вывода объектов по наименованию или по синониму
Очень важная настройка, часто бывает что синоним вообще не похож на наименование, а не только отличается наличием пробелов между словами.

Также есть вариант по полному представлению. В этом случае выведется и имя, и синоним, если они отличаются.
Поддержка составных типов
Можете выбрать несколько типов одновременно для создания составного типа данных.
Быстрое отключение ненужных типов
Просто укажите строку ненужных типов в параметрах открытия формы.
Простое закрытие формы выбора
Если вы передумали выбирать тип, необязательно целиться в кнопку отмена. Достаточно кликнуть по родительской форме и форма выбора закроется. Но это тоже отключается через параметры, если не нужно.

Технические особенности
Форма быстрая - картинки кэшируются, скроллинг дерева быстрый даже на конфигурациях с большим количеством объектов. Метаданные считываются по мере открытия веток формы.
Поддерживаются все типы данных, даже редко используемые МоментВремени, Граница, УникальныйИдентификатор, ХранилищеЗначения которые и не в каждой консоли запросов найдешь, хотя и бывают нужны.
Также есть:
- Определяемые типы
- Составные типы
Практическое применение
Интеграция в проект
Обработка 1 состоит из двух форм:
Форма- демонстрационная форма с примерами использованияФормаВыбораТипа- основная рабочая форма
Для использования в своем проекте достаточно скопировать ФормаВыбораТипа в общие формы конфигурации или в свою обработку.
В большинстве случаев достаточно этой обработки. Простая в понимании и интеграции, экономит мыслетопливо.
В обработке 2 со специальными типами также есть форма
ФормаРедактированияСпециальныхТипов- для Момента времени, Границы, Уникального идентификатора
Каждый пример сопровожден отдельной формой, чтобы не выискивать нужное на общей форме.
В демонстрационной форме со всеми типами есть несколько вариантов реализации полей выбора.
Выбирайте, какой вам больше нравится.
Преимущества решения
Простота внедрения
Одна форма, никаких зависимостей, без БСП. Скопировал форму, настроил обработчики событий элемента - и все работает.
Скорость работы
Поиск мгновенный, интерфейс отзывчивый, никаких тормозов даже в больших конфигурациях.
Привычный интерфейс
Внешний вид максимально приближен к конфигуратору.
Универсальность
Подходит для любых задач - от простого выбора типа до настройки сложных составных типов.
Самый удобный поиск

Сценарии использования
Форма пригодится при разработке:
- Любых форм, где нужен выбор типа данных. Примеры: дополнительные свойства объекта, поиск ссылок на объекты, работа с метаданными
- Различных консолей разработчика
- Инструментов настройки интеграций
- Отладочных утилит
- Форм настроек
- Полей, использующих планы видов характеристик, планы счетов
Заключение
Компактная быстрая форма выбора типа - это простое решение повседневной проблемы разработчика. Никаких излишеств, только необходимый функционал. Форма универсальная и легко адаптируется под конкретные задачи проекта.
Буду рад всем плюсам и комментариям!
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.16.80
Вступайте в нашу телеграмм-группу Инфостарт






