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