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