Ошибка тут, так как если заполнена СоответствияТабличнойЧастиДокумента (а в ней нет реквизитов ТабилчнаяЧасть и ПолеXML) то она загоняется обратно в ВсеСоответствияТабличныхЧастейДокументов без этих данных, а в эти реквизиты вписывается тупо зханчение текущей строки и текущего нового поля.
Код |
---|
Процедура НастроитьСоответствияРеквизитовТЧНаСервере(СтарыйДокумент, НовыйДокумент, СтараяТЧ, НоваяТЧ, СтароеПолеXML, НовоеПолеXML)
тзнВрем = ВсеСоответствияТабличныхЧастейДокументов.Скопировать();
тзнВрем2 = тзнВрем.СкопироватьКолонки();
ВсеСоответствияТабличныхЧастейДокументов.Очистить();
Для каждого ТекСтрока из тзнВрем Цикл
Если ТекСтрока.Документ <> СтарыйДокумент Тогда
НовСтрока = ВсеСоответствияТабличныхЧастейДокументов.Добавить();
ЗаполнитьЗначенияСвойств(НовСтрока, ТекСтрока);
Иначе
НовСтрока = тзнВрем2.Добавить();
ЗаполнитьЗначенияСвойств(НовСтрока, ТекСтрока);
КонецЕсли;
КонецЦикла;
тзнРеквизитовДокумента = ?(СоответствияТабличнойЧастиДокумента.Количество() >0, СоответствияТабличнойЧастиДокумента, тзнВрем2);
Для каждого ТекСтрока из тзнРеквизитовДокумента Цикл
НовСтрока = ВсеСоответствияТабличныхЧастейДокументов.Добавить();
ЗаполнитьЗначенияСвойств(НовСтрока, ТекСтрока);
НовСтрока.Документ = СтарыйДокумент;
НовСтрока.ТабличнаяЧасть = НоваяТЧ;
НовСтрока.ПолеXML = НовоеПолеXML;
КонецЦикла;
ЗаполнениеТаблицыРеквизитовТабличнойЧастиДокументов(НовыйДокумент, НоваяТЧ);
КонецПроцедуры
|