В таблице получить нужную строку

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Как получить в таблице нужную строку со статусом "placed" через переменную ID_Article если в таблице несколько строк с одинаковым ID_Article но разные статусы (placed, baned, again_online).


71402



Вот так пробую но это не работает:

"{-Variable.ID_Article-}"&&"placed"


71401
 

deukech

Client
Регистрация
11.09.2014
Сообщения
129
Благодарностей
59
Баллы
28

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Брать строку, все значения или только одно класть в переменну и проверять. Если соотвествует нужному значение идем дальше, если нет, берем новую строку. и проверяем.
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
Если у тебя всегда placed этот параметр в столбце М. Можно так попробовать
1611857207740.png
Но перед этим, сделать переменную строки, по умолчанию в этой переменной ноль, потом обработка переменных плюс один, и берешь первую строку, сверяешь логикой, а после куда надо, или на счетчик плюс один или куда там.
Поиск по таблице
C#:
// берем из переменной текст, который надо искать
var textContains = project.Variables["key"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["Таблица"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
for(int i=0; i < sourceTable.RowCount; i++)
{
// читаем строку из таблицы (это будет массив ячеек)
var cells = sourceTable.GetRow(i).ToArray();
// пройдем в цикле по всем ячейкам
for (int j=0; j < cells.Length; j++)
{
// проверяем содержание текста в ячейке, если есть совпадение возвращаем "yes"
if (cells[j].Contains(textContains))
return i;
}
}
}
// если ничего не нашли возвращаем "no"
return "no";

https://zennolab.com/discussion/threads/poisk-nomera-stroki-v-tablice-po-peremennoj.34339/
столбец поиск

// берем из переменной текст, который надо искать
var textContains = project.Variables["Data"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["Таблица"];
// ищем в каждой строчке в таблице
    for(int i=0; i < sourceTable.RowCount; i++)
    {
        // читаем строку из таблицы (это будет массив ячеек)
        var cells = sourceTable.GetRow(i).ToArray();
        // пройдем в цикле по всем ячейкам
        for (int j=0; j < cells.Length; j++)
        {
            // проверяем содержание текста в ячейке, если есть совпадение возвращаем
            // номер ячейки
            if (cells[j].Contains(textContains))
            {
            project.Variables["Columns"].Value = Convert.ToString(i);
                return j;
            }
        }
    }
// если ничего не нашли возвращаем "no"
    project.Variables["Columns"].Value = "no";
return "no";
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 470
Благодарностей
8 691
Баллы
113
Вот так пробую но это не работает:

"{-Variable.ID_Article-}"&&"placed"
Попробуйте так: {-Variable.ID_Article-};.*;placed;
Но не по критерию "Содержит текст", а "Удовлетворяющее регулярному выражению"
(разделитель ";" в регулярке замените на свой, который у вас используется)
 
  • Спасибо
Реакции: Lextor

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)