Принятие к учету НМА / Форма документа / Модуль формы

файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура ОбработкаНавигационнойСсылки(НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	Если НавигационнаяСсылкаФорматированнойСтроки = "УстановкаПорядкаУчетаНУ" Тогда
		Модифицированность = Истина;
		СтандартнаяОбработка = Ложь;
		Объект.ПорядокУчетаНУ = РекомендуемыйПорядокУчетаНУ;
		НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, "ПорядокУчетаНУ");
	КонецЕсли;
КонецПроцедуры

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

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

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

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

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

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

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

#Область СтраницаОсновное

&НаКлиенте
Процедура ДатаПриИзменении(Элемент)

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

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

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

&НаКлиенте
Процедура ПодразделениеПриИзменении(Элемент)

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

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

&НаКлиенте
Процедура НематериальныйАктивПриИзменении(Элемент)
	
	ЗаполнитьПредварительнуюСтоимость(Ложь);
	
КонецПроцедуры

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

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

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

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

#Область СтраницаПараметрыУчета

&НаКлиенте
Процедура СрокИспользованияБУПриИзменении(Элемент)
	
	ПриИзмененииСрокаИспользования("СрокИспользованияБУ", Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура СрокИспользованияУУПриИзменении(Элемент)
	
	ПриИзмененииСрокаИспользования("СрокИспользованияУУ", Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура ПорядокУчетаБУПриИзменении(Элемент)
	
	ПорядокУчетаБУПриИзмененииНаСервере();
	
КонецПроцедуры

&НаКлиенте
Процедура МетодНачисленияАмортизацииБУПриИзменении(Элемент)

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

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

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

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

#Область СтраницаОтражениеРасходов

&НаКлиенте
Процедура СтатьяРасходовБУПриИзменении(Элемент)

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

&НаКлиенте
Процедура СтатьяРасходовБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);

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

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

&НаКлиенте
Процедура АналитикаРасходовБУАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);

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

&НаКлиенте
Процедура АналитикаРасходовБУОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);

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

&НаКлиенте
Процедура АналитикаРасходовБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);

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

&НаКлиенте
Процедура СтатьяРасходовУУПриИзменении(Элемент)
	
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
	
	Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
		Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
	КонецЕсли;
	
	НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,СтатьяРасходовУУ");
	
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовУУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовУУПриИзменении(Элемент)

	Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
		Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
		НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ");
	КонецЕсли;

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

&НаКлиенте
Процедура АналитикаРасходовУУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовУУАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовУУОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
	
КонецПроцедуры

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

&НаКлиенте
Процедура СпособОтраженияРасходовУУПриИзменении(Элемент)

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

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

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

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

	НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,НаправлениеДеятельностиБУ");

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

&НаКлиенте
Процедура ПодразделениеУУПриИзменении(Элемент)
	
	Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
		Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
	КонецЕсли;

	НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,ПодразделениеУУ");

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

&НаКлиенте
Процедура НаправлениеДеятельностиУУПриИзменении(Элемент)
	
	Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
		Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
	КонецЕсли;

	НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,НаправлениеДеятельностиУУ");
	
КонецПроцедуры

&НаКлиенте
Процедура ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУПриИзменении(Элемент)
	
	Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
		Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
	КонецЕсли;

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

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

	НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ");

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

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

#Область Прочее

&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент)

	ПринятиеКУчетуНМАКлиентЛокализация.ПриИзмененииРеквизита(Элемент, ЭтотОбъект);

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

&НаКлиенте
Процедура Подключаемый_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ПринятиеКУчетуНМАКлиентЛокализация.НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	ПринятиеКУчетуНМАКлиентЛокализация.АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	
	ПринятиеКУчетуНМАКлиентЛокализация.ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка, ЭтотОбъект);
	
КонецПроцедуры

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

	РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);

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

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

	РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
				ПараметрыПеретаскивания, СтандартнаяОбработка);

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

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

	РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
				ПараметрыПеретаскивания, СтандартнаяОбработка);

КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

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

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

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

&НаКлиенте
Процедура ЗаполнитьПервоначальнуюСтоимость(Команда)
	
	ОчиститьСообщения();
	
	ЗаполнитьПредварительнуюСтоимость(Истина);
	
КонецПроцедуры

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

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

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

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

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

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

