Как убрать лишнюю ширину кнопок в командной панели 1С и найти команду Посчитать

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке интерфейсов на управляемых формах 1С программисты часто сталкиваются с тем, что платформа пытается «интеллектуально» распределить пространство в командной панели. Это приводит к тому, что кнопки, для которых задан вид Только картинка, неоправданно растягиваются в ширину, оставляя пустое место, зарезервированное под текст заголовка. Рассмотрим детально, как справиться с этой проблемой и разберем сопутствующие вопросы настройки интерфейса.

Разберем причины автоматического растягивания кнопок

Первым делом проанализируем, почему платформа игнорирует наше желание сделать кнопку компактной. В 1С:Предприятие 8.3 механизмы компоновки форм работают по принципу адаптивности. Если у кнопки не заданы жесткие ограничения, система выделяет ей стандартную ширину, соответствующую среднему размеру заголовка команды. Даже если мы переключаем режим отображения в значение Картинка, платформа может сохранять «посадочное место» под текст.

Выясним, какие свойства влияют на этот процесс. Основными «виновниками» являются настройки самой кнопки и настройки контейнера (группы или командной панели), в которой она находится. Для быстрого подбора этих параметров непосредственно в пользовательском режиме можно использовать инструмент для редактирования свойств элементов формы.

Способ 1. Настройка свойств ширины и автоширины

Посмотрим на стандартный набор свойств элемента формы типа Кнопка. Часто разработчики просто устанавливают значение в поле Ширина, но этого бывает недостаточно. Выполним следующие шаги для корректной настройки:

  1. Установим свойство Вид в значение Кнопка командной панели.
  2. В поле Отображение выберем Картинка.
  3. Найдем свойство Автомаксимальная ширина. По умолчанию оно стоит в значении Да. Нам необходимо принудительно установить его в Нет. Это критически важный момент, так как при включенной автоширине платформа будет пытаться расширить кнопку до стандартного максимума.
  4. Зададим свойство Ширина. Начнем с малых значений. Как показывает практика, установка значения 1 или 2 позволяет сжать кнопку до размеров самой иконки.
  5. Проверим свойство Растягивать по горизонтали. Установим его в значение Нет, чтобы кнопка не пыталась занять все свободное место в контейнере.

Способ 2. Использование компактного отображения группы

Если манипуляции с шириной самой кнопки не помогают, проанализируем родительский элемент. Кнопки в командной панели всегда находятся внутри контейнера. Начиная с версии платформы 8.3.8, для групп кнопок появилось мощное свойство, позволяющее управлять отступами.

Разберем, как применить компактный режим:

  1. Выделим в дереве элементов формы группу, в которой расположены наши кнопки (или саму Командную панель).
  2. Найдем свойство Отображение.
  3. В выпадающем списке выберем вариант Компактное.

В этом режиме платформа перестает добавлять стандартные интервалы между кнопками и «прижимает» их друг к другу. Это наиболее эффективный метод для создания плотных инструментальных панелей, где важна экономия экранного пространства.

Способ 3. Группировка для фиксации положения

Иногда платформа растягивает кнопку, потому что она является единственным или последним элементом в панели и система пытается распределить остаток места. Рассмотрим ситуацию, когда кнопку нужно жестко «прибить» к левому краю.

Для этого создадим вспомогательную структуру:

  1. Создадим новый элемент формы с типом Группа кнопок.
  2. Перенесем нашу кнопку внутрь этой группы.
  3. Для самой группы установим свойство Горизонтальное положение в группе в значение Лево.
  4. Убедимся, что у группы выключено растягивание по горизонтали.

Такой подход создает защитный «контейнер», который ограничивает аппетиты платформы по автоматическому масштабированию внутренних элементов.

Поиск стандартной команды Посчитать (Символ суммы Σ)

Часто в процессе настройки командной панели возникает вопрос: куда исчезла стандартная кнопка Посчитать выделенное? Эта команда позволяет быстро суммировать значения в выделенных ячейках таблицы. Для автоматического расчета и удобного вывода итогов в подвалах табличных частей можно использовать инструмент для организации итогов в управляемых формах.

Проанализируем, где она находится в конфигураторе:

  1. Откроем редактор управляемой формы и перейдем на закладку Команды.
  2. Выберем подзакладку Стандартные команды.
  3. Найдем в списке вашу таблицу (например, Список или Товары).
  4. Развернем список команд этой таблицы. Искомая команда обычно называется Выделить (Сумма) или просто отображается через функционал контекстного меню.

Важно понимать, что в современных интерфейсах «Такси» кнопка с символом суммы (Σ) часто не выносится как отдельная кнопка панели по умолчанию. Она появляется автоматически в Строке состояния (самый низ окна программы), когда пользователь выделяет несколько числовых ячеек в списке. Чтобы эта возможность работала, у таблицы должны быть соблюдены следующие условия:

Программное управление видимостью и шириной

В некоторых случаях нам может потребоваться управлять этими параметрами программно, например, в зависимости от прав пользователя или режима работы формы. Рассмотрим пример кода, который устанавливает фиксированную ширину для кнопки при создании формы:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Находим кнопку в элементах формы
    НоваяКнопка = Элементы.Найти("КоманднаяПанельНайти");
    
    Если НоваяКнопка <> Неопределено Тогда
        // Отключаем автоматическое растягивание
        НоваяКнопка.АвтоМаксимальнаяШирина = Ложь;
        НоваяКнопка.РастягиватьПоГоризонтали = Ложь;
        
        // Устанавливаем минимально возможную ширину
        НоваяКнопка.Ширина = 1;
    КонецЕсли;
    
КонецПроцедуры

Использование свойства АвтоМаксимальнаяШирина = Ложь в коде эквивалентно снятию галочки в конфигураторе и является ключом к решению проблемы «резиновых» кнопок.

Подведем итог: для создания аккуратного интерфейса всегда комбинируйте настройки самой кнопки (Ширина, Автомаксимальная ширина) и настройки контейнера (Компактное отображение). Это позволит вам полностью контролировать визуальное представление командной панели независимо от логики автоматического размещения элементов платформы 1С.

← На главную