#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПриЧтенииСозданииНаСервере();
КонецЕсли;
ПараметрыВыбораСтатейИАналитик = Документы.ПринятиеКУчетуНМА2_4.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
#Область СтандартныеПодсистемы
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
ДополнительныеПараметры.Вставить("ОтложеннаяИнициализация", Истина);
УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
ГиперссылкаФайлов = РаботаСФайлами.ГиперссылкаФайлов();
ГиперссылкаФайлов.Размещение = "КоманднаяПанель";
РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ГиперссылкаФайлов);
СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
#КонецОбласти
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПриЧтенииСозданииНаСервере();
ПараметрыВыбораСтатейИАналитик = Документы.ПринятиеКУчетуНМА2_4.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ПриЧтенииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
СобытияФорм.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПараметрыЗаписи.Вставить("КлючиДокументаОповещение", РаботаСЖурналамиДокументовКлиент.ПолучитьПараметрыКлючаПоДокументу(
Объект.Ссылка, Объект.Дата, Объект.ХозяйственнаяОперация));
Оповестить("Запись_ПринятиеКУчетуНМА2_4", ПараметрыЗаписи, Объект.Ссылка);
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналНМА();
МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтотОбъект, ПараметрыЗаписи);
ПринятиеКУчетуНМАКлиентЛокализация.ПослеЗаписи(Объект);
ОбщегоНазначенияУТКлиент.ВыполнитьДействияПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначенияКлиентСервер.КартинкаКомментария(Объект.Комментарий);
ЗаполнитьИнформациюВПодвале();
ДоходыИРасходыСервер.ПослеЗаписиНаСервере(ЭтотОбъект);
ПринятиеКУчетуНМАЛокализация.ПослеЗаписиНаСервере(ЭтотОбъект);
МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
СобытияФорм.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
СобытияФормКлиент.ПередЗаписью(ЭтотОбъект, Отказ, ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Запись_ПринятиеКУчетуНМА2_4"
И Источник <> Объект.Ссылка Тогда
ЗаполнитьИнформациюВПодвале();
КонецЕсли;
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
ОбновитьЭлементыДополнительныхРеквизитов();
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
СобытияФормКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаНавигационнойСсылки(НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "УстановкаПорядкаУчетаНУ" Тогда
Модифицированность = Истина;
СтандартнаяОбработка = Ложь;
Объект.ПорядокУчетаНУ = РекомендуемыйПорядокУчетаНУ;
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, "ПорядокУчетаНУ");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПередЗаписьюНаСервере(
ЭтотОбъект,
ТекущийОбъект,
ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура СтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
Если ЭтотОбъект.ПараметрыСвойств.Свойство(ТекущаяСтраница.Имя)
И Не ЭтотОбъект.ПараметрыСвойств.ВыполненаОтложеннаяИнициализация Тогда
СвойстваВыполнитьОтложеннуюИнициализацию();
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
#Область СтраницаОсновное
&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
ВнеоборотныеАктивыКлиент.УстановитьТекущееВремяДляПрошлойДаты(Объект.Дата);
НастроитьЗависимыеЭлементыФормыНаСервере(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ВариантОтраженияВУчетеПриИзменении(Элемент)
ВариантОтраженияВУчетеПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ВидОбъектаУчетаПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормыНаСервере("ВидОбъектаУчета");
КонецПроцедуры
&НаКлиенте
Процедура НематериальныйАктивПриИзменении(Элемент)
ЗаполнитьПредварительнуюСтоимость(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ПервоначальнаяСтоимостьБУПриИзменении(Элемент)
ПервоначальнаяСтоимостьБУПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПервоначальнаяСтоимостьУУПриИзменении(Элемент)
ПервоначальнаяСтоимостьУУПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ИнформацияОДокументеВДругомУчетеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "#СоздатьДокумент" Тогда
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Основание", Объект.Ссылка);
ОткрытьФорму("Документ.ПринятиеКУчетуНМА2_4.ФормаОбъекта", ПараметрыФормы);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СтраницаПараметрыУчета
&НаКлиенте
Процедура СрокИспользованияБУПриИзменении(Элемент)
ПриИзмененииСрокаИспользования("СрокИспользованияБУ", Истина);
КонецПроцедуры
&НаКлиенте
Процедура СрокИспользованияУУПриИзменении(Элемент)
ПриИзмененииСрокаИспользования("СрокИспользованияУУ", Истина);
КонецПроцедуры
&НаКлиенте
Процедура ПорядокУчетаБУПриИзменении(Элемент)
ПорядокУчетаБУПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура МетодНачисленияАмортизацииБУПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ПорядокУчетаУУПриИзменении(Элемент)
ПорядокУчетаУУПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура МетодНачисленияАмортизацииУУПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
#КонецОбласти
#Область СтраницаОтражениеРасходов
&НаКлиенте
Процедура СтатьяРасходовБУПриИзменении(Элемент)
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,СтатьяРасходовБУ");
КонецПроцедуры
&НаКлиенте
Процедура СтатьяРасходовБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СтатьяРасходовУУПриИзменении(Элемент)
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,СтатьяРасходовУУ");
КонецПроцедуры
&НаКлиенте
Процедура СтатьяРасходовУУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СпособОтраженияРасходовБУПриИзменении(Элемент)
ИзмененныеРеквизиты = "СпособОтраженияРасходовБУ,СтатьяРасходовБУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ";
ВнеоборотныеАктивыКлиентСервер.ЗаполнитьПоСпособуОтраженияРасходов(
Объект.СпособОтраженияРасходовБУ,
Объект.СтатьяРасходовБУ,
Объект.АналитикаРасходовБУ,
Объект.ПодразделениеБУ,
Объект.НаправлениеДеятельностиБУ,
Объект.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовБУ);
КонецЕсли;
НастроитьЗависимыеЭлементыФормы(ИзмененныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура СпособОтраженияРасходовУУПриИзменении(Элемент)
ВнеоборотныеАктивыКлиентСервер.ЗаполнитьПоСпособуОтраженияРасходов(
Объект.СпособОтраженияРасходовУУ,
Объект.СтатьяРасходовУУ,
Объект.АналитикаРасходовУУ,
Объект.ПодразделениеУУ,
Объект.НаправлениеДеятельностиУУ,
Объект.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,СтатьяРасходовУУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,ПодразделениеБУ");
КонецПроцедуры
&НаКлиенте
Процедура НаправлениеДеятельностиБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,НаправлениеДеятельностиБУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,ПодразделениеУУ");
КонецПроцедуры
&НаКлиенте
Процедура НаправлениеДеятельностиУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,НаправлениеДеятельностиУУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ");
КонецПроцедуры
#КонецОбласти
#Область Прочее
&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент)
ПринятиеКУчетуНМАКлиентЛокализация.ПриИзмененииРеквизита(Элемент, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПринятиеКУчетуНМАКлиентЛокализация.НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ПринятиеКУчетуНМАКлиентЛокализация.АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ПринятиеКУчетуНМАКлиентЛокализация.ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ЗаполнитьПервоначальнуюСтоимость(Команда)
ОчиститьСообщения();
ЗаполнитьПредварительнуюСтоимость(Истина);
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьДокумент(Команда)
ОбщегоНазначенияУТКлиент.Записать(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПровестиДокумент(Команда)
ОбщегоНазначенияУТКлиент.Провести(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПровестиИЗакрыть(Команда)
ОбщегоНазначенияУТКлиент.ПровестиИЗакрыть(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
#Область ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
ИнтеграцияС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 Тогда
ВариантРаспределения = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.СтатьяРасходовУУ, "ВариантРаспределенияРасходовУпр");
Если ВариантыРаспределенияРасходов.Найти(ВариантРаспределения) = Неопределено Тогда
Объект.СтатьяРасходовУУ = Неопределено;
Объект.АналитикаРасходовУУ = Неопределено;
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
ИзмененныеРеквизиты = ИзмененныеРеквизиты + ",СтатьяРасходовУУ,АналитикаРасходовУУ";
КонецЕсли;
КонецЕсли;
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииСрокаИспользования(ИмяРеквизита, ОбновитьЕслиСовпадают)
СписокРеквизитов = ВнеоборотныеАктивыКлиент.ПриИзмененииСрокаИспользования(
Объект, ИмяРеквизита, СрокиИспользованияСовпадают И ОбновитьЕслиСовпадают);
УстановитьСрокиИспользованияСовпадают(ЭтотОбъект);
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, СписокРеквизитов);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСрокиИспользованияСовпадают(Форма)
Форма.СрокиИспользованияСовпадают =
(НЕ Форма.Объект.ОтражатьВРеглУчете
ИЛИ НЕ Форма.СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо
ИЛИ (Форма.Объект.СрокИспользованияБУ = Форма.Объект.СрокИспользованияНУ))
И (НЕ Форма.Объект.ОтражатьВУпрУчете
ИЛИ (Форма.Объект.СрокИспользованияБУ = Форма.Объект.СрокИспользованияУУ));
КонецПроцедуры
#КонецОбласти