#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПриКопировании(ОбъектКопирования)
Если ЭтоГруппа Тогда
Возврат;
КонецЕсли;
ИнвентарныйНомер = "";
ИнициализироватьСправочник();
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если ЭтоГруппа Тогда
Возврат;
КонецЕсли;
НепроверяемыеРеквизиты = Новый Массив;
ПараметрыРеквизитовОбъекта = ВнеоборотныеАктивыКлиентСервер.ЗначенияСвойствЗависимыхРеквизитов_ОбъектыЭксплуатации(
ЭтотОбъект, ВспомогательныеРеквизиты());
ОбщегоНазначенияУТ.ОтключитьПроверкуЗаполненияРеквизитовОбъекта(ПараметрыРеквизитовОбъекта, НепроверяемыеРеквизиты);
ИспользоватьУправлениеРемонтами = ПолучитьФункциональнуюОпцию("ИспользоватьУправлениеРемонтами");
Если ИспользоватьУправлениеРемонтами Тогда
Если ТипОС = Перечисления.ТипыОС.ОбъектЭксплуатации
Или ТипОС = Перечисления.ТипыОС.Узел
ИЛИ ТипОС = Перечисления.ТипыОС.КапитальноеВложение Тогда
ПроверяемыеРеквизиты.Очистить();
ПроверяемыеРеквизиты.Добавить("Наименование");
ПроверяемыеРеквизиты.Добавить("Статус");
ПроверяемыеРеквизиты.Добавить("ДатаСведений");
КонецЕсли;
Иначе
НепроверяемыеРеквизиты.Добавить("ДрагоценныеМатериалы.Расположение");
Справочники.ДрагоценныеМатериалы.ПроверитьЗаполнениеДрагоценныхМатериалов(ЭтотОбъект, ДрагоценныеМатериалы, Отказ);
НепроверяемыеРеквизиты.Добавить("Класс");
НепроверяемыеРеквизиты.Добавить("Подкласс");
НепроверяемыеРеквизиты.Добавить("ПараметрыУчетаНаработок.ПоказательНаработки");
НепроверяемыеРеквизиты.Добавить("ПараметрыУчетаНаработок.НазначенныйРесурс");
НепроверяемыеРеквизиты.Добавить("ПараметрыУчетаНаработок.Источник");
Если Не ПолучитьФункциональнуюОпцию("УправлениеПредприятием") Тогда
НепроверяемыеРеквизиты.Добавить("РабочиеЦентры.РабочийЦентр");
КонецЕсли;
КонецЕсли;
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);
КонецПроцедуры
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
Если ЭтоГруппа Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ИнициализироватьДополнительныеСвойстваДляЗаписи();
Если ДополнительныеСвойства.ОбъектПоставленНаРедактирование Тогда
ДатаСведений = ТекущаяДатаСеанса();
КонецЕсли;
Если ДополнительныеСвойства.ОбновитьНаименованиеПолное Тогда
НаименованиеПолное = Наименование;
КонецЕсли;
ЗаполнитьИнвентарныйНомерУзлаКомпонентаАмортизации(Отказ);
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Возврат;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ИнициализироватьСправочник()
Статус = Перечисления.СтатусыОбъектовЭксплуатации.Редактируется;
ДатаСведений = ТекущаяДатаСеанса();
КонецПроцедуры
Процедура ИнициализироватьДополнительныеСвойстваДляЗаписи()
Если ДополнительныеСвойства.Свойство("ИнициализированыДляЗаписи") Тогда
Возврат;
КонецЕсли;
ДополнительныеСвойства.Вставить("ИспользоватьУправлениеРемонтами", ПолучитьФункциональнуюОпцию("ИспользоватьУправлениеРемонтами"));
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
ДополнительныеСвойства.Вставить("ОбъектПоставленНаРедактирование", Ложь);
ДополнительныеСвойства.Вставить("ОбновитьПодчиненияУзлов", Ложь);
ДополнительныеСвойства.Вставить("ОбновитьПринадлежностиУзлов", Ложь);
ДополнительныеСвойства.Вставить("ОбновитьНаименованиеПолное", ПустаяСтрока(НаименованиеПолное));
ДополнительныеСвойства.Вставить("МенеджерВременныхТаблиц", Новый МенеджерВременныхТаблиц);
ДополнительныеСвойства.Вставить("ИнициализированыДляЗаписи");
КонецПроцедуры
Функция ВспомогательныеРеквизиты()
ВспомогательныеРеквизиты = Новый Структура;
ВспомогательныеРеквизиты.Вставить("ИспользоватьРеглУчет", ПолучитьФункциональнуюОпцию("ИспользоватьРеглУчет"));
ВспомогательныеРеквизиты.Вставить("ИспользоватьУправлениеРемонтами", ПолучитьФункциональнуюОпцию("ИспользоватьУправлениеРемонтами"));
ВспомогательныеРеквизиты.Вставить("ИспользоватьПроизводство", ПолучитьФункциональнуюОпцию("ИспользоватьПроизводство"));
ВспомогательныеРеквизиты.Вставить("ИспользоватьУчетДрагоценныхМатериалов", Ложь);
ИспользуютсяПодклассы = Ложь;
ВспомогательныеРеквизиты.Вставить("ИспользуютсяПодклассы", ИспользуютсяПодклассы);
ОбъектыЭксплуатацииЛокализация.ДополнитьВспомогательныеРеквизиты(ВспомогательныеРеквизиты);
Возврат ВспомогательныеРеквизиты;
КонецФункции
Процедура ЗаполнитьИнвентарныйНомерУзлаКомпонентаАмортизации(Отказ)
Если НЕ Отказ
И НЕ ЭтоГруппа
И ЭтоНовый()
И (ТипОС = Перечисления.ТипыОС.Узел
ИЛИ ТипОС = Перечисления.ТипыОС.КомпонентАмортизации) Тогда
Если Не ЗначениеЗаполнено(Код) Тогда
УстановитьНовыйКод();
КонецЕсли;
ИнвентарныйНомер = Код;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли