Форма в 1С отображается неправильно или нужна её правка — что делать

· 9 мин

Содержание

Если форма открывается криво — пропали колонки, съехала разметка, не видно кнопок, — почти всегда виноваты личные настройки формы, а не сама конфигурация. Чинится это за минуту: в проблемной форме откройте меню Ещё в командной панели и выберите восстановление стандартных настроек. Личное оформление откатится к типовому, и форма примет исходный вид.

Другое дело — когда форму нужно именно переделать: переставить поля, добавить реквизит , поправить печатный макет. Это уже правка конфигурации, и делается она в Конфигураторе или, что правильнее для типовой базы, через расширение конфигурации . Разберём оба случая: сначала как исправить отображение формы на стороне пользователя, потом — как изменить саму форму на стороне разработчика, не ломая поддержку.

Сначала понять: сбились настройки или сломана форма

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

Признаки, что дело в личных настройках, а не в форме:

  • 🔹 у вас криво, а у коллеги под его логином та же форма открывается нормально;
  • 🔹 проблема появилась после случайного перетаскивания колонки или нажатия «скрыть»;
  • 🔹 сломалась одна-две формы, а не вся база;
  • 🔹 после обновления конфигурации форма «поехала» — старые настройки не легли на новую разметку.

Признаки, что проблема глубже (в самой конфигурации или данных):

  • 🔸 форма не открывается вообще и выдаёт ошибку в окне сообщений;
  • 🔸 одинаково сломано у всех пользователей;
  • 🔸 после доработки программистом перестал работать реквизит или кнопка.
Диагностика: выберите симптом

Сброс личных настроек формы к стандартным

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

Сброс одной формы. В открытой проблемной форме:

  1. Нажмите Ещё в правой части командной панели.
  2. Выберите Изменить форму — откроется дерево элементов с галочками. Включите то, что случайно скрыли, при необходимости верните порядок.
  3. Либо, чтобы не разбираться вручную, выберите в меню Ещё команду восстановления стандартных настроек — форма вернётся к типовому виду целиком.

Очистка настроек пользователя целиком. Когда «поехало» сразу много форм (обычно после обновления релиза), чистить каждую по отдельности долго. Сбросьте все настройки пользователя разом через главное меню программы — значок в правом верхнем углу (Сервис и настройки) → Настройки → очистка настроек. В диалоге выбираете пользователя и что именно сбросить: настройки форм, вариантов отчётов, прочее оформление.

Очистка настроек пользователя убирает не только поломку, но и всю полезную персонализацию: сохранённые отборы, свои варианты отчётов, настроенные колонки во всех списках. Если ценные настройки отчётов есть — сбрасывайте точечно, только настройки форм.

Сброс настроек за другого пользователя. Администратор может почистить настройки чужого логина, не заходя под ним. В типовых конфигурациях на БП 3.0 и ЗУП 3.1 это раздел Администрирование → Настройки пользователей и прав, там есть инструмент копирования и очистки настроек по выбранным пользователям.

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

Правка формы в Конфигураторе

Если нужно изменить саму форму — добавить поле, убрать лишнее, поменять порядок, — это делается в Конфигураторе. Сразу оговорка: правка типовой конфигурации «напрямую» снимает её с поддержки и усложняет будущие обновления. Для типовых баз правильнее расширение (следующий раздел). Прямая правка Конфигуратором уместна для собственных, нетиповых конфигураций.

Порядок действий:

  1. Запустите базу в режиме Конфигуратор (пункт в окне запуска 1С).
  2. Откройте дерево конфигурации (Конфигурация → Открыть конфигурацию).
  3. Найдите нужный объект — справочник, документ или обработку — и раскройте его ветку Формы.
  4. Двойным кликом откройте форму. Откроется редактор формы.

Редактор формы состоит из нескольких связанных частей:

  • 🧩 Дерево элементов — что видит пользователь: группы, поля, таблицы, кнопки. Порядок в дереве задаёт порядок на экране.
  • 🗃️ Реквизиты формы — данные, с которыми форма работает (основной реквизит — объект или список).
  • ⚙️ Командный интерфейс — набор команд, вынесенных в панель формы.
  • 👁️ Просмотр — как форма будет выглядеть в «Предприятии».

Чтобы переставить поле — перетащите элемент в дереве выше или ниже. Чтобы скрыть — снимите у него свойство видимости. Чтобы добавить реквизит объекта на форму — перетащите его из списка реквизитов в дерево элементов.

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

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

Изменение состава данных (новые реквизиты, табличные части) меняет структуру базы, и обновление потребует монопольного доступа — работающие сеансы пользователей оборвутся. Делайте такие правки в нерабочее время и сначала снимите резервную копию базы. Правка только расположения элементов структуру не трогает и применяется проще.

Свойства элементов и печатные макеты

Внешний вид конкретного поля или кнопки задаётся его свойствами. Выделите элемент в дереве формы и откройте палитру свойств (F4 или Alt+Enter). Самые ходовые свойства:

