Почему в табличной части 1С отсутствует кнопка Добавить и как её вернуть

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

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

Проверка базового свойства Изменять состав строк

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

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

Для исправления ситуации выполним следующие действия:

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

Настройка через Состав команд

Иногда свойство ИзменятьСоставСтрок включено, но конкретная кнопка «Добавить» все равно не видна. Это происходит из-за тонкой настройки Состава команд. Платформа позволяет разработчику индивидуально управлять каждой стандартной кнопкой.

Рассмотрим подробнее, как проверить этот список:

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

Важно помнить: если в этом окне вы вообще не видите команду Добавить, значит, на более высоком уровне (например, в правах доступа или свойствах объекта метаданных) это действие запрещено.

Влияние прав доступа на уровне ролей

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

Проанализируем необходимые права для документа:

Режим Автозаполнение командной панели

Посмотрим на пример настройки командной панели. В 1С кнопки могут создаваться автоматически или вручную. Если у вашей командной панели (которая привязана к таблице) снято свойство Автозаполнение, то стандартные команды не появятся сами по себе.

В этом случае нам необходимо:

  1. Развернуть дерево элементов формы и найти Командную панель таблицы.
  2. Если свойство Автозаполнение выключено, нам нужно вручную зайти в раздел команд и перетащить нужную стандартную команду в список элементов командной панели.

Программное изменение видимости и доступности

Часто в типовых конфигурациях (например, БП 3.0 или УТ 11) интерфейс управляется динамически с помощью встроенного языка. Если в конфигураторе все настройки кажутся верными, проанализируем код модуля формы. Нам интересны процедуры ПриСозданииНаСервере или ПриОткрытии.

Ищите строки кода, которые могут блокировать таблицу. Например:


// Пример блокировки изменения состава строк
Элементы.Товары.ИзменятьСоставСтрок = Ложь;

// Или прямая установка видимости конкретной кнопки
Элементы.ТоварыКоманднаяПанельДобавить.Видимость = Ложь;

Также стоит проверить, не вызываются ли общие модули, отвечающие за «состояние» документа. В некоторых решениях кнопки скрываются, если документ имеет статус Проведен или Помечен на удаление.

Влияние свойств Только просмотр и Доступность

Разберем иерархию ограничений «сверху вниз». Если кнопка отсутствует, проверьте три уровня блокировки:

  1. Только просмотр для всей формы: Если ЭтаФорма.ТолькоПросмотр = Истина, то все элементы управления переходят в режим чтения.
  2. Только просмотр для таблицы: У элемента формы Таблица есть собственное свойство ТолькоПросмотр.
  3. Свойство Доступность: Если Доступность = Ложь, элемент может быть виден, но неактивен, либо скрыт в зависимости от стиля оформления.

Функциональные опции и расширения

Проанализируем ситуацию, когда кнопка исчезает из-за настроек учета. В 1С существуют Функциональные опции (ФО). Если возможность добавления строк (или сам функционал документа) привязан к определенной константе, которая в данный момент выключена в настройках программы, платформа скроет соответствующие кнопки.

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

Подводя итог, можно сказать, что отсутствие кнопки «Добавить» — это всегда результат работы одного из уровней ограничений: от прав доступа до программного кода. Последовательная проверка свойств ИзменятьСоставСтрок, окна Состав команд и прав доступа в большинстве случаев позволяет решить проблему без написания сложного кода.

← На главную