Проверки объекта на изменения



Функция ОбъектМодифицирован(Объект, ПроверятьТабличныеЧасти = Истина, ПроверятьСтандартные = Истина)



Ссылка = Объект.Ссылка;

Метаданное = Ссылка.Метаданные();



Для каждого Реквизит из Метаданное.Реквизиты Цикл

Если Объект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда

Возврат Истина;

КонецЕсли;

КонецЦикла;



Если ПроверятьСтандартные Тогда

Для каждого Реквизит из Метаданное.СтандартныеРеквизиты Цикл

Если Объект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда

Возврат Истина;

КонецЕсли;

КонецЦикла;

КонецЕсли;





Если ПроверятьТабличныеЧасти Тогда

Для каждого ТЧ из Метаданное.ТабличныеЧасти Цикл



Если Объект[ТЧ.Имя].Количество() <> Ссылка[ТЧ.Имя].Количество() Тогда

Возврат Истина;

КонецЕсли;



Для Индекс = 0 по Объект[ТЧ.Имя].Количество()-1 Цикл

ОбъектСтрокаТЧ = Объект[ТЧ.Имя][Индекс];

СсылкаСтрокаТЧ = Ссылка[ТЧ.Имя][Индекс];

Для каждого РеквизитТЧ из ТЧ.Реквизиты Цикл

Если ОбъектСтрокаТЧ[РеквизитТЧ.Имя] <> СсылкаСтрокаТЧ[РеквизитТЧ.Имя] Тогда

Возврат Истина;

КонецЕсли;

КонецЦикла;

КонецЦикла;



КонецЦикла;

КонецЕсли;



Возврат Ложь;



КонецФункции




✍️ @odin1C_rus