Разработка и Конфигурация · 10 мин
Что значит основная форма в 1С и зачем она нужна
Основная форма в 1С: что это значит, виды форм объекта, списка и выбора, как назначить основную форму в конфигураторе и типичные ошибки разработчика.
Основная форма в 1С — это форма, которую платформа открывает по умолчанию, когда пользователь или программный код обращается к объекту без явного указания конкретной формы. Например, при двойном щелчке по элементу справочника откроется та форма элемента, которая назначена основной. Если основная форма не создана разработчиком, платформа сгенерирует её автоматически на основании структуры метаданных.
Понятие основной формы существует у большинства прикладных объектов: справочников, документов, отчётов, обработок, регистров, планов счетов и других. У одного объекта может быть несколько форм одного типа (например, три разные формы элемента для разных ролей пользователей), но основной всегда назначается только одна.
Знание механизма основных форм важно и разработчику, и администратору: от него зависит, что именно увидит пользователь при открытии объекта, какие проверки сработают при записи и почему иногда после доработки конфигурации у пользователей «всё выглядит по-другому».
Какие виды основных форм существуют в 1С
У разных типов объектов набор основных форм отличается. Для справочников и документов типичны следующие виды:
- Основная форма объекта (элемента) — открывается при создании или редактировании одного элемента справочника либо документа.
- Основная форма списка — открывается при входе в список объектов через меню или команду интерфейса.
- Основная форма выбора — открывается при подборе значения в поле ввода, когда пользователь выбирает элемент из списка.
- Основная форма группы — для иерархических справочников: форма редактирования папки (группы).
У отчётов и обработок обычно есть только одна основная форма — форма отчёта или обработки. У регистров сведений и накопления основная форма списка определяет, как пользователь увидит записи регистра, если откроет его напрямую.
Важно понимать, что форма выбора и форма списка — разные вещи. Пользователь может видеть полный список с настройками и отборами, а при подборе в документ получать упрощённую форму выбора с ограниченным набором колонок. Это удобно, но требует осознанного назначения обеих форм.
Где в конфигураторе назначается основная форма
Назначение выполняется в конфигураторе. Откройте дерево конфигурации, найдите нужный объект (например, справочник «Номенклатура»), вызовите палитру свойств — правый клик по объекту, пункт «Свойства». В нижней части палитры находится группа свойств «Основные формы».
Для каждого вида формы есть отдельное поле: «Основная форма объекта», «Основная форма списка», «Основная форма выбора». Нажмите кнопку выбора в нужном поле — откроется список форм, созданных у этого объекта. Выберите требуемую и сохраните конфигурацию.
Если поле пустое, платформа будет генерировать форму автоматически при каждом обращении. Автоматически созданная форма содержит все реквизиты объекта в порядке, определяемом платформой, без учёта эргономики и прав доступа на уровне размещения элементов.
- 1Откройте конфигуратор и найдите объект в дереве конфигурации
- 2Создайте нужные формы через контекстное меню «Добавить форму» или конструктор форм
- 3Откройте палитру свойств объекта (правый клик — «Свойства»)
- 4В группе «Основные формы» выберите нужную форму для каждого вида
- 5Обновите конфигурацию базы данных (F7) и проверьте открытие объекта в режиме Предприятия
Что происходит, если основная форма не назначена
Отсутствие основной формы — не ошибка. Платформа построит форму сама, и система продолжит работать. Однако автогенерируемая форма имеет ограничения: порядок реквизитов может быть неудобным, нет группировки по смыслу, нет программной логики проверок и заполнения.
Для служебных объектов, куда пользователи заходят редко, автогенерация — приемлемый вариант, экономящий время разработки. Для массово используемых объектов (номенклатура, контрагенты, документы продажи) отсутствие продуманной основной формы почти всегда приводит к жалобам пользователей и ошибкам ввода.
Ещё один нюанс: автоматически генерируемая форма создаётся заново при каждом обращении, что на больших объектах с десятками реквизитов даёт небольшую, но заметную задержку открытия по сравнению с сохранённой формой.
Как основная форма связана с программным открытием
При программной работе разработчик может открыть как основную форму, так и любую другую. Метод ПолучитьФорму() без указания имени формы вернёт именно основную форму объекта. Если имя формы указано явно — например, ПолучитьФорму("Справочник.Номенклатура.Форма.ФормаЭлементаУпрощенная") — откроется конкретная форма независимо от того, какая назначена основной.
Это даёт гибкий сценарий: основная форма остаётся «стандартной» для большинства пользователей, а из отдельных процедур и команд открываются специализированные формы. Например, из рабочего места кладовщика документ может открываться в усечённой форме, а из общего списка — в полной основной.
Учтите обратную сторону: если вы переименуете или удалите форму, на которую ссылаются вызовы в коде, получите ошибку при выполнении. Перед удалением формы проверьте все обращения через поиск по конфигурации.
// Открыть основную форму элемента
ОткрытьФорму("Справочник.Номенклатура.ФормаОбъекта", ПараметрыФормы);
// Открыть конкретную (не основную) форму
ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаЭлементаУпрощенная", ПараметрыФормы);Основная форма и права пользователей
Назначение основной формы не отменяет проверку прав. Если у пользователя нет права «Просмотр» на объект, основная форма не откроется вовсе — платформа выдаст сообщение о нарушении прав доступа.
Тонкость возникает в другом сценарии: разработчик создал две формы элемента — полную и упрощённую — и хотел развести пользователей по ролям. Назначение основной формы одно на всю конфигурацию, оно не зависит от роли. Разделение делается иначе: через подписки на события, через обработчик «ПриСозданииНаСервере» с перенаправлением, через разные команды интерфейса или через функциональные опции, скрывающие часть элементов.
Распространённое заблуждение — ожидать, что платформа сама выберет форму по роли пользователя. Такого механизма в свойствах объекта нет; логику выбора нужно реализовывать программно.
Типичные ошибки при работе с основными формами
Первая ошибка — создание новой формы без назначения её основной. Разработчик доработал форму, обновил конфигурацию, а пользователи продолжают видеть старую, потому что в свойствах объекта ссылка не изменилась. Проверка проста: открыть палитру свойств и убедиться, какая форма указана.
Вторая ошибка — удаление формы, назначенной основной. При удалении платформа обычно очищает свойство, но если изменения переносились через загрузку конфигурации или сравнение/объединение, ссылка может остаться «битой». Симптом — ошибка при открытии объекта в режиме Предприятия. Лечится повторным назначением существующей формы или очисткой свойства.
Третья ошибка — путаница между формой списка и формой выбора. Разработчик назначил основной формой выбора форму списка со сложными настройками, и теперь при каждом подборе в поле ввода пользователи ждут загрузку тяжёлой формы. Для выбора делайте отдельную лёгкую форму.
Как проверить, что основная форма работает правильно
После назначения основной формы обновите конфигурацию базы данных и выполните проверку в режиме Предприятия под учётной записью с типовыми правами — не только под полными правами. Откройте список объекта, создайте новый элемент, откройте существующий, выполните подбор в поле ввода какого-либо документа.
Обратите внимание на скорость открытия и на состав видимых реквизитов. Если форма открывается с ошибкой или без части полей, смотрите журнал регистрации и текст ошибки — чаще всего причина в обработчиках формы, обращающихся к удалённым реквизитам.
Как проверить результат
Открывается назначенная форма со всеми нужными полями
Открывается автогенерируемая форма или ошибка
Открывается лёгкая форма выбора
Открывается полная форма списка или ошибка
Форма нового элемента с обработчиками заполнения
Пустая форма без автозаполнения
FAQ
Можно ли назначить разные основные формы для разных пользователей?
Нет, свойство основной формы едино для всей конфигурации. Разделение по ролям реализуется программно: через функциональные опции, обработчики открытия или разные команды интерфейса, каждая из которых открывает свою форму.
Что откроется, если у объекта вообще нет ни одной формы?
Платформа сгенерирует форму автоматически на основе структуры метаданных. Объект останется полностью работоспособным, но форма будет без группировки полей, проверок и программной логики.
Чем форма выбора отличается от формы списка?
Форма списка открывается при входе в список объекта через интерфейс, форма выбора — при подборе значения в поле ввода. Для выбора рекомендуется отдельная облегчённая форма, чтобы подбор работал быстро.
Почему после доработки формы пользователи видят старую версию?
Чаще всего новая форма создана, но не назначена основной в палитре свойств объекта. Реже — конфигурация базы данных не обновлена или пользователи работают в сеансе, запущенном до обновления; в этом случае помогает перезапуск сеанса.
Влияет ли основная форма на обмен данными и фоновые операции?
Нет. Формы участвуют только в интерактивной работе. Обмены, фоновые задания и веб-сервисы работают с данными объектов напрямую, без открытия форм.
Что важно запомнить
Основная форма — это форма по умолчанию для объекта 1С. Она назначается в палитре свойств объекта в конфигураторе, не зависит от ролей пользователей и при отсутствии заменяется автогенерируемой платформой формой. После любой доработки формы проверяйте, что именно она указана в свойствах, и тестируйте открытие под обычными правами.