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

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

Как изменить форму документа в 1С

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

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

Главный принцип, который стоит усвоить до начала работы: чем менее инвазивный способ вы выберете, тем дешевле обойдутся обновления конфигурации. Пользовательская настройка не требует программиста и не ломается при обновлении. Расширение конфигурации сохраняет типовую поддержку. Прямая правка конфигурации — самый мощный, но самый рискованный путь, который усложняет установку обновлений.

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

Какие способы изменения формы существуют

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

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

Третий уровень — прямая доработка в конфигураторе: изменение модуля формы, добавление реквизитов объекта, правка команд. Это даёт полный контроль, но требует снятия объектов с поддержки (полностью или частично), что усложняет обновления. Выбирайте этот путь только при невозможности решить задачу расширением.

Сравнение подходов

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

Подходит для скрытия, перемещения и группировки существующих полей. Не позволяет добавлять новые реквизиты и логику.

Расширение конфигурации

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

Доработка в конфигураторе

Полный доступ к объекту и модулю формы. Усложняет обновления, требует контроля при каждой установке релиза.

Изменение формы без программирования: кнопка «Изменить форму»

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

Откроется окно настройки с деревом элементов формы. Здесь можно снять или установить флажки видимости у полей, перетащить элементы мышью, чтобы изменить порядок, добавить существующие, но скрытые поля и сгруппировать элементы. Например, чтобы убрать редко используемое поле «Грузоотправитель» из реализации, достаточно снять с него флажок.

После нажатия «ОК» форма перерисуется. Если у вас есть права администратора, платформа может предложить применить настройку для всех пользователей; иначе изменения сохранятся только для текущего пользователя. Чтобы вернуть исходный вид, снова откройте «Изменить форму» и нажмите «Установить стандартные настройки».

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

Добавление дополнительных реквизитов без доработки

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

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

Ограничение механизма: дополнительные реквизиты хранятся отдельно от основных данных объекта, поэтому их нельзя использовать в проведении документа стандартными средствами и они не отображаются в стандартных печатных формах без доработки макета. Для полей, участвующих в учётной логике, потребуется расширение или конфигуратор.

Изменение формы через расширение конфигурации

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

Чтобы изменить форму документа, добавьте этот документ в расширение через контекстное меню «Добавить в расширение», затем аналогично заимствуйте его форму. В заимствованной форме можно добавлять элементы, менять свойства существующих, создавать реквизиты формы и обработчики событий. Свойства заимствованных элементов меняются точечно — вы правите только то, что нужно, остальное берётся из типовой формы.

После сохранения расширения обновите конфигурацию базы данных (F7), если добавляли реквизиты объекта, и проверьте форму в режиме «Предприятие». В пользовательском режиме расширениями управляют через «Администрирование → Печатные формы, отчёты и обработки → Расширения» — там же можно временно отключить расширение для диагностики.

Доработка формы в конфигураторе напрямую

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

Редактор формы состоит из дерева элементов (левая часть), списка реквизитов (правая часть) и вкладки «Модуль» с программным кодом. Чтобы добавить поле, перетащите реквизит из правой панели в нужное место дерева элементов. Чтобы добавить новый реквизит документа, откройте палитру свойств объекта и создайте реквизит на закладке «Данные» — после этого он станет доступен для вывода на форму. Для кнопки создайте команду формы и перетащите её в командную панель или в нужную группу.

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

bsl
&НаКлиенте
Процедура Расш_ТоварыКоличествоПриИзменении(Элемент)
	ТекСтрока = Элементы.Товары.ТекущиеДанные;
	ТекСтрока.Сумма = ТекСтрока.Количество * ТекСтрока.Цена;
КонецПроцедуры

Проверка результата и типичные ошибки

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

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

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

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

Открытие документа
Норма

Форма открывается без ошибок, все нужные поля на месте

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

Ошибка «Поле не найдено» или пустая форма

Запись и проведение
Норма

Документ записывается и проводится как раньше

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

Сообщения о незаполненных скрытых полях, ошибки проведения

Работа под обычным пользователем
Норма

Форма выглядит одинаково предсказуемо для всех ролей

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

У части пользователей пропали поля или кнопки

Обновление конфигурации
Норма

Расширение подключается, изменения сохраняются

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

Расширение отключилось как несовместимое, правки в конфигураторе затёрты

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

Когда привлекать специалиста и как подготовиться

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

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

Итог

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

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

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

Почему в меню «Ещё» нет пункта «Изменить форму»?

Наиболее частые причины: у пользователя нет права «Изменение форм» (настраивается в ролях), конфигурация построена на обычных формах, где такой механизм отсутствует, или разработчик запретил настройку конкретной формы программно. Проверьте права пользователя и тип интерфейса конфигурации.

Изменения через «Изменить форму» пропадут при обновлении?

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

Можно ли добавить свою колонку в табличную часть документа без программирования?

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

Чем расширение лучше прямой доработки конфигурации?

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

Как вернуть форму к исходному виду, если настройка сломала отображение?

Откройте «Ещё → Изменить форму» и нажмите «Установить стандартные настройки» — форма вернётся к виду, заданному разработчиком. Если изменения делались расширением, отключите его в списке расширений. При правках в конфигураторе восстановите объект из конфигурации поставщика через «Загрузить конфигурацию из файла» сравнением и объединением.

Можно ли изменить форму только для одного пользователя?

Да. Настройки через «Изменить форму» по умолчанию сохраняются для текущего пользователя. Применить их для всех может только пользователь с правами администратора — платформа предложит это при сохранении настройки.