Имя: Пароль:
1C
1С v8
Как в загруженной таблице значений удалить дубль и оставить одно значение
,
0 ZHABA
 
16.08.23
15:52
Народ такая проблема. Имеется загруженная таблица значений , нужно удалить повторение

Контрагент1
Контрагент2
Контрагент2
Контрагент3
Контрагент1
Контрагент4
..............

Как правильно обойти её циклом, чтобы сравнить строки и удалить одинаковые, то есть привеси к виду:
Контрагент1
Контрагент2
Контрагент3
Контрагент4
Суть, чтобы не было одинаковых строк с такой таблице значений.
1 Волшебник
 
16.08.23
15:53
Цикл не нужен. Используйте метод Свернуть()
2 ZHABA
 
16.08.23
15:58
3 Волшебник
 
16.08.23
15:59
(2) Вы не молчите. Пишите, что не получается.
4 Timon1405
 
16.08.23
16:00
август, время пересдач в институтах. убейте тему, ценность её для форума околонулевая.
5 Волшебник
 
16.08.23
16:02
(4) Если долго глядишь в бездну, то бездна начнёт всматриваться в тебя.
6 ZHABA
 
16.08.23
16:04
(1) хорошо , а если рядом еще одна колонка где есть значение уволен или работает
например:
Вася Пупкин      Работает
Коля Иванов      Уволен
Женя Колесников  Работает
Коля Иванов      Работает

как оставить только   "Коля Иванов Работает"
а "Коля Иванов уволен чтобы не выводилось"
ну и остальные поля чтобы тоже выводились
7 unenu
 
16.08.23
16:06
(6) тв в вт запроса - любые условия городим и мозг не парить извращениями.
8 Волшебник
 
16.08.23
16:12
(6) Почему "Работает" важнее, чем "Уволен"?
9 ZHABA
 
16.08.23
16:16
Если одного и того же сотрудника уволили и приняли , то оставляем со статусом  "Работает", если сотрудника уволили и не приняли,то остается со статусом "Уволен" (8)
10 Волшебник
 
16.08.23
16:17
(9) Об этом ничего не было сказано вначале. Это Вы уже на ходу выдумываете.
11 ZHABA
 
16.08.23
16:19
ну это главное условие , я просто случайно ENTER нажал когда сообщение в теме писал , поэтому свернуть тут не поможет. (10)
12 Волшебник
 
16.08.23
16:27
(11) Осторожнее с клавиатурой.
13 yurikmellon2
 
16.08.23
16:29
(0) я вот так делал. Я, конечно, понимаю, что цикл в цикле не комильфо, но в ТЧ Участники максимум могло быть 50 строк, так что код отрабатывает быстро
        Для Каждого Строка из Объект.Участники цикл
            Отбор = Новый Структура();
            Отбор.Вставить("Контрагент", Строка.Контрагент);
            Строки = Объект.Участники.НайтиСтроки(Отбор);
            Если Строки.Количество() > 1 Тогда
                Сч = 0;
                Пока Сч<Строки.Количество()-1 Цикл
                    Объект.Участники.Удалить(Строки[Сч]);    
                    Сч = Сч+1;
                КонецЦикла;
            КонецЕсли;        
        КонецЦикла;
14 1CBaseV8
 
16.08.23
16:32
(0)(6) Засунуть ТЗ в запрос и сгруппировать по нужным полям, а для не нужных сделать Макс/Мин
15 Волшебник
 
16.08.23
16:40
(14) Макс/Мин со статусами не получится
16 1CBaseV8
 
16.08.23
16:50
(15) Почему?
17 AlexeyKh
 
16.08.23
16:56
еще вариант отсортировать ТЗ (для состояния если нужно Убыв добавить)
и один раз циклом пробежаться
перекидывая строчки с каждым новым сотрудником в результат
18 Волшебник
 
16.08.23
16:58
(16) Потому что "Уволен" может оказаться меньше "Работает", а автору нужен "Работает". Потом появится третий очень важный статус "Временно отсутствует", который должен быть между ними.
19 1CBaseV8
 
16.08.23
17:04
(18) 1. Сгруппировать ключевые поля получить максимальную дату и соединить с исходной ТЗ. В запросе делается элементарно, лучше чем циклами.
20 AlexeyKh
 
16.08.23
17:08
(18) так попробовать или Макс или Мин - взять что подойдет
21 Волшебник
 
16.08.23
17:11
(20) А потом не подойдёт ни то, ни другое.

Надо сразу делать ВЫБОР...КОНЕЦ
22 Злопчинский
 
16.08.23
21:49
(5) ницше
Ну и Олди
23 Garykom
 
гуру
16.08.23
22:11
(21) Надо в разные ВТ и затем их соединять
24 Fish
 
17.08.23
09:42
(9) А если сотрудника сначала приняли, а потом уволили?
25 Garykom
 
гуру
17.08.23
10:44
(24) Дык понятно что там еще даты есть, но ТС о них забыл
26 Garykom
 
гуру
17.08.23
10:45
(25)+ А потом еще и организации добавятся... и подразделения с совмещением...
27 AlvlSpb
 
17.08.23
13:25
(26) А еще полные тезки. Два Коли Иванова на одном предприятии вероятность значительно выше нуля )))
28 Garykom
 
гуру
17.08.23
13:30
(27) ну да ДР и табельный номер пропущены
29 cuberboy
 
17.08.23
13:35
(27) у нас такие были - там отиз первый месяц сильно прифигел пересчитывать (><)