База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в обычных формах 1С добавить действие «Редактировать в диалоге»? › Ответ в теме: Как в обычных формах 1С добавить действие «Редактировать в диалоге»?
В обычных формах 1С (не управляемых) при открытии списка справочника действие «Редактировать в диалоге» доступно по умолчанию. Если оно не отображается или недоступно, нужно проверить и настроить следующие моменты.
Во-первых, в конфигураторе в форме списка справочника в свойствах формы установите параметр СпособРедактирования в значение ВДиалоге. Это позволит открывать элементы в отдельном диалоговом окне.
Во-вторых, в модуле формы списка проверьте обработчик открытия элемента. Если там реализовано открытие элемента только в списке, замените код на вызов открытия формы элемента в диалоге, например, так:
|
1 2 3 4 5 6 |
Процедура ОткрытьЭлемент() Элемент = Список.ТекущаяСтрока.Ссылка; Если Элемент <> Неопределено Тогда ОткрытьФорму(ТипЗначения(Элемент).Ссылка.СформироватьИмяФормы(), Элемент, ЭтотОбъект); КонецЕсли; КонецПроцедуры |
Также убедитесь, что в форме списка есть действие «Редактировать в диалоге» в меню или командах. Если его нет, добавьте с соответствующим кодом.
Если используется динамический список, то режим редактирования в списке обычно отключён, и редактирование происходит только в форме, так что действие «Редактировать в диалоге» будет доступно всегда.
Для программного переключения способа редактирования на «в диалоге» можно использовать следующий код:
|
1 |
ЭлементыФормы.СписокЭлементов.СпособРедактирования = СпособРедактированияСписка.ВДиалоге; |
где СписокЭлементов — имя элемента управления списком на форме.
Итог: чтобы при открытии списка справочника было доступно действие «Редактировать в диалоге», в конфигураторе в форме списка нужно установить свойство СпособРедактирования в значение ВДиалоге и обеспечить корректную реализацию открытия элемента в диалоге.