СвойствоЧто делает
Видимостьпоказывать элемент или скрыть
Доступностьможно ли с ним работать (серый/активный)
ТолькоПросмотрполе видно, но не редактируется
Заголовокподпись поля или группы
РастягиватьПоГоризонталикак поле занимает ширину

Для групп важно свойство отображения (без рамки, с рамкой, в виде страниц-закладок) — им собирают форму в читаемые блоки.

Отдельная история — макеты печатных форм. Когда говорят «поправить форму» и имеют в виду печатный документ (счёт, акт, накладную), правят не форму объекта, а его макет — табличный документ в ветке Макеты. Там меняют текст, шрифты, колонки, добавляют реквизиты через именованные области. Логика вывода макета живёт в процедуре печати — модуле менеджера объекта или в общем модуле печати, в зависимости от конфигурации.

Для доработки типового печатного макета не редактируйте его в типовой конфигурации. Снимите копию через внешнюю печатную форму или расширение — так макет переживёт обновление релиза.

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

Это главный приём для типовых баз, и именно его чаще всего не хватает в чужих инструкциях. Расширение конфигурации позволяет изменить форму типовой конфигурации, не снимая её с поддержки и не мешая будущим обновлениям. Механизм доступен начиная с платформы 8.3.6.

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

Порядок работы в Конфигураторе:

  1. Откройте Конфигурация → Расширения конфигурации. Создайте новое расширение (назначение обычно «Адаптация»).
  2. Войдите в конфигурацию расширения. Найдите нужную форму в основной конфигурации и добавьте её в расширение — форма станет заимствованной.
  3. Внесите изменения: добавьте свои элементы, поменяйте видимость, допишите обработчики в модуле формы расширения.
  4. Сохраните и обновите конфигурацию базы данных (F7).

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

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

Управление формой из её модуля (код)

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

К элементам формы обращаются через коллекцию Элементы по имени элемента. Типовое место для такого кода — обработчик ПриСозданииНаСервере, он отрабатывает при открытии формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    // Скрыть поле комментария
    Элементы.Комментарий.Видимость = Ложь;

    // Запретить правку суммы
    Элементы.Сумма.ТолькоПросмотр = Истина;

КонецПроцедуры

Самые частые свойства, которыми управляют из кода: Видимость, Доступность, ТолькоПросмотр, Заголовок. Обращение всегда через Элементы.ИмяЭлемента, а не через имя реквизита — это разные вещи: реквизит хранит данные, элемент их показывает.

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

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

Частые ошибки при правке форм

Отдельно — промахи, из-за которых правка «не применяется» или ломает базу. Это не повтор шагов выше, а именно грабли.

  • ❌ Изменили форму, но забыли обновить конфигурацию БД. Правка в Конфигураторе не действует, пока не нажали F7. В «Предприятии» всё по-старому — кажется, что ничего не сработало.
  • ❌ Правят типовую форму напрямую вместо расширения. База снимается с поддержки, следующее обновление релиза идёт вручную и мучительно. Для типовых конфигураций — только расширение.
  • ❌ Путают сброс настроек и правку формы. Пользователю «поехала» форма, а в ответ лезут в Конфигуратор. Сначала всегда пробуйте сброс личных настроек — в 9 случаях из 10 этого достаточно.
  • ❌ Обращение к элементу по имени реквизита. Элементы.Сумма и реквизит Сумма — не одно и то же. Если имя элемента другое, код падает с ошибкой.
  • ❌ Обновляют структуру базы в рабочее время. Добавление реквизита требует монопольного доступа, сеансы пользователей оборвутся. Планируйте на нерабочие часы.
Перед правкой формы проверьте
Выполнено: 0 / 5

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

Сброс настроек формы удалит данные в документах?
Нет. Настройки формы — это только оформление (колонки, их ширина и порядок, видимость полей). Данные документов и справочников хранятся отдельно и при сбросе не затрагиваются.
Почему изменения в расширении не применились?
Чаще всего — не выполнено обновление конфигурации базы данных после правки. Загрузка .cfe и нажатие F7 — два разных действия. Ещё проверьте, что расширение включено и совместимо с текущей версией типовой конфигурации.
Можно ли изменить форму без Конфигуратора, из режима «Предприятие»?
Расположение элементов и колонок — да, через Ещё → Изменить форму: это личная настройка под вашим логином. Добавить новый реквизит или переписать логику из «Предприятия» нельзя, это делается только в Конфигураторе или расширении.
Форма открывается с ошибкой, а не просто криво. Поможет сброс настроек?
Если выводится текст ошибки — обычно нет, это не уровень настроек. Прочитайте сообщение целиком: оно указывает на модуль и причину. Чаще виновата доработка или испорченные данные, и правка идёт в Конфигураторе.
Как вернуть форму после неудачной правки в Конфигураторе?
Если правили расширение — отключите или удалите его, типовая форма вернётся. Если правили типовую конфигурацию напрямую — восстановите из резервной копии, которую (надеемся) сделали заранее. Поэтому перед правкой структуры копия обязательна.