Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 20:32

как оптимально сравнить две табличные части документа

Автор Tanya_Lo, 14 авг 2013, 12:57

0 Пользователей и 1 гость просматривают эту тему.

Tanya_Lo

Подскажи  - как правильно сравнить две табличные части документа?
Можно ли это сделать в запросе?
Есть в документе есть ТЧ1 и ТЧ2. поля - одинаковые.
Хочу узнать они идентичны или нет.....

MuI_I_Ika

Наверное нужно пробежаться по всем строкам и сравнить каждое поле.

А ТЗ1 = ТЗ2 не работает?

GRADUS

Цитата: MuI_I_Ika от 14 авг 2013, 13:20
Наверное нужно пробежаться по всем строкам и сравнить каждое поле.

А ТЗ1 = ТЗ2 не работает?

Будет работать, если структура одинаковая.

pablos1980

Можно так:

ТЗ1=Документ[ИмяТЧ].Выгрузить();
ТЗ2=Документ2[ИмяТЧ].Выгрузить();

ТЗ1.Колонки.Добавить("Вспом");
ТЗ2.Колонки.Добавить("Вспом");
ТЗ1.ЗаполнитьЗначения(1,"Вспом");
ТЗ2.ЗаполнитьЗначения(2,"Вспом");

Для Каждого СтрокаТЗ ИЗ ТЗ2 Цикл
НС=ТЗ1.Добавить();
ЗаполнитьЗначения(НС,СтрокаТЗ);
КонецЦикла;

ТЗ1.Свернуть("НомерСтроки,ИмяКолонки1,ИмяКолонки2","Вспом");
МассивСтрок = ТЗ1.НайтиСтроки(Новый Структура("Вспом",3));
Если МассивСтрок.Количество()<>ТЗ1.Количество() Тогда
Сообщить("есть расхождения. Ищи строки с Вспом = 1 ИЛИ Вспом = 2. Значение 1 - значит в ТЗ1 строка не сходится, 2 - в ТЗ2");
КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск