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

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 Управляемые формы 1C:Бухгалтерия Платные (руб)

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

5000 руб.

14.01.2016    55437    17    23    

43

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

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63827    44    59    

82

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

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

2400 руб.

29.06.2020    19719    28    6    

44

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

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

20.08.2024    21833    mrXoxot    44    

128

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

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

27.05.2024    10945    smielka    37    

105

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

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

27.12.2023    17957    1225    elcoan    53    

125

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

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

3 стартмани

10.04.2023    12656    167    acces969    31    

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