Как найти скрытые свойства элементов формы и настроить обязательную проверку заполнения в 1С?

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

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

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

Рассмотрим ситуацию: вы выбрали поле формы, открыли панель свойств, но видите там лишь «Основные» параметры, а такие важные настройки, как ПроверкаЗаполнения или АвтоОтметкаНезаполненного, отсутствуют. Выясним причину этого поведения платформы. В верхней части панели свойств находится специальный инструмент — кнопка с изображением воронки (фильтр). Она предназначена для того, чтобы не перегружать интерфейс разработчика лишней информацией, но иногда она играет злую шутку с новичками.

Проанализируем основные режимы работы этого фильтра:

  1. Отображать только важные: в этом режиме система автоматически скрывает свойства, которые она считает второстепенными для данного контекста. Часто именно здесь «прячется» проверка заполнения.
  2. Отображать только измененные: полезный режим для отладки, показывающий только те параметры, значения которых отличаются от стандартных.
  3. Отображать все: этот режим мы рекомендуем использовать всегда при разработке. Он гарантирует, что вы видите полный список доступных настроек элемента.

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

Различие между Реквизитом и Полем формы

Разберем по шагам еще одну важную деталь, на которую указали опытные участники обсуждения. В 1С важно различать Реквизит (данные) и Элемент формы (визуальное представление).

Рассмотрим эту разницу подробнее:

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

Методы настройки обязательного заполнения

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

Способ 1: Свойства реквизита (декларативный метод)

Это самый простой путь, не требующий написания кода. Мы используем встроенные механизмы платформы:

  1. Переходим в редактор формы.
  2. В списке реквизитов (справа) выбираем нужный параметр.
  3. В панели свойств находим раздел «Использование».
  4. Устанавливаем свойство ПроверкаЗаполнения в значение ВыдаватьОшибку.

Способ 2: Программная проверка (обработка события)

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

Рассмотрим пример кода для программной проверки во внешней обработке:


&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
    
    // Если нужно программно добавить реквизит в список проверяемых
    Если Элементы.ВидОперации.Значение = ПредопределенноеЗначение("Перечисление.ВидыОпераций.Сложная") Тогда
        ПроверяемыеРеквизиты.Добавить("Спецификация");
    КонецЕсли;
    
КонецПроцедуры

В данном примере система сама проверит заполнение реквизита Спецификация, если выполняется условие по виду операции. Если поле окажется пустым, параметр Отказ примет значение Истина, и действие не будет выполнено.

Быстрый поиск свойств: использование «Лупы»

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

Особенности внешней обработки в учебной версии

Выясним причину возможных опасений при работе в учебной версии. Функционал конфигуратора в учебной версии 1С полностью идентичен профессиональной в части интерфейса. Все кнопки фильтрации, сортировки и поиска находятся на тех же местах. Единственное отличие может заключаться в том, что у внешней обработки нет стандартного метода Записать, как у документа. Поэтому автоматическая проверка срабатывает при вызове метода ПроверитьЗаполнение() или при нажатии кнопок, у которых в свойстве ПроверкаЗаполнения установлено значение Использовать.

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

← На главную