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