Разрешить редактирование реквизитов объекта. Разрешает редактирование заблокированных элементов формы, связанных с заданными реквизитами.
// Разрешает редактирование заблокированных элементов формы, связанных с заданными реквизитами.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой требуется разрешить
// редактирование элементов формы, заданных реквизитов.
//
// ОбработкаПродолжения - Неопределено - никаких действий после выполнения процедуры.
// - ОписаниеОповещения - оповещение, которое вызывается после выполнения процедуры.
// В обработку оповещения передается параметр типа Булево:
// Истина - ссылок не обнаружено или пользователь решил разрешить редактирование,
// Ложь - видимых заблокированных реквизитов нет или
// ссылки обнаружены и пользователь отказался от продолжения.
//
Процедура РазрешитьРедактированиеРеквизитовОбъекта(Знач Форма, ОбработкаПродолжения = Неопределено) Экспорт
ЗаблокированныеРеквизиты = Реквизиты(Форма);
Если ЗаблокированныеРеквизиты.Количество() = 0 Тогда
ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы(
Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения",
ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, ОбработкаПродолжения));
Возврат;
КонецЕсли;
СинонимыРеквизитов = Новый Массив;
Для Каждого ОписаниеРеквизита Из Форма.ПараметрыЗапретаРедактированияРеквизитов Цикл
Если ЗаблокированныеРеквизиты.Найти(ОписаниеРеквизита.ИмяРеквизита) <> Неопределено Тогда
СинонимыРеквизитов.Добавить(ОписаниеРеквизита.Представление);
КонецЕсли;
КонецЦикла;
МассивСсылок = Новый Массив;
МассивСсылок.Добавить(Форма.Объект.Ссылка);
Параметры = Новый Структура;
Параметры.Вставить("Форма", Форма);
Параметры.Вставить("ЗаблокированныеРеквизиты", ЗаблокированныеРеквизиты);
Параметры.Вставить("ОбработкаПродолжения", ОбработкаПродолжения);
ПроверитьСсылкиНаОбъект(
Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок",
ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, Параметры),
МассивСсылок,
СинонимыРеквизитов);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения (БСП)
РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок (БСП)
ЗапретРедактированияПредусмотрен (БСП)
ПроверитьЧтениеРазрешено (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)