Форма в 1С отображается неправильно или нужна её правка — что делать
Содержание
Если форма открывается криво — пропали колонки, съехала разметка, не видно кнопок, — почти всегда виноваты личные настройки формы, а не сама конфигурация. Чинится это за минуту: в проблемной форме откройте меню Ещё в командной панели и выберите восстановление стандартных настроек. Личное оформление откатится к типовому, и форма примет исходный вид.
Другое дело — когда форму нужно именно переделать: переставить поля, добавить реквизит , поправить печатный макет. Это уже правка конфигурации, и делается она в Конфигураторе или, что правильнее для типовой базы, через расширение конфигурации . Разберём оба случая: сначала как исправить отображение формы на стороне пользователя, потом — как изменить саму форму на стороне разработчика, не ломая поддержку.
Сначала понять: сбились настройки или сломана форма
Прежде чем лезть в Конфигуратор, определите, на каком уровне проблема. В 1С у формы два слоя: типовая форма из конфигурации и личные настройки пользователя поверх неё (ширина колонок, их порядок, видимость, свёрнутые группы). Девять поломок отображения из десяти — это испорченный второй слой, а не первый.
Признаки, что дело в личных настройках, а не в форме:
- 🔹 у вас криво, а у коллеги под его логином та же форма открывается нормально;
- 🔹 проблема появилась после случайного перетаскивания колонки или нажатия «скрыть»;
- 🔹 сломалась одна-две формы, а не вся база;
- 🔹 после обновления конфигурации форма «поехала» — старые настройки не легли на новую разметку.
Признаки, что проблема глубже (в самой конфигурации или данных):
- 🔸 форма не открывается вообще и выдаёт ошибку в окне сообщений;
- 🔸 одинаково сломано у всех пользователей;
- 🔸 после доработки программистом перестал работать реквизит или кнопка.
Ещё → Изменить форму, включите галочки у скрытых колонок. Или сбросьте форму командой восстановления стандартных настроек.Сброс личных настроек формы к стандартным
Самый быстрый способ вернуть форму в исходный вид — сбросить её личные настройки. Он безопасен: структуру базы это не трогает, меняется только оформление под вашим логином.
Сброс одной формы. В открытой проблемной форме:
- Нажмите
Ещёв правой части командной панели. - Выберите
Изменить форму— откроется дерево элементов с галочками. Включите то, что случайно скрыли, при необходимости верните порядок. - Либо, чтобы не разбираться вручную, выберите в меню
Ещёкоманду восстановления стандартных настроек — форма вернётся к типовому виду целиком.
Очистка настроек пользователя целиком. Когда «поехало» сразу много форм (обычно после обновления релиза), чистить каждую по отдельности долго. Сбросьте все настройки пользователя разом через главное меню программы — значок в правом верхнем углу (Сервис и настройки) → Настройки → очистка настроек. В диалоге выбираете пользователя и что именно сбросить: настройки форм, вариантов отчётов, прочее оформление.
Очистка настроек пользователя убирает не только поломку, но и всю полезную персонализацию: сохранённые отборы, свои варианты отчётов, настроенные колонки во всех списках. Если ценные настройки отчётов есть — сбрасывайте точечно, только настройки форм.
Сброс настроек за другого пользователя. Администратор может почистить настройки чужого логина, не заходя под ним. В типовых конфигурациях на БП 3.0 и ЗУП 3.1 это раздел Администрирование → Настройки пользователей и прав, там есть инструмент копирования и очистки настроек по выбранным пользователям.
Перед обновлением релиза запомните: часть «поехавших» форм после обновления — норма. Сначала просто перезапустите программу, многое встанет на место само. И только то, что осталось кривым, сбрасывайте вручную.
Правка формы в Конфигураторе
Если нужно изменить саму форму — добавить поле, убрать лишнее, поменять порядок, — это делается в Конфигураторе. Сразу оговорка: правка типовой конфигурации «напрямую» снимает её с поддержки и усложняет будущие обновления. Для типовых баз правильнее расширение (следующий раздел). Прямая правка Конфигуратором уместна для собственных, нетиповых конфигураций.
Порядок действий:
- Запустите базу в режиме
Конфигуратор(пункт в окне запуска 1С). - Откройте дерево конфигурации (
Конфигурация → Открыть конфигурацию). - Найдите нужный объект — справочник, документ или обработку — и раскройте его ветку
Формы. - Двойным кликом откройте форму. Откроется редактор формы.
Редактор формы состоит из нескольких связанных частей:
- 🧩 Дерево элементов — что видит пользователь: группы, поля, таблицы, кнопки. Порядок в дереве задаёт порядок на экране.
- 🗃️ Реквизиты формы — данные, с которыми форма работает (основной реквизит — объект или список).
- ⚙️ Командный интерфейс — набор команд, вынесенных в панель формы.
- 👁️ Просмотр — как форма будет выглядеть в «Предприятии».
Чтобы переставить поле — перетащите элемент в дереве выше или ниже. Чтобы скрыть — снимите у него свойство видимости. Чтобы добавить реквизит объекта на форму — перетащите его из списка реквизитов в дерево элементов.
Ещё один нюанс — у объекта может быть несколько форм (форма элемента, форма списка, форма выбора). Правьте именно ту, которая открывается у пользователя: если «поехал» список, форма элемента ни при чём. Какая форма основная для списка или элемента, видно в свойствах самого объекта, в группе назначенных форм.
После любой правки сохраните конфигурацию и обновите конфигурацию базы данных клавишей F7 (Конфигурация → Обновить конфигурацию базы данных). Пока обновление не выполнено, в режиме «Предприятие» форма остаётся прежней.
Изменение состава данных (новые реквизиты, табличные части) меняет структуру базы, и обновление потребует монопольного доступа — работающие сеансы пользователей оборвутся. Делайте такие правки в нерабочее время и сначала снимите резервную копию базы. Правка только расположения элементов структуру не трогает и применяется проще.
Свойства элементов и печатные макеты
Внешний вид конкретного поля или кнопки задаётся его свойствами. Выделите элемент в дереве формы и откройте палитру свойств (F4 или Alt+Enter). Самые ходовые свойства:
| Свойство | Что делает |
|---|---|
Видимость | показывать элемент или скрыть |
Доступность | можно ли с ним работать (серый/активный) |
ТолькоПросмотр | поле видно, но не редактируется |
Заголовок | подпись поля или группы |
РастягиватьПоГоризонтали | как поле занимает ширину |
Для групп важно свойство отображения (без рамки, с рамкой, в виде страниц-закладок) — им собирают форму в читаемые блоки.
Отдельная история — макеты печатных форм. Когда говорят «поправить форму» и имеют в виду печатный документ (счёт, акт, накладную), правят не форму объекта, а его макет — табличный документ в ветке Макеты. Там меняют текст, шрифты, колонки, добавляют реквизиты через именованные области. Логика вывода макета живёт в процедуре печати — модуле менеджера объекта или в общем модуле печати, в зависимости от конфигурации.
Для доработки типового печатного макета не редактируйте его в типовой конфигурации. Снимите копию через внешнюю печатную форму или расширение — так макет переживёт обновление релиза.
Правка формы через расширение конфигурации
Это главный приём для типовых баз, и именно его чаще всего не хватает в чужих инструкциях. Расширение конфигурации позволяет изменить форму типовой конфигурации, не снимая её с поддержки и не мешая будущим обновлениям. Механизм доступен начиная с платформы 8.3.6.
Идея простая: вы не трогаете исходную форму, а создаёте «надстройку», которая подключается поверх типовой. Обновился релиз — расширение остаётся на месте.
Порядок работы в Конфигураторе:
- Откройте
Конфигурация → Расширения конфигурации. Создайте новое расширение (назначение обычно «Адаптация»). - Войдите в конфигурацию расширения. Найдите нужную форму в основной конфигурации и добавьте её в расширение — форма станет заимствованной.
- Внесите изменения: добавьте свои элементы, поменяйте видимость, допишите обработчики в модуле формы расширения.
- Сохраните и обновите конфигурацию базы данных (
F7).
Готовое расширение можно выгрузить в файл .cfe и загрузить в другую базу: Конфигурация → Расширения конфигурации → Загрузить из файла. Учтите: загрузка .cfe и последующее Обновить конфигурацию базы данных — два отдельных шага, второй не выполняется сам.
Расширение не всесильно. Удалить типовой обязательный реквизит или кардинально перестроить форму им не всегда получится — часть изменений платформа не разрешит, чтобы не сломать типовую логику. Для таких задач остаётся либо снятие с поддержки, либо другой подход.
Управление формой из её модуля (код)
Поведение формы можно менять не вручную в редакторе, а программно — из модуля формы. Это нужно, когда вид формы зависит от данных: например, скрыть поле для определённого вида документа или запретить правку проведённого документа.
К элементам формы обращаются через коллекцию Элементы по имени элемента. Типовое место для такого кода — обработчик ПриСозданииНаСервере, он отрабатывает при открытии формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Скрыть поле комментария
Элементы.Комментарий.Видимость = Ложь;
// Запретить правку суммы
Элементы.Сумма.ТолькоПросмотр = Истина;
КонецПроцедуры
Самые частые свойства, которыми управляют из кода: Видимость, Доступность, ТолькоПросмотр, Заголовок. Обращение всегда через Элементы.ИмяЭлемента, а не через имя реквизита — это разные вещи: реквизит хранит данные, элемент их показывает.
Если внешний вид зависит от значения в строке таблицы (подсветить строку, скрыть ячейку), код для этого не пишут вручную — используют механизм условного оформления формы, он настраивается в свойствах формы и применяется к строкам автоматически.
Имя элемента смотрите в редакторе формы в дереве элементов — оно может не совпадать с заголовком, который видит пользователь. Ошибётесь в имени — получите ошибку «Поле объекта не обнаружено».
Частые ошибки при правке форм
Отдельно — промахи, из-за которых правка «не применяется» или ломает базу. Это не повтор шагов выше, а именно грабли.
- ❌ Изменили форму, но забыли обновить конфигурацию БД. Правка в Конфигураторе не действует, пока не нажали
F7. В «Предприятии» всё по-старому — кажется, что ничего не сработало. - ❌ Правят типовую форму напрямую вместо расширения. База снимается с поддержки, следующее обновление релиза идёт вручную и мучительно. Для типовых конфигураций — только расширение.
- ❌ Путают сброс настроек и правку формы. Пользователю «поехала» форма, а в ответ лезут в Конфигуратор. Сначала всегда пробуйте сброс личных настроек — в 9 случаях из 10 этого достаточно.
- ❌ Обращение к элементу по имени реквизита.
Элементы.Суммаи реквизитСумма— не одно и то же. Если имя элемента другое, код падает с ошибкой. - ❌ Обновляют структуру базы в рабочее время. Добавление реквизита требует монопольного доступа, сеансы пользователей оборвутся. Планируйте на нерабочие часы.
Частые вопросы
Сброс настроек формы удалит данные в документах?
Почему изменения в расширении не применились?
.cfe и нажатие F7 — два разных действия. Ещё проверьте, что расширение включено и совместимо с текущей версией типовой конфигурации.Можно ли изменить форму без Конфигуратора, из режима «Предприятие»?
Ещё → Изменить форму: это личная настройка под вашим логином. Добавить новый реквизит или переписать логику из «Предприятия» нельзя, это делается только в Конфигураторе или расширении.