diff --git a/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl index 6aafef613..d4222d6ef 100644 --- a/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl +++ b/src/cf/DataProcessors/узПросмотрИсторииХранилища/Ext/ObjectModule.bsl @@ -194,7 +194,7 @@ Конецесли; Конецесли; - СтрокаРодителя = ПолучитьСтрокуРодителя(СтрокамТЗHistory.PARENTID); + СтрокаРодителя = ПолучитьСтрокуРодителя(СтрокамТЗHistory); Если ЗначениеЗаполнено(СтрокаРодителя) Тогда ПолучитьПолноеИмяМетаданных(ПолноеИмяМетаданных,СтрокаРодителя) Конецесли; @@ -202,9 +202,16 @@ Возврат ПолноеИмяМетаданных; КонецФункции -Функция ПолучитьСтрокуРодителя(РодительOBJID) +Функция ПолучитьСтрокуРодителя(СтрокамТЗHistoryРебенок) Перем СтрокаРодителя; + РодительOBJID = СтрокамТЗHistoryРебенок.PARENTID; + РебенокVERNUM = СтрокамТЗHistoryРебенок.VERNUM; + + Если РодительOBJID = "00000000-0000-0000-0000-000000000000" Тогда + Возврат СтрокаРодителя; + Конецесли; + ПараметрыОтбора=Новый Структура(); ПараметрыОтбора.Вставить("OBJID",РодительOBJID); НайденныеСтроки = мТЗHistory.НайтиСтроки(ПараметрыОтбора); @@ -215,13 +222,19 @@ ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда МаксVERNUM = 0; Для каждого СтрокамТЗHistory из НайденныеСтроки цикл + Если СтрокамТЗHistory.VERNUM > РебенокVERNUM Тогда + Прервать; + Конецесли; Если МаксVERNUM < СтрокамТЗHistory.VERNUM Тогда МаксVERNUM = СтрокамТЗHistory.VERNUM; СтрокаРодителя = СтрокамТЗHistory; Конецесли; Конеццикла; + Если НЕ ЗначениеЗаполнено(СтрокаРодителя) Тогда + ТекстОшибки = "Ошибка! не удалось найти строку родителя"; + Конецесли; Иначе - ТекстОшибки = "Ошибка! не удалось найти строку родителя"; + ТекстОшибки = "Ошибка! не удалось найти строку родителя"; Конецесли; Если ЗначениеЗаполнено(ТекстОшибки) Тогда