К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как вывести стандартную команду на командную панель в 1С

Как вывести стандартную команду формы на командную панель в 1С 8.3: настройка в конфигураторе, программное добавление, типичные ошибки и проверка результата.

Командная панель формы в 1С 8.3 — это полоса с кнопками и меню в верхней части окна. Часть кнопок платформа формирует автоматически: «Записать», «Провести», «Печать», «Ещё». Но нередко нужная стандартная команда (например, «Перечитать», «Показать в списке» или команды работы с табличной частью) не отображается, и пользователь не понимает, куда она пропала. Причина почти всегда в настройках свойства «Автозаполнение» командной панели или в дереве команд формы.

Вывести стандартную команду можно двумя путями: через визуальный редактор формы в конфигураторе — перетаскиванием команды из списка стандартных в командную панель, либо программно — через свойства объекта «КомандаФормы» и кнопки на форме. Первый способ подходит для типовых доработок, второй — когда состав кнопок должен меняться в зависимости от условий (роль пользователя, статус документа, режим работы).

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

Где искать стандартные команды формы

Стандартные команды — это действия, которые платформа предоставляет автоматически в зависимости от типа объекта и источника данных формы. Для формы документа это «Записать», «Провести», «Перечитать», «Показать в списке», для динамического списка — «Обновить», «Настроить список», «Вывести список», для табличной части — «Добавить», «Скопировать», «Удалить», «Переместить вверх/вниз».

В редакторе формы конфигуратора список доступных команд находится на закладке «Команды» окна редактирования формы. Там есть три группы: команды формы (созданные разработчиком), стандартные команды и глобальные команды. Закладка «Стандартные команды» показывает именно те действия, которые платформа готова выполнить без написания кода — обработчики у них встроенные.

Важный нюанс: набор стандартных команд зависит от основного реквизита формы. Если на форме нет динамического списка, команды «Обновить» и «Настроить список» будут недоступны. Если табличное поле не связано с табличной частью, команды работы со строками не появятся. Поэтому если нужной команды нет в списке — сначала проверьте, какой реквизит назначен основным и какие данные отображает элемент формы.

Вывод команды через редактор формы

Основной сценарий выглядит так: откройте нужную форму в конфигураторе (двойной клик по объекту, закладка «Формы»), перейдите на закладку «Команды» в окне редактора формы, затем на подзакладку «Стандартные команды». Найдите нужную команду в списке — например, «Перечитать» или «ПоказатьВСписке».

Теперь перетащите команду мышью в дерево элементов формы — прямо на узел командной панели (обычно называется «КоманднаяПанель» или «ФормаКоманднаяПанель»). Платформа автоматически создаст кнопку, привязанную к этой команде. В свойствах кнопки можно изменить заголовок, картинку, отображение (надпись, картинка или оба варианта) и важность — признак «Важное» выделяет кнопку цветом.

Если перетаскивание не срабатывает, есть альтернатива: добавьте кнопку в командную панель вручную (правый клик по командной панели в дереве элементов → «Добавить» → «Кнопка»), затем в палитре свойств кнопки в поле «ИмяКоманды» выберите нужную стандартную команду из выпадающего списка. Результат тот же.

Порядок действий в конфигураторе
  1. 1
    Откройте форму объекта в конфигураторе
  2. 2
    Перейдите на закладку «Команды» → «Стандартные команды»
  3. 3
    Перетащите нужную команду на узел командной панели в дереве элементов
  4. 4
    Настройте заголовок, картинку и отображение кнопки в палитре свойств
  5. 5
    Обновите конфигурацию базы данных (F7) и проверьте форму в режиме предприятия

Роль свойства «Автозаполнение» командной панели

У командной панели формы есть свойство «Автозаполнение». Когда оно включено (по умолчанию — включено), платформа сама решает, какие стандартные команды показать, и размещает их по своим правилам: основные действия выводит кнопками, второстепенные прячет в меню «Ещё». В этом режиме вручную добавленные кнопки сосуществуют с автоматическими, но порядок и видимость стандартных команд контролирует платформа.

Если нужно полностью управлять составом панели, снимите флаг «Автозаполнение» у командной панели в палитре свойств. После этого панель опустеет, и все кнопки — включая «Записать» и «Провести» — придётся добавлять вручную. Это даёт полный контроль, но повышает риск забыть важную команду.

Компромиссный вариант — оставить автозаполнение включённым и управлять видимостью через меню «Ещё»: в пользовательском режиме (раздел «Ещё» → «Изменить форму») можно вынести скрытую стандартную команду на панель без доработки конфигурации. Это подходит, когда изменение нужно только конкретному пользователю или подразделению.

Способы вывести команду

Перетаскивание в редакторе формы

Подходит для постоянных доработок конфигурации. Требует обновления конфигурации БД и прав на изменение.

Настройка формы пользователем («Изменить форму»)

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

Программное добавление

Нужно, когда состав кнопок зависит от условий. Требует кода в модуле формы и аккуратной работы с именами элементов.

Программное добавление стандартной команды

Программный способ применяют, когда кнопка должна появляться по условию — например, только для роли «Администратор» или только в определённом статусе документа. Код пишется в модуле формы, обычно в обработчике «ПриСозданииНаСервере».

Логика такая: стандартную команду нельзя «создать» кодом — она уже существует на форме (свойство «Команды» формы). Но можно программно добавить кнопку в командную панель и связать её с именем стандартной команды через свойство «ИмяКоманды». Кнопка создаётся методом Элементы.Добавить с типом «КнопкаФормы», родителем указывается командная панель.