&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
	ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры

// СтандартныеПодсистемы.Свойства

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

// Конец СтандартныеПодсистемы.Свойства

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

	ПринятиеКУчетуНМАКлиентЛокализация.ПриВыполненииКоманды(Команда, ЭтотОбъект);

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

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

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

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



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

	РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);

КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

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

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

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

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

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

	ПринятиеКУчетуНМАЛокализация.ПриИзмененииРеквизита(ИмяЭлемента, ЭтотОбъект);

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

&НаСервере
Процедура ПриВыполненииКомандыЗавершениеНаСервере(Знач ИмяКоманды, Знач ДополнительныеПараметры)

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

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

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

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

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

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

	СтруктураИзмененныхРеквизитов = Новый Структура(ИзмененныеРеквизиты);
	
	Если ТребуетсяВызовСервераДляНастройкиЭлементовФормы(СтруктураИзмененныхРеквизитов) Тогда
		НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты)
	Иначе
		НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, ИзмененныеРеквизиты);
	КонецЕсли;

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

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

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

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

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

	Если СтруктураИзмененныхРеквизитов.Свойство("ВидОбъектаУчета") 
		ИЛИ ОбновитьВсе Тогда
		
		Если Объект.ВидОбъектаУчета = ПредопределенноеЗначение("Перечисление.ВидыОбъектовУчетаНМА.НематериальныйАктив") Тогда
			
			Элементы.НематериальныйАктив.Заголовок = НСтр("ru = 'Нематериальный актив'");
			
			Элементы.МетодНачисленияАмортизацииУУ.Заголовок = НСтр("ru = 'Способ начисления амортизации'");
			Элементы.ПорядокУчетаУУ.Заголовок = НСтр("ru = 'Порядок учета'");
			Элементы.СрокИспользованияУУ.Заголовок = НСтр("ru = 'Срок использования'");
			
			ПорядокНачислятьАмортизациюПредставление = НСтр("ru = 'Начислять амортизацию'");
			ПорядокНеНачислятьАмортизациюПредставление = НСтр("ru = 'Не начислять амортизацию'");

		Иначе
			
			Элементы.НематериальныйАктив.Заголовок = НСтр("ru = 'НИОКР'");
			
			Элементы.МетодНачисленияАмортизацииУУ.Заголовок = НСтр("ru = 'Способ списания расходов'");
			Элементы.ПорядокУчетаУУ.Заголовок = НСтр("ru = 'Порядок списания'");
			Элементы.СрокИспользованияУУ.Заголовок = НСтр("ru = 'Срок списания'");
			
			ПорядокНачислятьАмортизациюПредставление = НСтр("ru = 'Списание расходов'");
			ПорядокНеНачислятьАмортизациюПредставление = НСтр("ru = 'Не списывать расходы'");

		КонецЕсли;

		ВнеоборотныеАктивыКлиентСервер.УстановитьПредставлениеЗначенияСпискаВыбора(
			Элементы.ПорядокУчетаУУ.СписокВыбора,
			ПредопределенноеЗначение("Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию"),
			ПорядокНачислятьАмортизациюПредставление);
			
		ВнеоборотныеАктивыКлиентСервер.УстановитьПредставлениеЗначенияСпискаВыбора(
			Элементы.ПорядокУчетаУУ.СписокВыбора,
			ПредопределенноеЗначение("Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеНачислятьАмортизацию"),
			ПорядокНеНачислятьАмортизациюПредставление);

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

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

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

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

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

	СтруктураИзмененныхРеквизитов = Новый Структура(ИзмененныеРеквизиты);
	
	ОбновитьВсе = СтруктураИзмененныхРеквизитов.Количество() = 0;

	ДатаПараметров = КонецМесяца(?(Объект.Дата <> '000101010000', Объект.Дата, ТекущаяДатаСеанса()));

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

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

		ВнеоборотныеАктивы.УстановитьПараметрыВыбораСтатьиПоПорядкуУчета(
			Элементы.СтатьяРасходовУУ.ПараметрыВыбора,
			ЗначенияПараметровВыбора);
		
	КонецЕсли;

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

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

КонецФункции

&НаКлиентеНаСервереБезКонтекста
Процедура ПриИзмененииРеквизитов(Форма, СтруктураИзмененныхРеквизитов)

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

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

