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

Сравнение значений в таблице значений

Автор АндрейМСХ, 19 дек 2019, 12:43

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

АндрейМСХ

Друзья, подскажите пожалуйста. Есть две таблицы значений.
ТЗ1
Параметр1 Параметр2 Значение
Задача1   ТекГод     Выполнена
Задача1   ПредГод    Выполнена
Задача2   ТекГод     Не выполнена
..................................
ТЗ2
Параметр1 Параметр2  Код
Задача1   ТекГод     1
Задача1   ПредГод    2
Задача2   ТекГод     3
..................................
Нужно сравнить строки этих таблиц, и при условии если Параметр1 ТЗ1 = Параметр1 ТЗ2 И Параметр2 ТЗ1 = Параметр 2 ТЗ2  сообщить Значение и Код.

wise

(0) перебирайте строки ТЗ1 и в цикле делайте поиск строк ТЗ2 по параметрам текущей строки ТЗ1.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

АндрейМСХ

Цитата: wise от 19 дек 2019, 13:20
(0) перебирайте строки ТЗ1 и в цикле делайте поиск строк ТЗ2 по параметрам текущей строки ТЗ1.
Пишу так
Для Каждого СтрокаТЗ1 из ТЗ1 Цикл
    Отбор = Новый Структура;
    Отбор.Вставить("Параметр1",ТЗ2.Параметр1);
    Отбор.Вставить("Параметр2",ТЗ2.Параметр1);
    МассивСтрок = ТЗ2.Найти(Отбор);
    Для Каждого Строка из МассивСтрок Цикл
        Сообщить(Строка.Значение);
     КонецЦикла;
КонецЦикла;

Где ошибки?

LexaK

попробуйте так

лкОтбор = Новый Структура("Параметр1,Параметр2");
Для Каждого СтрокаТЗ1 из ТЗ1 Цикл
ЗаполнитьЗначенияСвойств(лкОтбор, СтрокаТЗ1);
МассивСтрок = ТЗ2.НайтиСтроки(лкОтбор);
    Для Каждого СтрокаТЗ2 из МассивСтрок Цикл
        Сообщить("ТЗ1; "
+ СтрокаТЗ1.Параметр1 + ", "
+ СтрокаТЗ1.Параметр2 + ", "
+ СтрокаТЗ1.Значение + ", Значение ТЗ2: "
+ Строка.Значение);
     КонецЦикла;
КонецЦикла;
ответ Понравился? (в смысле пригодился?)

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск