Ввод остатков внеоборотных активов / Нематериальные активы (расходы на НИОКР) / Модуль формы

файл

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

	ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
	
	ИнициализацияПриСозданииНаСервере();
	
	Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
		
		ПриЧтенииСозданииНаСервере();
		
	КонецЕсли;
	
	#Область СтандартныеПодсистемы
	
	// СтандартныеПодсистемы.ВерсионированиеОбъектов
	ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
	
	// ИнтеграцияС1СДокументооборотом
	ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец ИнтеграцияС1СДокументооборотом
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);

	// СтандартныеПодсистемы.РаботаСФайлами
	ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
	ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
	РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	#КонецОбласти
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	// Обработчик механизма "ДатыЗапретаИзменения"
	ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	
	ПриЧтенииСозданииНаСервере();

	СобытияФорм.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры

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

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	Оповестить("Запись_ВводОстатковВнеоборотныхАктивов2_4", ПараметрыЗаписи, Объект.Ссылка);
	Оповестить("Запись_ВводОстатков", ПараметрыЗаписи, Объект.Ссылка);
	ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
	ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналНМА();
	
	МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтотОбъект, ПараметрыЗаписи);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
		МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
		МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)

	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	ОбновитьЗаголовокФормы();
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	СобытияФормКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
	
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
	
	НастроитьЗависимыеЭлементыФормыНаСервере(Элемент.Имя);
	
КонецПроцедуры

&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
	
	НастроитьЗависимыеЭлементыФормыНаСервере(Элемент.Имя);
	
КонецПроцедуры

&НаКлиенте
Процедура ВариантОтраженияВУчетеПриИзменении(Элемент)
	
	НастроитьЗависимыеЭлементыФормыНаСервере("ВариантОтраженияВУчете,ОтражатьВРеглУчете,ОтражатьВУпрУчете");
	
КонецПроцедуры

&НаКлиенте
Процедура ОтражатьВОперативномУчетеПриИзменении(Элемент)
	
	НастроитьЗависимыеЭлементыФормыНаСервере(Элемент.Имя);
	
КонецПроцедуры

&НаКлиенте
Процедура ОтражатьВБУиНУПриИзменении(Элемент)
	
	НастроитьЗависимыеЭлементыФормыНаСервере(Элемент.Имя);
	
КонецПроцедуры

&НаКлиенте
Процедура ОтражатьВУУПриИзменении(Элемент)
	
	НастроитьЗависимыеЭлементыФормыНаСервере(Элемент.Имя);
	
КонецПроцедуры

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

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

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыНМА

&НаКлиенте
Процедура НМАВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ИзменитьСтрокуНМА();
	
КонецПроцедуры

&НаКлиенте
Процедура НМАПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
	
	Отказ = Истина;
	ИзменитьСтрокуНМА(Истина, Копирование);
	
КонецПроцедуры