&НаСервере
Процедура ЗаполнитьИнформациюВПодвале()

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

	Если ЗаголовокНадписи.Количество() <> 0 Тогда
		Элементы.Информация.Заголовок = Новый ФорматированнаяСтрока(ЗаголовокНадписи);
		Элементы.КартинкаИнформация.Видимость = Истина;
		Элементы.Информация.Видимость = Истина;
	Иначе
		Элементы.КартинкаИнформация.Видимость = Ложь;
		Элементы.Информация.Видимость = Ложь;
	КонецЕсли; 
	
КонецПроцедуры

&НаСервере
Функция ПредварительнаяСтоимостьОтличаетсяОтФактической()

	Если НЕ ЗначениеЗаполнено(Объект.Ссылка) 
		ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуНМАпоИнвентаризации Тогда
		Возврат Ложь;
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	СтоимостьНМА.НематериальныйАктив КАК НематериальныйАктив
	|ИЗ
	|	РегистрНакопления.СтоимостьНМА КАК СтоимостьНМА
	|ГДЕ
	|	СтоимостьНМА.Регистратор = &Ссылка
	|	И СтоимостьНМА.РасчетСтоимости
	|	И (СтоимостьНМА.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход))
	|
	|СГРУППИРОВАТЬ ПО
	|	СтоимостьНМА.НематериальныйАктив
	|
	|ИМЕЮЩИЕ
	|	(&ОтражатьВБУ
	|			И &ПервоначальнаяСтоимостьБУ <> СУММА(СтоимостьНМА.СтоимостьРегл + СтоимостьНМА.СтоимостьЦФ)
	|			И &ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
	|		ИЛИ &ОтражатьВУпрУчете
	|			И &ПервоначальнаяСтоимостьУУ <> СУММА(СтоимостьНМА.Стоимость))
	|			И &ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
	|";
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
	Запрос.УстановитьПараметр("НематериальныйАктив", Объект.НематериальныйАктив);
	Запрос.УстановитьПараметр("ПервоначальнаяСтоимостьБУ", Объект.ПервоначальнаяСтоимостьБУ);
	Запрос.УстановитьПараметр("ПервоначальнаяСтоимостьУУ", Объект.ПервоначальнаяСтоимостьУУ);
	Запрос.УстановитьПараметр("ОтражатьВБУ", Объект.ОтражатьВБУ);
	Запрос.УстановитьПараметр("ОтражатьВУпрУчете", Объект.ОтражатьВУпрУчете);
	Запрос.УстановитьПараметр("ПорядокУчетаБУ", Объект.ПорядокУчетаБУ);
	Запрос.УстановитьПараметр("ПорядокУчетаУУ", Объект.ПорядокУчетаУУ);
	
	Результат = Запрос.Выполнить();
	
	Возврат НЕ Результат.Пустой();

КонецФункции

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

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

&НаКлиентеНаСервереБезКонтекста
Процедура ЗаполнитьЗначенияРеквизитовДоИзменения(Форма)

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

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

&НаСервере
Процедура ВариантОтраженияВУчетеПриИзмененииНаСервере()

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

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

&НаСервере
Процедура ПервоначальнаяСтоимостьБУПриИзмененииНаСервере()

	ЗаполнитьЗначенияРеквизитовДоИзменения(ЭтотОбъект);
	ЗаполнитьИнформациюВПодвале();

	НастроитьЗависимыеЭлементыФормыНаСервере("ПервоначальнаяСтоимостьБУ");
		
КонецПроцедуры

&НаСервере
Процедура ПервоначальнаяСтоимостьУУПриИзмененииНаСервере()

	ЗаполнитьЗначенияРеквизитовДоИзменения(ЭтотОбъект);
	ЗаполнитьИнформациюВПодвале();

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

