Как настроить порядок (расположение) для общих команд (УФ)

12.05.23

Разработка - Работа с интерфейсом

Настройка порядка отображения (расположения) для общих команд без использования редактора командного интерфейса (УФ).

Получил очередное задание на разработку расширения, которое добавляет несколько общих команд. Параметры команд определяются при установке и настройке расширения через конфигуратор, команды должны располагаться в отдельной группе в определённом заказчиком порядке, должно работать на любых конфигурациях (в т.ч. без БСП), с замка ничего не снимать.

Вроде бы ничего необычного, но у расширения есть группа команд, в которой команды должны следовать в определенном порядке. Логично, что нужно как-то задать порядок команд по умолчанию, но у 1С своя логика:

  1. Несмотря на порядок в конфигураторе команды отображаются сортированными по синониму в алфавитном порядке, внутри группы изменение порядка не предусмотрено
  2. Если создать форму и открыть настройку программного интерфейса мы можем изменять порядок команд сняв галку "Автоположение" (Статья Как управлять расположением команд в командной панели формы?)
  3. Можно формировать команды программно или использовать соответствующие механизмы БСП
  4. Так же порядок можно менять через "Изменить форму" в режиме предприятия

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

Так как мы не знаем, к каким объектам будут подключены команды расширения - мы не можем "прописать" интерфейс заранее. К тому же это трудоёмко и требует изменения форм. 2 и 3 отпадают.

Метод 4 для этой задачи неудобен и ненадёжен, хотя право на жизнь имеет.

И вот, казалось, опять настал момент обругать 1С и сказать заказчику что "В 1С это невозможно", хотя... она же сортирует команды по алфавиту! Рано мы 1 списали.

Из 3-х команд на букву "О" одна отображалась в середине, а нужно было в начале. Запросто: меняем русскую "О" на латинскую "O" и команда встала в самый верх группы. Но после добавления ещё нескольких команд стало очевидно, что латинских букв может не хватать, да и названия нужно придумывать "правильные" для сортировки.

Вот тут и пришла идея использовать для сортировки в начале синонима непечатные символы! Но оказалось, что поле ввода синонима в конфигураторе их фильтрует и не даёт ввести. Та же история со специальными символами Unicode - работают только те, что выдают какой-либо пробельный символ, а перспективные U+200B Zero-Width Space, U+200C Zero Width Non-Joiner и U+200D Zero Width Joiner тоже фильтруются. Спустя пару часов путем перебора всё-таки удалось найти нужный символ - U+180E Mongolian Vowel Separator.

Итак, сама технология:

  1. В 1С располагаем команды в нужном порядке в дереве конфигуратора (так легче добавлять символ и не запутаться)
  2. Запускаем Word, в пустом документе на латинском вводим 180e
  3. Нажимаем Alt+X (шрифт переключится на Mongolian Baiti), затем Shift+← (выделяем символ), ну и Ctrl+C (Ctrl+Insert)
  4. Теперь в конфигураторе начиная со второй по счету команды добавляем в начало синонима скопированный символ Ctrl+V (Shift+Insert), в каждую следующую команду добавляем на один символ больше.
  5. F7 - вуаля, всё получилось!

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

Предлагаю поделиться мнениями, что же это получилось: простое решение, костыль, г??нокод (есть правильное типовое решение) или свой вариант.

задать изменить настроить порядок расположение общие общих команд команда команды управляемые управляемый управляемое формы командная панель группа группы интерфейс приложение

См. также

Работа с интерфейсом Анализ учета Мониторинг Платформа 1С v8.3 8.3.14 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью подсистемы "Инфоборды". Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Подсистема реализована в форме расширения 1С.

27.03.2025    1596    6    developer118    7    

11

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

6000 руб.

14.01.2016    56690    19    25    

45

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    10655    2    2    

7

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    20654    30    6    

46

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    29708    mrXoxot    44    

134

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    16113    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    19567    1257    elcoan    53    

128

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

3 стартмани

10.04.2023    13750    173    acces969    31    

131
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2016 24.04.23 12:31 Сейчас в теме
Костыль, конечно) Но раз работает - то почему бы и нет?
2. gruk 42 24.04.23 14:35 Сейчас в теме
(1) тоже сначала думал что костыль, но потом смотрю - клин. ;) типа очередное дурацкое решение дурацких ограничений платформы, клин-клином.
3. DrAku1a 1761 29.04.23 10:09 Сейчас в теме
Да уж))
Прикрепленные файлы:
4. Nuki4 02.05.23 10:13 Сейчас в теме
А свойство "Порядок" чем-то не устраивает?
5. gruk 42 12.05.23 13:03 Сейчас в теме
(4) Тем, что его нет. А если Вы про порядок элементов формы - то по условию задачи мы не знаем заранее какие формы расширять.
6. Nuki4 12.05.23 17:33 Сейчас в теме
(5) Хм, я оставлял комментарий, тк был уверен, что речь шла про подключаемые команды. У них как раз есть порядок.
Видимо промазал темой)
7. Swamt 39 08.09.23 00:43 Сейчас в теме
Спасибо огромное! Мучался долго... было уже потерял надежду
Оставьте свое сообщение