&НаКлиенте
Процедура НМАПередНачаломИзменения(Элемент, Отказ)
	
	Если Элемент.ТекущийЭлемент <> Элементы.НМАНомерСтроки Тогда
		Отказ = Истина;
		ИзменитьСтрокуНМА();
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура НМАОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	ПодборНаСервере(ВыбранноеЗначение);
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ПровестиИЗакрыть(Команда)
	
	ОбщегоНазначенияУТКлиент.ПровестиИЗакрыть(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ПровестиДокумент(Команда)
	
	ОбщегоНазначенияУТКлиент.Провести(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписатьДокумент(Команда)
	
	ОбщегоНазначенияУТКлиент.Записать(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьСведения(Команда)
	
	ИзменитьСтрокуНМА();
	
КонецПроцедуры

&НаКлиенте
Процедура Подобрать(Команда)
	
	ПараметрыПодбораНМА = ОбщегоНазначенияУТКлиентСервер.ПараметрыПодбора(Элементы.НМАНематериальныйАктив, ЭтотОбъект);
	
	ОткрытьФорму("Справочник.НематериальныеАктивы.ФормаВыбора", 
					ПараметрыПодбораНМА, Элементы.НМА,,,,, 
					РежимОткрытияОкнаФормы.БлокироватьОкноВладельца)
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПриВыполненииКоманды(Команда)

	ВводОстатковВнеоборотныхАктивовКлиентЛокализация.ФормаНематериальныеАктивы_ПриВыполненииКоманды(Команда, ЭтаФорма);

КонецПроцедуры

#Область ПодключаемыеКоманды

// ИнтеграцияС1СДокументооборотом
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)

	
	ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтотОбъект, Объект);
	
КонецПроцедуры
// Конец ИнтеграцияС1СДокументооборотом

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

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

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

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

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

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

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

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура ПриЧтенииСозданииНаСервере()

	ВариантОтраженияВУчете = ВнеоборотныеАктивыКлиентСервер.ВариантОтраженияВУчете(Объект, Истина);
	
	ОбновитьЗаголовокФормы();
	
	НастроитьЗависимыеЭлементыФормыНаСервере();
	
КонецПроцедуры

&НаСервере
Процедура ИнициализацияПриСозданииНаСервере()

	Если Параметры.Свойство("АктивизироватьСтроку") Тогда
		АктивизироватьСтроку = Параметры.АктивизироватьСтроку;
		Если АктивизироватьСтроку <= Объект.НМА.Количество() И АктивизироватьСтроку > 0 Тогда
			Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаНМА;
			Элементы.НМА.ТекущаяСтрока = АктивизироватьСтроку - 1;
		КонецЕсли;
	КонецЕсли; 
	
	СписокРеквизитов = Новый Массив;
	Для каждого МетаданныеРеквизита Из Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ТабличныеЧасти.НМА.Реквизиты Цикл
		СписокРеквизитов.Добавить(МетаданныеРеквизита.Имя);
	КонецЦикла; 

	РеквизитыНМА = СтрСоединить(СписокРеквизитов, ",");
	
КонецПроцедуры

&НаСервере
Процедура ОбновитьЗаголовокФормы()
	
	Заголовок = ВнеоборотныеАктивыВызовСервера.ПредставлениеВводаОстатков(Объект);

КонецПроцедуры

&НаКлиенте
Процедура ИзменитьСтрокуНМА(НоваяСтрока = Ложь, Копирование = Ложь)
	
	ТекущиеДанные = Элементы.НМА.ТекущиеДанные;
	Если ТекущиеДанные = Неопределено И НЕ Копирование И НЕ НоваяСтрока Тогда
		Возврат;
	КонецЕсли; 

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

КонецПроцедуры

&НаКлиенте
Процедура ИзменитьСтрокуНМАЗавершение(РезультатЗакрытия, ДополнительныеПараметры) Экспорт

	Если ТипЗнч(РезультатЗакрытия) <> Тип("Структура") Тогда
		Возврат;
	КонецЕсли;
	
	Если ДополнительныеПараметры.НоваяСтрока Тогда
		СтрокаТаблицы = Объект.НМА.Добавить();
	Иначе
		СтрокаТаблицы = Объект.НМА.НайтиПоИдентификатору(ДополнительныеПараметры.ИдентификаторСтроки);
	КонецЕсли;
	
	ЗаполнитьЗначенияСвойств(СтрокаТаблицы, РезультатЗакрытия);
	Модифицированность = Истина;
	
КонецПроцедуры

&НаСервере
Процедура НастроитьЗависимыеЭлементыФормыНаСервере(Знач ИзмененныеРеквизиты = "")

	ПриИзмененииРеквизитов(ИзмененныеРеквизиты);
	
	СтруктураИзмененныхРеквизитов = Новый Структура(ИзмененныеРеквизиты);
	
	ОбновитьВсе = СтруктураИзмененныхРеквизитов.Количество() = 0;
	
	Если ОбновитьВсе Тогда
		Элементы.КартинкаДокументПереходаНа2_4.Видимость = Ложь;
		Элементы.ДекорацияДокументПереходаНа2_4.Видимость = Ложь;
		Элементы.ВводОстатковПо.Видимость = Ложь;
	КонецЕсли;
	
	Если СтруктураИзмененныхРеквизитов.Свойство("Организация")
		ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
		ИЛИ ОбновитьВсе Тогда
			
		ВнеоборотныеАктивыСлужебный.УстановитьСвойствоСтруктуры(
			"РеглУчетВНАВедетсяНезависимо",
			НастройкиНалоговУчетныхПолитикПовтИсп.РеглУчетВНАВедетсяНезависимо(Объект.Организация, КонецМесяца(?(Объект.Дата <> '000101010000', Объект.Дата, ТекущаяДатаСеанса()))),
			СлужебныеПараметрыФормы);
		
		//	
		Элементы.ВариантОтраженияВУчете.Видимость = СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо;
	
		Если НЕ СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо 
			И НЕ ОбновитьВсе Тогда
			ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.УправленческомИРегламентированномУчетах");
			Объект.ОтражатьВРеглУчете = Истина;
			Объект.ОтражатьВУпрУчете = Истина;
			Объект.ОтражатьВБУ = Истина;
			Объект.ОтражатьВНУ = Истина;
		КонецЕсли;
		
	КонецЕсли;
	
	Если СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВОперативномУчете")
		ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВБУиНУ")
		ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУУ")
		ИЛИ ОбновитьВсе Тогда
		
		Элементы.ВариантОтраженияВУчете.ТолькоПросмотр =
			НЕ Объект.ОтражатьВОперативномУчете
			И Объект.ОтражатьВУУ
			И НЕ Объект.ОтражатьВБУиНУ;
				
		ПараметрыВыбораНМА = Новый Массив;
		
		ОтборСостояние = Новый Массив;
		Если Объект.ОтражатьВОперативномУчете Тогда
			ОтборСостояние.Добавить(Перечисления.СостоянияНМА.НеПринятКУчету);
		Иначе
			ОтборСостояние.Добавить(Перечисления.СостоянияНМА.ПринятКУчету);
		КонецЕсли; 
		ПараметрыВыбораНМА.Добавить(Новый ПараметрВыбора("Отбор.Состояние", ОтборСостояние));
		ПараметрыВыбораНМА.Добавить(Новый ПараметрВыбора("Контекст", "БУ,УУ"));
		
		Элементы.НМАНематериальныйАктив.ПараметрыВыбора = Новый ФиксированныйМассив(ПараметрыВыбораНМА);
		
		//
		ГоловнаяОрганизация = НастройкиНалоговУчетныхПолитикПовтИсп.ГоловнаяОрганизация(Объект.Организация);
		УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Организация", ГоловнаяОрганизация));
		
	КонецЕсли; 
	
	ВводОстатковВнеоборотныхАктивовЛокализация.ФормаНематериальныеАктивы_НастроитьЗависимыеЭлементыФормы(
		ЭтотОбъект, СтруктураИзмененныхРеквизитов);
	
КонецПроцедуры

&НаСервере
Процедура ПриИзмененииРеквизитов(ИзмененныеРеквизиты)

	Если НЕ ЗначениеЗаполнено(ИзмененныеРеквизиты) Тогда
		Возврат; 
	КонецЕсли; 
	
	СписокРеквизитов = СтрРазделить(ИзмененныеРеквизиты, ",");
	
	Если СписокРеквизитов.Найти("ОтражатьВОперативномУчете") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВБУиНУ") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВУУ") <> Неопределено Тогда
		
		Если Объект.ОтражатьВБУиНУ
			И НЕ Объект.ОтражатьВОперативномУчете 
			И НЕ Объект.ОтражатьВУУ Тогда
			
			ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.РегламентированномУчете");
			СписокРеквизитов.Добавить("ВариантОтраженияВУчете");
			
		ИначеЕсли Объект.ОтражатьВУУ
			И НЕ Объект.ОтражатьВОперативномУчете 
			И НЕ Объект.ОтражатьВБУиНУ Тогда
			
			ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.УправленческомУчете");
			СписокРеквизитов.Добавить("ВариантОтраженияВУчете");
			
		ИначеЕсли Объект.ОтражатьВОперативномУчете 
			И Объект.ОтражатьВУУ
			И НЕ Объект.ОтражатьВБУиНУ Тогда
			
			ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.УправленческомУчете");
			СписокРеквизитов.Добавить("ВариантОтраженияВУчете");
			
		ИначеЕсли Объект.ОтражатьВБУиНУ
			И Объект.ОтражатьВУУ
			И НЕ Объект.ОтражатьВОперативномУчете Тогда
			
			ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.УправленческомИРегламентированномУчетах");
			СписокРеквизитов.Добавить("ВариантОтраженияВУчете");
			
		ИначеЕсли Объект.ОтражатьВБУиНУ
			И Объект.ОтражатьВОперативномУчете Тогда
			
			ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.УправленческомИРегламентированномУчетах");
			СписокРеквизитов.Добавить("ВариантОтраженияВУчете");
		КонецЕсли; 
		
	КонецЕсли; 
	
	Если СписокРеквизитов.Найти("ВариантОтраженияВУчете") <> Неопределено Тогда
		
		ВнеоборотныеАктивыКлиентСервер.ПриИзмененииВариантаОтраженияВУчете(Объект, ВариантОтраженияВУчете, Истина);
		
	КонецЕсли; 
	
	Если СписокРеквизитов.Найти("Дата") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("Организация") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВБУиНУ") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВОперативномУчете") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВУУ") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВРеглУчете") <> Неопределено
		ИЛИ СписокРеквизитов.Найти("ОтражатьВУпрУчете") <> Неопределено Тогда
		
		ЗаполнитьРеквизитыВзависимостиОтСвойств(Объект.НМА);
		
	КонецЕсли;
	
	ИзмененныеРеквизиты = СтрСоединить(СписокРеквизитов, ",");

