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

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

1С: как установить «Редактировать в диалоге»

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

Свойство «Редактировать в диалоге» в 1С определяет способ изменения значения ссылочного реквизита: вместо ввода или выбора прямо в поле формы пользователь открывает объект в отдельной диалоговой форме и редактирует его там. Это удобно, когда при заполнении документа нужно быстро поправить карточку контрагента, номенклатуры или договора, не переходя в другой раздел программы.

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

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

Что делает свойство «Редактировать в диалоге»

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

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

Свойство не заменяет механизм выбора: кнопка выбора из списка продолжает работать, если она не отключена отдельно. Речь идёт именно о способе интерактивного редактирования текущего значения поля.

Где найти свойство в конфигураторе

Откройте конфигуратор, найдите нужную форму объекта (например, форму документа) и перейдите на вкладку с деревом элементов формы. Выделите поле ввода, связанное со ссылочным реквизитом, и откройте палитру свойств — обычно по правому клику «Свойства» или через комбинацию Alt+Enter.

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

После изменения обновите конфигурацию базы данных (клавиша F7), если изменения затронули структуру, или просто сохраните конфигурацию, если правила касались только формы. Затем перезапустите сеанс пользователя и проверьте поведение поля.

Порядок действий в конфигураторе
  1. 1
    Откройте нужную форму объекта в конфигураторе
  2. 2
    Выделите поле ввода со ссылочным реквизитом
  3. 3
    Откройте палитру свойств (Alt+Enter)
  4. 4
    Найдите свойство «Редактировать в диалоге» и установите «Истина»
  5. 5
    Сохраните конфигурацию и перезапустите сеанс
  6. 6
    Проверьте: при редактировании поля открывается форма объекта

Настройка в обычных и управляемых формах

В обычных формах всё сводится к установке одного свойства в палитре. Платформа сама обрабатывает открытие диалога объекта при начале редактирования. Это самый простой сценарий, и он работает «из коробки» для большинства ссылочных типов.

В управляемых формах подход другой: вместо единого флага используется комбинация настроек. Убедитесь, что у поля включена кнопка открытия (свойство «КнопкаОткрытия»), при необходимости отключите «КнопкаВыбора» и «РедактированиеТекста», чтобы пользователь не вводил значение вручную. Для открытия объекта на редактирование используется стандартная обработка или собственный обработчик события «Открытие».

Сравнение вариантов

Обычная форма: свойство «РедактироватьВДиалоге»

Один флаг в палитре свойств. Подходит для конфигураций в режиме обычного приложения. Ограничение: не работает в управляемом интерфейсе.

Управляемая форма: кнопка открытия и обработчики

Гибкая настройка через свойства поля и события. Подходит для современных конфигураций. Ограничение: требует понимания событийной модели формы.

Программная установка свойства

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

Программная установка свойства

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

Для обычной формы обращение выглядит как обращение к элементу формы по имени с присвоением значения свойству. В управляемой форме аналогичным образом управляются свойства «КнопкаОткрытия» и смежные параметры через коллекцию «Элементы».

1c
// Обычная форма
ЭлементыФормы.Контрагент.РедактироватьВДиалоге = Истина;

// Управляемая форма — управление кнопкой открытия
Элементы.Контрагент.КнопкаОткрытия = Истина;
Элементы.Контрагент.РедактированиеТекста = Ложь;

Программная установка выполняется каждый раз при открытии формы, поэтому изменения в палитре свойств для этого элемента могут перекрываться кодом. Если свойство «не запоминается», проверьте модуль формы на предмет переопределения.

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

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

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

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

Поведение при редактировании поля
Норма

Открывается форма объекта для правки

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

Значение вводится прямо в поле — свойство не применилось

Сохранение изменений объекта
Норма

Объект записывается, представление в поле обновляется

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

Ошибка записи — проверьте права доступа пользователя

Повторное открытие формы после правки кода
Норма

Поведение соответствует настройке

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

Свойство сбрасывается — ищите переопределение в модуле формы

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

Типичные ошибки и ограничения

Типичные ошибки
01
Установка свойства для поля с примитивным типом (строка, число) — свойство работает только со ссылочными значениями, для строк оно бессмысленно
02
Ожидание, что свойство разрешит редактирование без прав — пользователь без прав на изменение объекта получит ошибку при записи
03
Поиск одноимённого свойства в управляемой форме — там оно отсутствует, нужно настраивать кнопку открытия и обработчики
04
Забытое обновление конфигурации или перезапуск сеанса — пользователь продолжает видеть старое поведение
05
Программное переопределение свойства в модуле формы, о котором забыли — настройка в палитре не действует

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

Альтернативы и смежные настройки

Если цель — дать пользователю возможность посмотреть или поправить объект, не обязательно использовать «Редактировать в диалоге». Кнопка открытия (значок рядом с полем) решает ту же задачу явно: пользователь сам решает, открывать объект или нет. Это безопаснее, так как снижает риск непреднамеренного изменения справочника.

Для защиты данных от случайных правок используйте связанные механизмы: настройку прав доступа, запрет редактирования через свойство «ТолькоПросмотр» у формы объекта, а также дату запрета изменения данных для закрытых периодов. Эти инструменты работают независимо от способа открытия формы.

Маршрут решения

Как выбрать действие

Пользователи часто правят карточки объектов прямо из документовВключите «Редактировать в диалоге» (обычная форма) или настройте открытие объекта (управляемая форма)
Нужно только просматривать объект без риска случайной правкиОставьте стандартную кнопку открытия и настройте права или «Только просмотр»
Поведение должно зависеть от роли или статусаУстанавливайте свойства программно в обработчике создания формы
Пользователь не видит изменений после настройкиПроверьте сохранение конфигурации, перезапуск сеанса и код модуля формы
Итог

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

«Редактировать в диалоге» включается в палитре свойств поля ввода обычной формы; в управляемых формах аналогичное поведение настраивается через кнопку открытия и обработчики. Свойство меняет только способ редактирования и не влияет на права доступа. После настройки всегда проверяйте поведение в режиме предприятия под учётной записью реального пользователя.

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

Почему в палитре свойств нет пункта «Редактировать в диалоге»?

Скорее всего, вы работаете с управляемой формой — там этого свойства нет. Настройте кнопку открытия и при необходимости обработчик события «Открытие». Также проверьте, что у поля ссылочный тип данных: для строки или числа свойство не отображается.

Влияет ли «Редактировать в диалоге» на права пользователя?

Нет. Свойство определяет только способ интерактивного редактирования. Если у пользователя нет права изменения объекта, форма откроется, но записать изменения он не сможет. Права настраиваются отдельно в ролях.

Можно ли включить свойство сразу для всех полей формы?

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

Что делать, если при редактировании возникает ошибка блокировки данных?

Это значит, что объект уже открыт на редактирование в другом окне или другим пользователем. Закройте дубликат формы или дождитесь завершения чужого сеанса редактирования. Ошибка настройки свойства тут ни при чём.

Работает ли свойство в тонком и веб-клиенте?

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