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