КонецПроцедуры
 
&НаСервере
Процедура ПодборНаСервере(ВыбранноеЗначение)

	Если ВыбранноеЗначение.Количество() = 0 Тогда
		Возврат;
	КонецЕсли; 
	
	ДобавленныеСтроки = ВнеоборотныеАктивыКлиентСервер.ОбработкаВыбораЭлемента(Объект.НМА, "НематериальныйАктив", ВыбранноеЗначение);

	ВидыОбъектовУчета = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(ВыбранноеЗначение, "ВидОбъектаУчета");
	Для каждого ДанныеСтроки Из ДобавленныеСтроки Цикл
		ДанныеСтроки.ВидОбъектаУчета = ВидыОбъектовУчета.Получить(ДанныеСтроки.НематериальныйАктив);
	КонецЦикла; 
	
	ЗаполнитьРеквизитыВзависимостиОтСвойств(ДобавленныеСтроки);

КонецПроцедуры

&НаСервере
Процедура ЗаполнитьРеквизитыВзависимостиОтСвойств(СписокСтрок)

	ВспомогательныеРеквизитыОбъекта = Документы.ВводОстатковВнеоборотныхАктивов2_4.ВспомогательныеРеквизиты(Объект, Ложь);
	
	Для каждого ДанныеСтроки Из СписокСтрок Цикл
		
		ВспомогательныеРеквизиты = Документы.ВводОстатковВнеоборотныхАктивов2_4.ДополнитьВспомогательныеРеквизитыПоДаннымСтроки(
											Объект, ДанныеСтроки, ВспомогательныеРеквизитыОбъекта);
		
		ПараметрыРеквизитовОбъекта = ВнеоборотныеАктивыКлиентСервер.ЗначенияСвойствЗависимыхРеквизитов_ВводОстатков(
										ДанныеСтроки, ВспомогательныеРеквизиты, "");
										
		Документы.ВводОстатковВнеоборотныхАктивов2_4.ЗаполнитьРеквизитыВзависимостиОтСвойств(
				ДанныеСтроки, ВспомогательныеРеквизиты, ПараметрыРеквизитовОбъекта);
				
		ОбщегоНазначенияУТКлиентСервер.ОчиститьНеиспользуемыеРеквизиты(ДанныеСтроки, ПараметрыРеквизитовОбъекта);
				
		Документы.ВводОстатковВнеоборотныхАктивов2_4.ЗаполнитьЗначенияПоУмолчанию(ДанныеСтроки, Объект);
		
	КонецЦикла; 

КонецПроцедуры

&НаКлиенте
Процедура ПродолжитьВыполнениеКомандыЛокализации(ИмяКоманды, ПараметрыОповещения) Экспорт
	
	Если ПараметрыОповещения.ТребуетсяВызовСервера Тогда
		ПриВыполненииКомандыЗавершениеНаСервере(ИмяКоманды, ПараметрыОповещения.ПараметрыОбработки);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПриВыполненииКомандыЗавершениеНаСервере(Знач ИмяКоманды, Знач ДополнительныеПараметры)
	
	ВводОстатковВнеоборотныхАктивовЛокализация.ФормаНематериальныеАктивы_ПриВыполненииКоманды(ИмяКоманды, ЭтотОбъект);
	
КонецПроцедуры

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

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