1c8 поиск значения в Таблице значений

  • Автор темы Автор темы KiR
  • Дата начала Дата начала
K

KiR

Есть две таблицы значений ТЗ1 и ТЗ2.
Обхожу в цикле Для каждого СТЗ из ТЗ1 - получаю Код = СТЗ.Код
Далее мне нужно этот код найти в ТЗ2. Добиваюсь этого так - СтрокаТЗ = ТЗ2.Найти(Код,"КодЦБ");
Но дело в том, что строк с таким кодом может быть несколько, а мне почему-то возвращается только первый найденный.
Подскажите пожалуйста как правильнее организовать поиск. Задача такая - получить все строки из ТЗ2, если значения поля КодЦБ = Код
 
Есть две таблицы значений ТЗ1 и ТЗ2.
Обхожу в цикле Для каждого СТЗ из ТЗ1 - получаю Код = СТЗ.Код
Далее мне нужно этот код найти в ТЗ2. Добиваюсь этого так - СтрокаТЗ = ТЗ2.Найти(Код,"КодЦБ");
Но дело в том, что строк с таким кодом может быть несколько, а мне почему-то возвращается только первый найденный.
Подскажите пожалуйста как правильнее организовать поиск. Задача такая - получить все строки из ТЗ2, если значения поля КодЦБ = Код
А почему бы не удалить найденную строку с совпадением в ТЗ2 и продолжить поиск, если этот поиск оформить в процедуру и передать ТЗ2 по Значению, то и дополнит. ТаблицЗначений создавать не придется.
 
А я бы предварительно отсортировал ТЗ2 по полю код (методом ТЗ Сортировать(), не надо вспоминать метод пузырька) и после СтрокаТЗ = ТЗ2.Найти(Код,"КодЦБ"); перебирал бы цикле (Например: Пока КодЦБ = Код Цикл) строки до тех пор, пока код не изменится. К сожалению, седьмая платформа на самом деле ищет только первое вхождение...
 
Есть две таблицы значений ТЗ1 и ТЗ2.
Обхожу в цикле Для каждого СТЗ из ТЗ1 - получаю Код = СТЗ.Код
Далее мне нужно этот код найти в ТЗ2. Добиваюсь этого так - СтрокаТЗ = ТЗ2.Найти(Код,"КодЦБ");
Но дело в том, что строк с таким кодом может быть несколько, а мне почему-то возвращается только первый найденный.
Подскажите пожалуйста как правильнее организовать поиск. Задача такая - получить все строки из ТЗ2, если значения поля КодЦБ = Код
маленькое уточнение, если удалить строку то указатель текущей строки автоматически перемещается на следующую строку, поэтому если захочешь делать методом перебора вместо поиска, необходимо проверить строку сразу после удаления.
 
Упс, не внимательно читаю, платформа восьмая. А покажи код, где ты получаешь результат поиска.
 
Должно быть что-то типа:
Код:
Отбор = Новый Структура();
Отбор.Вставить("КодЦБ",Код);
Строки = тз.НайтиСтроки(Отбор);
Для ж=0 По Строки.Количество()-1 Цикл
// Строки[ж] - тут по очереди будут все строки
КонецЦикла;
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab