В процессе работы с управляемым интерфейсом «1С:Предприятие 8.3» пользователи и разработчики часто сталкиваются с ситуацией, когда в меню «Ещё» конкретного документа или справочника пропадает стандартный пункт «Изменить форму». Это ограничивает возможности адаптации интерфейса под конкретного сотрудника: нельзя скрыть ненужные колонки, объединить поля в группы или изменить их порядок. Рассмотрим подробно, почему это происходит и как восстановить доступ к этой функции, проанализировав настройки прав, свойства метаданных и программный код.
Первым делом проанализируем настройки безопасности. Даже если у пользователя установлены «Полные права», это не всегда гарантирует наличие пункта «Изменить форму». В платформе 1С существует специфическое право, которое управляет возможностью системы записывать персональные настройки интерфейса для каждого сотрудника.
Выясним причину в конфигураторе:
Разберем ситуацию в типовых конфигурациях (УТ 11, ERP, КА). Иногда администраторы создают ограниченные профили, забывая включить это системное право. Без него пользователь будет видеть «замороженный» интерфейс без возможности кастомизации. Для решения таких задач администраторам может пригодиться расширение для централизованной настройки доступности элементов формы у пользователей.
Если с правами всё в порядке, перейдем к изучению свойств конкретного объекта в конфигураторе. Разберем по шагам, где спрятана нужная настройка:
ФормаДокументаТоварыУслуги).Важный нюанс: даже если эта галочка установлена, пункт может не появиться. Как отмечают опытные разработчики, если у справочника или документа создано несколько форм, и одна из них не назначена основной, платформа может накладывать ограничения на редактирование состава её элементов в пользовательском режиме. Убедимся, что мы работаем именно с той формой, которая выбрана в качестве основной в свойствах объекта метаданных.
Проанализируем состав команд в верхней части окна. Пункт «Изменить форму» является стандартной командой платформы. Она попадает в меню «Ещё» автоматически, если у командной панели формы включено свойство «Автозаполнение».
Если разработчик вручную формировал состав кнопок и снял флаг Автозаполнение, то все стандартные функции (включая поиск, настройку списка и изменение формы) исчезают. В этом случае необходимо:
Автозаполнение.Изменить форму в список отображаемых.Рассмотрим ситуацию, когда визуально в конфигураторе все настройки верны, но кнопка всё равно отсутствует. Часто в типовых решениях (например, в УТ 11 или Рознице 2.2) разработчики программно управляют доступностью элементов в зависимости от состояния документа или бизнес-логики.
Посмотрим на пример кода, который может блокировать интерфейс. Обычно это происходит в процедуре ПриСозданииНаСервере или ПриОткрытии. Разработчик может принудительно установить свойство формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Условие может зависеть от прав или статуса документа
ЭтаФорма.ИзменениеСоставаФормы = ИзменениеСоставаФормы.Запретить;
КонецПроцедуры
Если вы столкнулись с такой проблемой в расширении, вы можете переопределить это поведение, установив значение Разрешить. Также стоит обратить внимание на свойство видимости конкретных кнопок. Рассмотрим программную манипуляцию видимостью:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Поиск элемента стандартной команды и управление его видимостью
ЭлементКоманды = Элементы.Найти("ФормаИзменитьФорму");
Если ЭлементКоманды <> Неопределено Тогда
ЭлементКоманды.Видимость = Истина;
КонецЕсли;
КонецПроцедуры
Проанализируем более глубокие системные причины. В современных конфигурациях на базе БСП (Библиотека стандартных подсистем) интерфейс сильно зависит от Функциональных опций. Если в настройках программы отключена какая-либо подсистема, связанные с ней формы могут переходить в режим «ограниченного просмотра», где изменение состава полей запрещено на уровне ядра системы.
Также стоит учитывать режим совместимости конфигурации с версиями платформы. В старых релизах платформы 8.3 (например, 8.3.8 и ниже) наблюдались ошибки отрисовки меню «Ещё». Если ваша конфигурация работает в режиме совместимости с 8.2, поведение управляемых форм может отличаться от стандартного «Такси».
Если у одного пользователя пункт «Изменить форму» есть, а у другого (с аналогичными правами) — нет, скорее всего, дело в поврежденном кэше настроек. Посмотрим, как это исправить без программирования:
После этой операции при следующем открытии форма применит настройки «по умолчанию» из конфигуратора, и кнопка должна появиться.
Выясним, в каких случаях платформа сама скрывает настройки. Если форма открыта модально или в режиме блокировки всего интерфейса (например, вспомогательное окно подбора или мастер ввода данных), пункт «Изменить форму» часто недоступен по умолчанию. Это логика платформы: модальные окна считаются строго фиксированными инструментами, состав элементов которых не должен меняться пользователем «на лету» во избежание нарушения логики работы алгоритмов.
Подводя итог, можно сказать, что отсутствие возможности изменения формы — это комплексная проблема, которая решается последовательной проверкой: от прав доступа и очистки кэша до анализа программного кода в модуле формы. Использование расширений конфигурации позволяет гибко возвращать этот функционал в тех местах, где типовое решение его необоснованно ограничивает. Если штатные механизмы кастомизации заблокированы, можно использовать инструмент для редактирования свойств открытых форм в режиме предприятия.