&НаСервере
Процедура ВидОбъектаУчетаПриИзмененииНаСервере(ИзмененныеРеквизиты)
	
	ЗаполнитьСпособыНачисленияАмортизации(ЭтотОбъект);
		
	Если Объект.ВидОбъектаУчета = ПредопределенноеЗначение("Перечисление.ВидыОбъектовУчетаНМА.РасходыНаНИОКР") Тогда
		Если Объект.МетодНачисленияАмортизацииУУ = ПредопределенноеЗначение("Перечисление.СпособыНачисленияАмортизацииНМА.УменьшаемогоОстатка") Тогда
			Объект.МетодНачисленияАмортизацииУУ = Неопределено;
			ИзмененныеРеквизиты = ИзмененныеРеквизиты + ",МетодНачисленияАмортизацииУУ";
		КонецЕсли;
		Если Объект.МетодНачисленияАмортизацииБУ = ПредопределенноеЗначение("Перечисление.СпособыНачисленияАмортизацииНМА.УменьшаемогоОстатка") Тогда
			Объект.МетодНачисленияАмортизацииБУ = Неопределено;
			ИзмененныеРеквизиты = ИзмененныеРеквизиты + ",МетодНачисленияАмортизацииБУ";
		КонецЕсли;
	КонецЕсли;
	
	Если Объект.ВидОбъектаУчета = Перечисления.ВидыОбъектовУчетаНМА.РасходыНаНИОКР Тогда
		ВидВнеоборотногоАктива = Перечисления.ВидыВнеоборотныхАктивов.НИОКР;
	Иначе
		ВидВнеоборотногоАктива = Перечисления.ВидыВнеоборотныхАктивов.НМА;
	КонецЕсли;
	Объект.ГруппаФинансовогоУчета = Справочники.ГруппыФинансовогоУчетаВнеоборотныхАктивов.ЗначениеПоУмолчанию(ВидВнеоборотногоАктива);
	
	НастроитьПараметрыВыбораГФУ();
	
КонецПроцедуры

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

&НаСервере
Процедура ИнициализироватьСлужебныеПараметрыФормы()

	НовыеСлужебныеПараметрыФормы = Новый Структура;
	НовыеСлужебныеПараметрыФормы.Вставить("ЕстьУчетСебестоимости", Ложь);
	
	НовыеСлужебныеПараметрыФормы.Вставить(
		"ИспользоватьУчетПоНаправлениямДеятельности", 
		ПолучитьФункциональнуюОпцию("ИспользоватьУчетВнеоборотныхАктивовПоНаправлениямДеятельности"));
	
	СлужебныеПараметрыФормы = Новый ФиксированнаяСтруктура(НовыеСлужебныеПараметрыФормы);

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

// СтандартныеПодсистемы.Свойства 

&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()

	УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);

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

&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

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

// Конец СтандартныеПодсистемы.Свойства

&НаКлиенте
Процедура ПриОкончанииИзмененияРеквизитаЛокализации(ИмяЭлемента, ПараметрыОповещения) Экспорт
	
	Перем ПараметрыДействия;

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

	Если ПараметрыОповещения.ПараметрыОбработки.Свойство("Выполнить_ПриИзмененииСрокаИспользования", ПараметрыДействия) Тогда
		ПриИзмененииСрокаИспользования(ПараметрыДействия.ИмяРеквизита, ПараметрыДействия.ОбновитьЕслиСовпадают);
	КонецЕсли;

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

&НаКлиенте
Процедура ПродолжитьВыполнениеКомандыЛокализации(ИмяКоманды, ПараметрыОповещения) Экспорт

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

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

&НаСервере
Процедура ПорядокУчетаБУПриИзмененииНаСервере()

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

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

&НаКлиенте
Процедура ПриИзмененииСрокаИспользования(ИмяРеквизита, ОбновитьЕслиСовпадают)

	СписокРеквизитов = ВнеоборотныеАктивыКлиент.ПриИзмененииСрокаИспользования(
						Объект, ИмяРеквизита, СрокиИспользованияСовпадают И ОбновитьЕслиСовпадают);
	
	УстановитьСрокиИспользованияСовпадают(ЭтотОбъект);
	
	НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, СписокРеквизитов);		

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

&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСрокиИспользованияСовпадают(Форма)

	Форма.СрокиИспользованияСовпадают = 
		(НЕ Форма.Объект.ОтражатьВРеглУчете 
					ИЛИ НЕ Форма.СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо
					ИЛИ (Форма.Объект.СрокИспользованияБУ = Форма.Объект.СрокИспользованияНУ))
			И (НЕ Форма.Объект.ОтражатьВУпрУчете 
					ИЛИ (Форма.Объект.СрокИспользованияБУ = Форма.Объект.СрокИспользованияУУ));

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

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

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