#Область ОписаниеПеременных
&НаКлиенте
Перем КэшированныеЗначения;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Запись, ЭтотОбъект);
Если Запись.ИсходныйКлючЗаписи.Пустой() Тогда
Запись.ДобавленоАвтоматически = Ложь;
КонецЕсли;
Если Запись.ДобавленоАвтоматически Тогда
ТолькоПросмотр = Истина;
Иначе
ПриЧтенииСозданииНаСервере();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
Если Не Запись.ДобавленоАвтоматически Тогда
ПриЧтенииСозданииНаСервере();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура НоменклатураПредпосылкаПриИзменении(Элемент)
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", Запись.ХарактеристикаПредпосылка);
СтруктураСтроки = Новый Структура;
СтруктураСтроки.Вставить("Номенклатура", Запись.НоменклатураПредпосылка);
СтруктураСтроки.Вставить("Характеристика", Запись.ХарактеристикаПредпосылка);
СтруктураСтроки.Вставить("ХарактеристикиИспользуются", ПредпосылкаХарактеристикиИспользуются);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(СтруктураСтроки, СтруктураДействий, КэшированныеЗначения);
Запись.НоменклатураПредпосылка = СтруктураСтроки.Номенклатура;
Запись.ХарактеристикаПредпосылка = СтруктураСтроки.Характеристика;
ПредпосылкаХарактеристикиИспользуются = СтруктураСтроки.ХарактеристикиИспользуются;
Элементы.ХарактеристикаПредпосылка.Доступность = ПредпосылкаХарактеристикиИспользуются;
КонецПроцедуры
&НаКлиенте
Процедура НоменклатураСледствиеПриИзменении(Элемент)
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", Запись.ХарактеристикаСледствие);
СтруктураСтроки = Новый Структура;
СтруктураСтроки.Вставить("Номенклатура", Запись.НоменклатураСледствие);
СтруктураСтроки.Вставить("Характеристика", Запись.ХарактеристикаСледствие);
СтруктураСтроки.Вставить("ХарактеристикиИспользуются", СледствиеХарактеристикиИспользуются);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(СтруктураСтроки, СтруктураДействий, КэшированныеЗначения);
Запись.НоменклатураСледствие = СтруктураСтроки.Номенклатура;
Запись.ХарактеристикаСледствие = СтруктураСтроки.Характеристика;
СледствиеХарактеристикиИспользуются = СтруктураСтроки.ХарактеристикиИспользуются;
Элементы.ХарактеристикаСледствие.Доступность = СледствиеХарактеристикиИспользуются;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Прочее
&НаСервере
Процедура ПриЧтенииСозданииНаСервере()
ПредпосылкаХарактеристикиИспользуются = Справочники.Номенклатура.ХарактеристикиИспользуются(Запись.НоменклатураПредпосылка);
Элементы.ХарактеристикаПредпосылка.Доступность = ПредпосылкаХарактеристикиИспользуются;
СледствиеХарактеристикиИспользуются = Справочники.Номенклатура.ХарактеристикиИспользуются(Запись.НоменклатураСледствие);
Элементы.ХарактеристикаСледствие.Доступность = СледствиеХарактеристикиИспользуются;
КонецПроцедуры
#КонецОбласти
#КонецОбласти