Почему автоматически созданная форма в 1С не редактируется и как это исправить?

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

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

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

Причина поведения: основной и дополнительный наборы форм

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

Какой набор форм считается основным, определяется свойством корня конфигурации ОсновнойРежимЗапуска:

  1. Если установлено значение «Управляемое приложение», то основным набором выступают управляемые формы, а обычные формы становятся дополнительными.
  2. Если установлено значение «Обычное приложение», основным набором выступают обычные формы.

В платформе заложено строгое правило: для дополнительного набора форм механизм автоматической генерации интерфейса работает исключительно в режиме «Только для чтения». Это платформенное ограничение было реализовано для предотвращения логических конфликтов при плавном переводе конфигураций с обычных форм на управляемые. Полноценная автогенерация форм с возможностью интерактивного ввода и записи объектов доступна только для основного набора.

Рассмотрим по шагам все варианты решения данной проблемы в зависимости от ваших задач разработки.

Способ 1. Явное создание формы объекта в конфигураторе

Если конфигурация разрабатывается в режиме управляемого приложения, но для конкретного объекта требуется интерфейс обычного приложения, самым простым и надежным решением является явное добавление формы:

  1. Откроем дерево метаданных и найдем нужный объект (например, справочник).
  2. Раскроем ветку объекта, перейдем к разделу Формы и нажмем кнопку добавления (или контекстное меню $\rightarrow$ «Добавить»).
  3. В мастере создания формы выберем тип Форма элемента и укажем вид формы «Обычная».
  4. Нажмем «Готово».

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

Способ 2. Переключение основного режима запуска конфигурации

Если вы создаете конфигурацию на обычных формах (например, при изучении классических учебных пособий по 1С 8.0/8.1), необходимо переключить основной режим запуска всей системы, чтобы обычные формы стали основным набором:

  1. В дереве метаданных кликнем правой кнопкой мыши по самому верхнему элементу (корню конфигурации) и выберем пункт «Свойства».
  2. В палитре свойств найдем параметр Основной режим запуска и переключим его в значение «Обычное приложение».
  3. Обязательно сохраним изменения: нажмем клавишу F7 или пункт меню «Конфигурация» $\rightarrow$ «Обновить конфигурацию базы данных». Без обновления базы данных режим работы останется прежним.
  4. Перейдем в меню «Сервис» $\rightarrow$ «Параметры», откроем вкладку «Запуск 1С:Предприятия» $\rightarrow$ «Основные» и в поле Клиент установим значение «Толстый клиент (обычное приложение)».

После выполнения этих шагов перезапустим отладку — автоматически генерируемые обычные формы станут полностью доступными для ввода и записи информации.

Способ 3. Установка режима совместимости с версией 8.1

Если учебный или рабочий проект пишется строго по стандартам 1С:Предприятия 8.0 или 8.1, можно полностью отключить механизмы управляемого интерфейса на уровне платформы:

  1. В свойствах корня конфигурации найдем параметр Режим совместимости.
  2. Установим его значение в «Версия 8.1» (или «Версия 8.0»).
  3. Обновим конфигурацию базы данных (F7).

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

Дополнительные проверки: права доступа и свойства объекта

Если после настройки режима запуска поля формы по-прежнему остаются недоступными, проанализируем следующие параметры метаданных:

  1. Права доступа (Роли): если в конфигурацию добавлена хотя бы одна пользовательская роль, проверим, чтобы для разрабатываемого объекта были установлены флаги Чтение, Вставка, Изменение, Интерактивное добавление и Интерактивное изменение.
  2. Режим редактирования объекта: в окне редактирования справочника на вкладке «Основные» убедимся, что свойство Режим редактирования установлено в значение «Обоими способами» или «В диалоге». Если выбрано значение «В списке», интерактивное открытие отдельной формы элемента для редактирования блокируется настройками метаданных.
← На главную