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