Имя: Пароль:
1C
1С v8
как сравнить строки в таблице
0 ZHABA
 
18.08.23
11:42
всем привет, мне нужно циклом пробежаться по таблице и сравнить строки между собой и поскольку сотрудники повторяются, выбрать ту у которой табельный номер больше. как это сделать не подскажите?
1 Donkey_hot
 
18.08.23
11:48
(0) Как вариант, подсунуть таблицу в качестве параметра в запрос и использовать агрегатную функцию МАКСИМУМ()
2 SleepyHead
 
18.08.23
11:49
(0) Отсортируй по сотрудникам и табельным номерам и работай с последними строками в пределах сотрудника. Ну, например, так: у тебя в таблице ТХ колонки "Сотрудник" и "ТабельныйНомер"

ТЗ.Сортировать("Сотрудник,ТабельныйНомер УБЫВ", Новый СравнениеЗначений);

ПредСтр=Неопределено;
Для Каждого Стр из ТЗ Цикл

    ЭтоПерваяСтрока = ?(ПредСтр=Неопределено, Истина, НЕ Стр.Сотрудник=ПредСтр.Сотрудник);
    Если ЭтоПерваяСтрока Тогда
        // в строке Стр сотрудник с максимальным табельным номером среди всех таких же сотрудников
    КонецЕсли;
    ПредСтр = Стр;
КонецЦикла;
3 Fish
 
18.08.23
11:54
(1) Т.е. из двух тёзок с разными табельными номерами повезёт тому, у кого таб.номер больше? Интересная задача.
4 Fish
 
18.08.23
11:55
+(3) Пост к (0)
5 Garykom
 
18.08.23
11:59
6 Garykom
 
18.08.23
11:59
(0) Подскажу.
Наймите программиста. За деньги.
Ну или бартер/натурой если согласится...
7 OldCondom
 
18.08.23
12:02
Запросом. МАКСИММУМ(ТабельныйНомер)