Имя: Пароль:
1C
 
Найти и удалить дубли из ТЗ
0 Tender
 
22.02.11
14:45
Не могу понять как лучше выполнить эту операцию. Именно удалить дублирующие строки, а не свернуть. Подскажите пжл
1 chelentano
 
22.02.11
14:47
(0) чем свернуть то не нравится?
2 ReaLg
 
гуру
22.02.11
14:48
Если дубли полные, т.е. значения всех колонок одинаковы - тогда не понимаю, чем свернуть по всем колонкам не устраивает. Если нет - то какое значение из нескольких различных оставить хочешь?
3 Tender
 
22.02.11
14:53
Просто есть ТЗ, у которой почему то продублировались некоторые строки. Разбираться времени нет, поэтому надо от этих дублей избавиться, а уже потом свертку сделать.
Значение в строке полностью идентичны
4 chelentano
 
22.02.11
14:55
(3) так, млин, чем "Свернуть" то не устраивает?
5 AlexNew
 
22.02.11
14:56
запрос сгруппировать ... имеющие количество() > 1.Выполнить().Выгрузить()
6 Axel2009
 
22.02.11
14:57
свернуть по каждой колонке, раз нет времени
7 Fragster
 
гуру
22.02.11
14:57
(5) зачем "имеющие количество()"? чем отличается от Свернуть?
8 Tender
 
22.02.11
14:58
(4) Блин. Потому что таблица такая! Долго объяснять сейчас, просто подскажите, есть ли возможность программно удалять дубли строк по каким либо значениям, не используя метод Свернуть()
9 Fragster
 
гуру
22.02.11
15:00
(5) есть. но Свернуть() - лучше.
10 Fragster
 
гуру
22.02.11
15:01
ааа, начинаем просыпаться - не "дубли строк", а "строки с повторяющимися значениями определенных колонок"
11 Fragster
 
гуру
22.02.11
15:01
Запрос, по нужным - сгруппировать, по остальным - Максимум()
12 acsent
 
22.02.11
15:01
(8) Есть, 500р
13 Fragster
 
гуру
22.02.11
15:02
или сортировать, и при обходе удалить
14 Axel2009
 
22.02.11
15:02
есть. Удалить у таблицы значений
15 anddro
 
22.02.11
15:03
Если на быструю руку (и очень хочется именно удалить, а не свернуть), то 1.Сортируй, 2."поднимайся" по строкам снизу вверх, если значения текущей
строки совпадают со значениями предыдущей - удаляй ее. Примерно так:

ТЗ.Сортировать("Параметр1, Праметр2");
Для Сч = 2 - ТЗ.Количество() По 0 Цикл
 Если ТЗ[-Сч].Параметр1 = ТЗ[1-Сч].Параметр1 И ТЗ[-Сч].Параметр2 = ТЗ[1-Сч].Параметр2 Тогда
    ТЗ.Удалить(-Сч);
 КонецЕсли;
КонецЦикла;
16 chelentano
 
22.02.11
15:04
(8) такая - это какая? не сворачивается?
17 Amiralnar
 
22.02.11
15:08
Есть такой метод - НайтиСтроки()
18 Tender
 
22.02.11
15:08
(16) ок, может и правда не раздупляю свертку, но по моему мне не подходит:

Иванов Иван | Зарплата | 20 000
Иванов Иван | Премия | 5 000
Иванов Иван | Доплата за выходные | 1000
Петров Петр | Зарплата | 17 000
Петров Петр | Зарплата | 17 000
Петров Петр | Премия | 4000
Петров Петр | Премия | 4000

Мне надо эту таблицу свернуть по начислениям, проссумируя суммы. Но если здесь ее использовать - суммы конечные получатся больше ожидаемых.
19 palpetrovich
 
22.02.11
15:11
(18)
ТЗ.Свернуть("Сотр,Бабло,Сумма",);
20 palpetrovich
 
22.02.11
15:12
+19  вернее так, С УЧЕТОМ "проссумируя суммы"
ТЗ.Свернуть("Сотр,Бабло,Сумма",);
ТЗ.Свернуть("Сотр,Бабло",Сумма");
21 Fragster
 
гуру
22.02.11
15:12
(18) с тебя пиво:

Таблица.Свернуть("Кол1, Кол2, Кол3");
Таблица.Свернуть("Кол1, Кол2", "Кол3");
22 Фокусник
 
22.02.11
15:12
(18) Свернуть("Сотрудник, Начисление, Сумма");
23 palpetrovich
 
22.02.11
15:14
+18,19 - а вообще - ошибка где-то выше. там где ТЗ получаешь
24 Tender
 
22.02.11
15:14
(21) выслал пиво на э-мэйл :) всем спасибо
25 chelentano
 
22.02.11
15:14
(18) а ты сверни и по сумме тоже, а не суммируй по ней, не?
26 palpetrovich
 
22.02.11
15:16
(21) к тебе пиво дошло? :)
27 Fragster
 
гуру
22.02.11
15:25
(26) неа :(
28 Mitriy
 
22.02.11
17:32
вот блин... все врут... не плюнуть не в кого...