Номенклатура / Разблокирование реквизитов / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	// Скроем реквизиты, отключенные функциональными опциями
	РеквизитыФормы			= ПолучитьРеквизиты();
	НеиспользуемыеРеквизиты = Справочники.Номенклатура.РеквизитыОтключенныеПоФО();
	
	Для Каждого Реквизит Из РеквизитыФормы Цикл
		Если Элементы.Найти(Реквизит.Имя) = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		
		Если Реквизит.Имя = "ВестиУчетПоГТД" Тогда
			ЗаголовокРеквизита = НСтр("ru = 'Разрешить редактирование флага ""%1""'");
			Элементы[Реквизит.Имя].Заголовок = СтрШаблон(ЗаголовокРеквизита,
														НоменклатураЛокализация.ЗаголовокВестиУчетПоГТД());
		КонецЕсли;
		
		ИмяРеквизитаНоменклатуры	= Реквизит.Имя;
		РеквизитИспользуется		= НеиспользуемыеРеквизиты.Найти(ИмяРеквизитаНоменклатуры) = Неопределено;
		
		ЭтотОбъект[Реквизит.Имя]				= РеквизитИспользуется;
		Элементы[Реквизит.Имя].Видимость	= РеквизитИспользуется;
		
		ИменаРеквизитовФормы.Добавить(Реквизит.Имя, ИмяРеквизитаНоменклатуры);
	КонецЦикла;
	
	СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура РазрешитьРедактирование(Команда)
	
	// Для всех включенных флажков сформируем массив соответствующих им реквизитов номенклатуры.
	Результат = Новый Массив;
	
	Для Каждого Реквизит Из ИменаРеквизитовФормы Цикл
		Если ЭтотОбъект[Реквизит.Значение] Тогда
			Результат.Добавить(Реквизит.Представление);
		КонецЕсли;
	КонецЦикла;
	
	// Некоторые флажки управляют несколькими реквизитами номенклатуры
	Если НаборУпаковок Тогда
		Результат.Добавить("ИспользоватьУпаковки");
	КонецЕсли;
	
	Закрыть(Результат);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
	
КонецПроцедуры

#КонецОбласти

Связанные материалы