РазрешитьРедактированиеРеквизитовОбъекта (БСП)

Автор: 1С
ОбщийМодуль.ЗапретРедактированияРеквизитовОбъектовКлиент
БСП

Разрешить редактирование реквизитов объекта. Разрешает редактирование заблокированных элементов формы, связанных с заданными реквизитами.

// Разрешает редактирование заблокированных элементов формы, связанных с заданными реквизитами.
//
// Параметры:
//  Форма        - ФормаКлиентскогоПриложения - форма, в которой требуется разрешить
//                 редактирование элементов формы, заданных реквизитов.
//
//  ОбработкаПродолжения - Неопределено - никаких действий после выполнения процедуры.
//                       - ОписаниеОповещения - оповещение, которое вызывается после выполнения процедуры.
//                         В обработку оповещения передается параметр типа Булево:
//                           Истина - ссылок не обнаружено или пользователь решил разрешить редактирование,
//                           Ложь   - видимых заблокированных реквизитов нет или
//                                    ссылки обнаружены и пользователь отказался от продолжения.
//
Процедура РазрешитьРедактированиеРеквизитовОбъекта(Знач Форма, ОбработкаПродолжения = Неопределено) Экспорт
	
	ЗаблокированныеРеквизиты = Реквизиты(Форма);
	
	Если ЗаблокированныеРеквизиты.Количество() = 0 Тогда
		ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы(
			Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения",
				ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, ОбработкаПродолжения));
		Возврат;
	КонецЕсли;
	
	СинонимыРеквизитов = Новый Массив;
	
	Для Каждого ОписаниеРеквизита Из Форма.ПараметрыЗапретаРедактированияРеквизитов Цикл
		Если ЗаблокированныеРеквизиты.Найти(ОписаниеРеквизита.ИмяРеквизита) <> Неопределено Тогда
			СинонимыРеквизитов.Добавить(ОписаниеРеквизита.Представление);
		КонецЕсли;
	КонецЦикла;
	
	МассивСсылок = Новый Массив;
	МассивСсылок.Добавить(Форма.Объект.Ссылка);
	
	Параметры = Новый Структура;
	Параметры.Вставить("Форма", Форма);
	Параметры.Вставить("ЗаблокированныеРеквизиты", ЗаблокированныеРеквизиты);
	Параметры.Вставить("ОбработкаПродолжения", ОбработкаПродолжения);
	
	ПроверитьСсылкиНаОбъект(
		Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок",
			ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, Параметры),
		МассивСсылок,
		СинонимыРеквизитов);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения (БСП)

РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок (БСП)

ЗапретРедактированияПредусмотрен (БСП)

ПроверитьСсылкиНаОбъект (БСП)

ЧтениеРазрешено (БСП)

ИзменениеРазрешено (БСП)

ПроверитьЧтениеРазрешено (БСП)

ПроверитьИзменениеРазрешено (БСП)

УстановитьРазрешенностьРедактированияРеквизитов (БСП)

TurboConf - расширение Конфигуратора 1С