Имя: Пароль:
1C
1С v8
Работа с запросом, удаление дублирующихся строк
0 alexshape
 
17.08.17
08:48
Привет Всем. Тут начал конструировать запрос:
Только вот он выводит не то что я хочу от него. КАк мне его исправить что бы он выдам мне строки удалив дублирующиеся.
http://i92.fastpic.ru/big/2017/0817/c5/e9de298eb4643c116bee9e123ee37fc5.jpg

ВЫБРАТЬ РАЗЛИЧНЫЕ
    асЗаказНарядРаботы.Ссылка КАК Ссылка,
    асЗаказНарядРаботы.Работа,
    асЗаказНарядРаботы.Сумма КАК СуммаРабот
ПОМЕСТИТЬ т_Работы
ИЗ
    Документ.асЗаказНаряд.Работы КАК асЗаказНарядРаботы
ГДЕ
    асЗаказНарядРаботы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И асЗаказНарядРаботы.Ссылка.ВидСервисногоОбслуживания = &ВСО
    И асЗаказНарядРаботы.Ссылка.Проведен
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    асЗаказНарядЗапчасти.Ссылка КАК Ссылка,
    асЗаказНарядЗапчасти.Запчасть,
    асЗаказНарядЗапчасти.Сумма КАК СуммаЗапчастей
ПОМЕСТИТЬ т_Запчасти
ИЗ
    Документ.асЗаказНаряд.Запчасти КАК асЗаказНарядЗапчасти
ГДЕ
    асЗаказНарядЗапчасти.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И асЗаказНарядЗапчасти.Ссылка.ВидСервисногоОбслуживания = &ВСО
    И асЗаказНарядЗапчасти.Ссылка.Проведен
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    т_Работы.Ссылка КАК Ссылка,
    т_Работы.Работа,
    т_Работы.СуммаРабот,
    т_Запчасти.Запчасть,
    т_Запчасти.СуммаЗапчастей
ИЗ
    т_Работы КАК т_Работы
        ПОЛНОЕ СОЕДИНЕНИЕ т_Запчасти КАК т_Запчасти
        ПО т_Работы.Ссылка = т_Запчасти.Ссылка
ГДЕ
    т_Запчасти.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    Ссылка
АВТОУПОРЯДОЧИВАНИЕ
1 1dvd
 
17.08.17
08:52
Делай через ОБЪЕДИНИТЬ ВСЕ
А так он у тебя каждую работу с каждой запчастью соединяет
2 Митяйский
 
17.08.17
08:53
тут только ОБЪЕДИНИТЬ ВСЕ может подойти.
для левых/правых соединиений двух табличных частей нужно дополнительное ключевое поле, устанавливающее для каждой строки одной ТЧ конкретное соответствие в другой.
3 DrShad
 
17.08.17
08:55
(1), (2) +1
4 Курцвейл
 
17.08.17
08:55
Надо писать РАЗЛИЧНЫЕ в последнем запросе.
+ использовать ПОЛНОЕ соединение неправильно для данной задачи
5 Курцвейл
 
17.08.17
08:56
(1) (2) еще одни умники не знающие чем ОБЪЕДИНИТЬ отличается от ОБЪЕДИНИТЬ ВСЕ
6 Митяйский
 
17.08.17
08:58
(5)  твои РАЗЛИЧНЫЕ вообще погоды здесь не сделают, забей в консоль отчетов и посмотри, че получится
7 1dvd
 
17.08.17
08:59
(5) ещё один умник, который не понял что нужно автору. ВСЕ тут никакой роли не сыграет, ибо все строки и так будут уникальные
8 alexshape
 
17.08.17
08:59
(4) Не помогает
9 alexshape
 
17.08.17
09:00
10 Курцвейл
 
17.08.17
09:01
(8) у вас последние поле не дублирует строки.
Надо применить к нему агрегирующую функцию. Остальные поля СГРУППИРОВАТЬ
11 1dvd
 
17.08.17
09:02
(9) у тебя каждая запчасть относится к конкретной работе или работы отдельно, запчасти отдельно?
12 alexshape
 
17.08.17
09:04
(11) Верно,  работы отдельно, запчасти отдельно
13 alexshape
 
17.08.17
09:05
(11) Связь исключительно по ссылке
14 1dvd
 
17.08.17
09:05
(12) ну, и как ты их соединять собираешься, если На одну работу может идти две запчасти, а на другую ни одной?
15 1dvd
 
