Имя: Пароль:
1C
1С v8
Поиск дублей в ТЗ
0 ХочуСпец
 
18.05.12
14:46
Есть таблица

код1 Наимен1 шт 100
код1 Наимен2 шт 200
код1 Наимен1 шт 50
код2 Наимен3 шт 30
код2 Наимен3 кг 250
код2 Наимен2 м2 300

Из этой таблицы необходимо отобрать дубли по следующему критерию:
Если при одном и том же значении Код в двух и более позициях не совпадают значения хотя бы одного из полей "Наименование" или "ЕдИзм", то это дубли

В данном случае, должна получится таблица:

код1 Наимен1 шт 100
код1 Наимен2 шт 200
код2 Наимен3 шт 30
код2 Наимен3 кг 250
код2 Наимен2 м2 300
1 Адинэснег
 
18.05.12
14:48
НайтиСтроки()
2 ЧеловекДуши
 
18.05.12
14:48
код1 Наимен1 шт 50  

и

код1 Наимен1 шт 100

У тебя в итоге

код1 Наимен1 шт 100
...т.е. штуки не учлись и не сложились :)
А если они не нужны, то не проще ли вообще свернуть ТЗ :)
3 ХочуСпец
 
18.05.12
14:49
(1) а поподробнее
4 ХочуСпец
 
18.05.12
14:49
(2) сворачивать нельзя
5 Адинэснег
 
18.05.12
14:49
(3) СП
6 Fragster
 
гуру
18.05.12
14:50
запросом
7 Адинэснег
 
18.05.12
14:50
что за таблица? РС поди периодический?
8 Ненавижу 1С
 
гуру
18.05.12
14:50
а почему из строк

код1 Наимен1 шт 100
код1 Наимен1 шт 50

ты выбрал именно

код1 Наимен1 шт 100
9 ЧеловекДуши
 
18.05.12
14:50
В цикле ищешь построчно

шш1 = 1;
Пока шш1 <= ТЗ.Количество Цикл

ОтборСтрок = ТЗ.НайтиСтроки(Отбор);
Для Каждого СтрокаМассива Из ОтборСтрок Цикл
.... И вперед :)

КонецЦикла;
10 ЧеловекДуши
 
18.05.12
14:51
+ Ну собственно дубли удаляешь, оставляешь строку поиска :)
11 х86
 
18.05.12
14:52
(0)СГРУППИРОВАТЬ МАКСИМУМ
12 ХочуСпец
 
18.05.12
14:53
(7) да просто таблица
(8) мда, не учел
может тогда через Объеденить
13 Alex S D
 
18.05.12
14:55
в (6) правильный ответ
14 Lama12
 
18.05.12
14:55
(4) Почему сворачивать нельзя?
И почему в итоге:
код1 Наимен1 шт 100
а не
код1 Наимен1 шт 50 ?
15 ХочуСпец
 
18.05.12
15:11
немного откорректирую задачу с вашего позволения:

Есть таблица:

Код1 Наим1 шт 100
Код1 Наим1 шт 200
Код1 Наим1 шт 50

В этой таблице по тому же критерию дублей нет

А в таблице:

Код1 Наим1 шт 100
Код1 Наим2 шт 300
Код1 Наим1 шт 50

Уже будут дубли, причем все строки из данной таблицы:

Код1 Наим1 шт 100 дубль
Код1 Наим2 шт 300 дубль
Код1 Наим1 шт 50  дубль
16 Lama12
 
18.05.12
16:16
(15) Ну так это и есть свернуть по всем полям.
17 Buster007
 
18.05.12
16:40
(16) и что должно вернуться в этом примере
А в таблице:

Код1 Наим1 шт 100
Код1 Наим2 шт 300
Код1 Наим1 шт 50

Уже будут дубли, причем все строки из данной таблицы:

Код1 Наим1 шт 100 дубль
Код1 Наим2 шт 300 дубль
Код1 Наим1 шт 50  дубль

или ничего не должно вернуться?
18 EvgeniuXP
 
18.05.12
18:29
(15) хоть убей, не вижу дублей... у одной строки поменял 200 на 300 и образовались дубли.... где дубли-то????
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший