Имя: Пароль:
1C
1С v8
Сравнение двух таблиц значения
,
0 StackOverflow
 
18.03.16
13:11
Есть две таблицы значений. Необходимо их сравнить и выявить недостающие позиции (строки).
Написал примерно такое, но не работает:
    
ТЗ1=ЗаявкаОбщая.Выгрузить();
ТЗ2=ОтветНаЗаявку.Выгрузить();

Для Каждого Стр Из ТЗ2 Цикл
ПараметрыОтбора = Новый Структура;    
ПараметрыОтбора.Вставить("Колонка2", Стр.Колонка2);

НайденныеСтроки = ТЗ1.НайтиСтроки(ПараметрыОтбора);

Если НайденныеСтроки = Неопределено  Тогда

Для Каждого Ссс из НайденныеСтроки Цикл
Сообщить(Строка(Ссс[2]) + " " + Строка(Ссс[6]));
КонецЦикла;

КонецЕсли;

КонецЦикла;
1 butterbean
 
18.03.16
13:13
используй запрос
2 StackOverflow
 
18.03.16
13:14
(1) Была мысля но я так понял надо создавать временную таблицу и указывать там параметры, а колонок 13 штук. Лень.
Хотя может есть какой нибудь способ как её туда импортировать?
3 ObjectRelation Model
 
18.03.16
13:17
НайтиСтроки возвращает массив, всегда
проверяй, что он не пуст
4 trad
 
18.03.16
13:20
(0) В первой тз добавляешь колонку ЧекСумм, заполняешь ее -1
Во второй тз добавляешь колонку ЧекСумм, заполняешь ее +1
Сливаешь в одну ТЗ сворачиваешь по всем полям кроме ЧекСумм, ЧекСумм суммируешь.
0 - отбрасывем
-1 - строки из первой ТЗ
+1 - строки из второй ТЗ
5 StackOverflow
 
18.03.16
13:36
(4) Сейчас попробую таким методом
6 StackOverflow
 
18.03.16
14:16
Пошёл таким методом, но почему то суммировать свёрнутые строки не хочет зараза.

ТЗ3=ТЗ1.Скопировать();
    ТЗ3.Колонки.Добавить("ИсточникСтроки");
    ТЗ3.ЗаполнитьЗначения(-1,"ИсточникСтроки");
    Для Каждого СтрокаТЗ2 из ТЗ2 Цикл
        СтрокаТЗ3=ТЗ3.Добавить();
        СтрокаТЗ3.ИсточникСтроки=1;
        Для каждого Колонка из ТЗ2.Колонки Цикл
            Если Колонка.Имя="Колонка2" Тогда                
                СтрокаТЗ3[Колонка.Имя]=-СтрокаТЗ2[Колонка.Имя];
            Иначе
                СтрокаТЗ3[Колонка.Имя]=СтрокаТЗ2[Колонка.Имя];
            КонецЕсли;            
        КонецЦикла;        
    КонецЦикла;
    ТЗ3.Свернуть("Колонка2","ИсточникСтроки");
7 mikecool
 
18.03.16
14:21
(0) зачем писать то, что не работает?
используй запрос
8 StackOverflow
 
18.03.16
14:22
(7) Ну может косяки какие в коде ))
9 Рэйв
 
18.03.16
14:24
(6)Попробуй

ТЗ3.Колонки.Добавить("ИсточникСтроки", Новый ОписаниеТипов("Число"));
10 samozvanec
 
18.03.16
14:25
(4) бокал вина этому господину
http://s00.yaplakal.com/pics/pics_original/0/5/3/6555350.jpg
11 Serginio1
 
18.03.16
14:26
12 StackOverflow
 
18.03.16
14:28
(11) Спасибо
13 StackOverflow
 
18.03.16
14:37
(9) Не помогло)