17.08.17
09:06
(14) тьфу, сторно
Соединяй по номеру строки
16 1dvd
 
17.08.17
09:09
* В Запрос (0) добавь номера строк
17 lodger
 
17.08.17
09:14
(15) плохому учишь. ну нафейхоа ему построчно несвязные данные, которые могут перемешиваться в хаотичном порядке?
нехай научится объединять запросы и работать с отдельными строками.
18 1dvd
 
17.08.17
09:15
(17) не нравится ему (9), что поделать
пусть делает как хочется, потом напорится
19 DrShad
 
17.08.17
09:18
по-хорошему в ТЧ запчастей должна быть привязка к работе
20 alexshape
 
17.08.17
09:20
(19) специфика такая что это разные вещи
21 1dvd
 
17.08.17
09:20
(20) получилось с номерами строк?
22 Dvoe4nik
 
17.08.17
09:20
(20) а как ты собираешься связать разные вещи? по каким признакам соотностить?
23 DrShad
 
17.08.17
09:21
(20) только не надо мне это рассказывать, ок
24 Dvoe4nik
 
17.08.17
09:22
(20)если т_Работы.Ссылка = т_Запчасти.Ссылка то делай прост левое/правое соединение
25 1dvd
 
17.08.17
09:24
(24) это ничего не даст. Только потерю данных
26 Serg_1960
 
17.08.17
09:31
Народ, не тупите.

Запрос, по сути своей, банальный - "Ссылка/Работа/Запчасть" - объединение двух табличных частей документа. Ничего интересного...

НО: если в этих ТЧ есть поля, через которые их строки можно объединять(!). А у автора - "Верно,  работы отдельно, запчасти отдельно"(цы) - просто перечень работ и перечень запчастей.

Вы ещё не поняли, что идея автора - бессмысленна?
27 alexshape
 
17.08.17
09:36
(25) Аллилуйя, Спасибо тебе. все получилось.

(26) Оказалось что  нет
28 Serg_1960
 
17.08.17
09:39
(27) С таким же успехом ты мог бы удалять дубликаты строк в ТЧ Работы и Запчасти раздельно друг от друга (без их объединения).
29 dezss
 
17.08.17
09:39
А теперь может расскажешь, что ты хочешь этим показать?
Если просто показать что делали и что потратили, то в (1) и (2) тебе самый правильный совет дали.
Первый столбец ссылка твоя, второй - Работа/запчасть, а в третьей сумма. Вот тебе и полный перечень работ/товаров по данному заказ-наряду с суммами, а потом сортируешь по ссылке и вуаля, они идут подряд.
30 alexshape
 
17.08.17
09:47
(28) Так дубликаты появляются как раз после соединения, а не до.
31 Serg_1960
 
17.08.17
09:59
Мда... тема зачем автор объединяет котлеты с мухами осталась не раскрыта :)
32 alexshape
 
17.08.17
10:00
(31) Задачу ставлю не я, любители котлет в другом отделе
33 vicof
 
17.08.17
10:03
Ну так спроси, чего они хотят на самом деле, ставя тебе тупые задачи
34 dezss
 
17.08.17
10:05
(33) +100500
пользователь не всегда может правильно объяснить то, что хочет...
35 alexshape
 
17.08.17
10:11
(33) Задача может быть и не тупая. Кто так видит
36 alexshape
 
17.08.17
10:11
(35) Кто как видит
37 VladZ
 
17.08.17
10:13
(0) Озвучь, как поставлена задача.
38 Serg_1960
 
17.08.17
10:16
PS: признаю свою ошибку, был не прав :(

Сознаю свою вину.
Меру. Степень. Глубину.
И прошу меня направить
На текущую войну.
Нет войны — я все приму -
Ссылку. Каторгу. Тюрьму.
Но желательно — в июле,
И желательно — в Крыму.
39 alexshape
 
17.08.17
11:02
(37) Хочу чтобы в отчете было так
40 alexshape
 
17.08.17
11:02
эти строки сюда, а эти сюда
41 1dvd
 
17.08.17
11:03
(39) тады не парься. С номером строки - норм решение
42 dezss
 
17.08.17
11:16
(41) Но пусть готовится к тому, что потом скажут, что-то здесь не так. Надо все переделать как-то.
43 alexshape
 
17.08.17
11:42
(41) Да, все норм