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