После добавления задайте кнопке свойство «ИмяКоманды» — строковое имя стандартной команды (например, "Перечитать" или "ПоказатьВСписке" — точное имя смотрите на закладке «Стандартные команды» редактора формы). Если имя указано неверно, кнопка появится, но при нажатии ничего не произойдёт либо возникнет ошибка.

Стандартные команды табличных частей и списков

Отдельный частый случай — командная панель табличной части или динамического списка. У каждого табличного поля есть своя командная панель, привязанная через свойство «КоманднаяПанель» элемента формы. Если у таблицы это свойство не заполнено, платформа использует общую панель формы, и команды «Добавить», «Скопировать», «Удалить» могут оказаться не там, где ожидает пользователь.

Чтобы вывести стандартные команды табличной части, убедитесь, что у таблицы включено автозаполнение её командной панели — тогда платформа сама добавит кнопки работы со строками. Если автозаполнение отключено, добавьте кнопки вручную: имена стандартных команд таблицы можно посмотреть, выделив таблицу и открыв список стандартных команд — они появятся в контексте элемента.

Для динамических списков типичная задача — вернуть кнопку «Обновить» или «Настроить список», которые пропали после доработки формы. Решение то же: либо включить автозаполнение командной панели списка, либо добавить кнопку с соответствующей стандартной командой вручную.

Типичные ошибки
01
Отключили автозаполнение панели и забыли вернуть команды «Записать» и «Провести» — пользователи не могут сохранить документ
02
Указали неточное имя стандартной команды в свойстве кнопки — кнопка видна, но не срабатывает
03
Добавили кнопку в общую панель формы вместо панели табличной части — команда применяется не к той таблице
04
Настроили форму через «Изменить форму», а потом разработчик обновил форму — пользовательские настройки кнопок сбросились

Проверка результата и ограничения

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

Учтите ограничения платформы. Стандартные команды нельзя переименовать в самой команде — меняется только заголовок кнопки. Нельзя изменить и логику их работы: если нужно нестандартное поведение, создавайте свою команду формы с обработчиком, а стандартную убирайте с панели. Также набор стандартных команд отличается между обычными и управляемыми формами — в обычных формах механизм команд устроен иначе, и перетаскивание из списка стандартных команд работает только в управляемых формах.

Если форма открывается у пользователя без нужной кнопки, хотя в конфигураторе она есть, проверьте права: часть стандартных команд (например, административные) платформа скрывает при отсутствии соответствующих прав у пользователя. Также проверьте, не перекрыты ли настройки пользовательским вариантом формы — сброс настроек формы через «Ещё» → «Установить стандартные настройки» часто решает проблему.

Контрольные точки

Как проверить результат

Кнопка на панели
Норма

Кнопка видна в нужном месте, заголовок и картинка корректны

Тревожный признак

Кнопки нет — проверьте автозаполнение панели и права пользователя

Срабатывание команды
Норма

При нажатии выполняется ожидаемое действие (запись, обновление, переход в список)

Тревожный признак

Ничего не происходит — неверное имя команды в свойстве кнопки

Доступность
Норма

Кнопка неактивна, когда действие невозможно по контексту

Тревожный признак

Кнопка активна всегда и выдаёт ошибку при нажатии

Частые вопросы

Почему стандартная команда не отображается в списке на закладке «Стандартные команды»?

Набор команд зависит от основного реквизита формы и выбранного элемента. Если основной реквизит — не документ и не список, команд «Провести» или «Настроить список» не будет. Проверьте свойство «Основной реквизит» формы и выделите нужный элемент (таблицу), чтобы увидеть его команды.

Можно ли вывести стандартную команду без изменения конфигурации?

Да. В режиме предприятия откройте меню «Ещё» → «Изменить форму», найдите нужную команду в дереве и включите её отображение на командной панели. Настройка сохранится для текущего пользователя, но может сброситься при доработке формы разработчиком.

Кнопка добавлена, но не нажимается — в чём причина?

Чаще всего причина в неверном имени команды в свойстве «ИмяКоманды» кнопки либо в отсутствии прав у пользователя на действие. Также проверьте, не отключён ли сам элемент кнопки свойством «Доступность» и не скрыт ли он функциональной опцией.

Как вернуть кнопки «Записать» и «Провести», если они пропали?

Скорее всего, у командной панели отключено автозаполнение. Либо включите его обратно в палитре свойств панели, либо вручную перетащите команды «Записать» и «Провести» из списка стандартных команд на панель.

Чем стандартная команда отличается от команды формы?

Стандартная команда встроена в платформу и не требует обработчика — её поведение изменить нельзя. Команда формы создаётся разработчиком, для неё пишется обработчик в модуле формы, и она может выполнять любую логику. На командную панель выводятся оба типа одинаково — через кнопку с привязкой по имени команды.

Работает ли этот механизм в обычных формах?

В обычных формах другой механизм: командные панели там заполняются через свойство «ИсточникДействий» и настройку в редакторе обычной формы, закладки «Стандартные команды» в том виде, что описан выше, нет. Описанный подход относится к управляемым формам.

Итог

Что важно запомнить

Стандартная команда выводится на командную панель перетаскиванием из закладки «Стандартные команды» редактора формы или программной привязкой кнопки по имени команды. Контролируйте свойство «Автозаполнение» панели, точность имени команды и права пользователя — это три главные причины, почему кнопка не появляется или не работает.