Объекты эксплуатации / Модуль объекта

файл

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ОбработчикиСобытий

Процедура ПриКопировании(ОбъектКопирования)
	
	Если ЭтоГруппа Тогда
		Возврат;
	КонецЕсли;
	
	ИнвентарныйНомер = "";
	
	ИнициализироватьСправочник();
	
КонецПроцедуры

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

Процедура ПередЗаписью(Отказ)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;

	ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
	
	Если ЭтоГруппа Тогда
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ИнициализироватьДополнительныеСвойстваДляЗаписи();
	
	Если ДополнительныеСвойства.ОбъектПоставленНаРедактирование Тогда
		
		ДатаСведений = ТекущаяДатаСеанса();
		
	КонецЕсли;
	
	Если ДополнительныеСвойства.ОбновитьНаименованиеПолное Тогда
		
		НаименованиеПолное = Наименование;
		
	КонецЕсли;
	
	//++ НЕ УТ
	ЗаполнитьИнвентарныйНомерУзлаКомпонентаАмортизации(Отказ);
	//-- НЕ УТ
	
КонецПроцедуры

Процедура ПриЗаписи(Отказ)
	
	
	Возврат; // Пустой обработчик в УТ и КА
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Процедура ИнициализироватьСправочник()
	
	Статус = Перечисления.СтатусыОбъектовЭксплуатации.Редактируется;
	ДатаСведений = ТекущаяДатаСеанса();
	
КонецПроцедуры

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

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

//++ НЕ УТ
Процедура ЗаполнитьИнвентарныйНомерУзлаКомпонентаАмортизации(Отказ)
	
	Если НЕ Отказ
		И НЕ ЭтоГруппа
		И ЭтоНовый()
		И (ТипОС = Перечисления.ТипыОС.Узел
			ИЛИ ТипОС = Перечисления.ТипыОС.КомпонентАмортизации) Тогда
		
		Если Не ЗначениеЗаполнено(Код) Тогда
			УстановитьНовыйКод();
		КонецЕсли;
		
		ИнвентарныйНомер = Код;
	
	КонецЕсли;
	
КонецПроцедуры
//-- НЕ УТ
	

#КонецОбласти

#КонецЕсли

Связанные материалы