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