|
запрос к двум ТЧ разных документов | ☑ | ||
---|---|---|---|---|
0
dron4ikkk
21.10.14
✎
10:03
|
Есть два документа : док1 и док2 у каждого этого дока есть ТЧ1 у док1 и ТЧ2 у док2. Необходимо получить данные из 2-ух документов: оборудование и номенклатура. Каким образом это сделать как объединить результаты запроса?
Вот запрос, который получает из док1 ТЧ1 данные: оборудование и номенклатуру, НО как объединить допустим этот результат запроса с другим аналогичным запросом? "ВЫБРАТЬ РАЗЛИЧНЫЕ | док1.Оборудование КАК Об, | док1.Номенклатура КАК Ном |ИЗ | Документ.док1.ТЧ1 КАК ТаблЧасть1 | ЛЕВОЕ СОЕДИНЕНИЕ Документ.док1 КАК документ | ПО (ТаблЧасть1.Ссылка = документ.Ссылка) |ГДЕ | документ.Ссылка.Склад.Ссылка = &Ссылка"; |
|||
1
VladZ
21.10.14
✎
10:04
|
Зачем "вот эти нелепые телодвижения": ЛЕВОЕ СОЕДИНЕНИЕ Документ.док1 КАК документ ?
|
|||
2
Нахожусь в оппозиции
21.10.14
✎
10:05
|
||||
3
dron4ikkk
21.10.14
✎
10:06
|
(1) ну как оптимизировать запрос тогда, подскажи
|
|||
4
an-korot
21.10.14
✎
10:11
|
(2) все правильно сказал, примеров полно, тебе походу готовый код нужен ? ))) хитрый ты наш.
|
|||
5
an-korot
21.10.14
✎
10:14
|
и судя по тому что ты с таким вопросом обращаешься, про то что через команду "объединить" нельзя совмещать табличные части ты уже знаешь ))))
|
|||
6
an-korot
21.10.14
✎
10:17
|
самое главное ты даже не покажешь по каким элементам ты хочешь совместить свои документы :(
лично я хрустальный шар с собой не взял, извини бро. |
|||
7
dron4ikkk
21.10.14
✎
10:21
|
(6) связать по оборудованию и номенклатуре
|
|||
8
Ёпрст
21.10.14
✎
10:21
|
(0) замени левое соединение на объеденить все с запросом к второму документу..
|
|||
9
an-korot
21.10.14
✎
10:23
|
(8) схожу за попкорном
|
|||
10
Kamas
21.10.14
✎
10:26
|
(5) а почему нельзя??
|
|||
11
Skom
21.10.14
✎
10:32
|
выбрать
док.ном, док.об, из док1 как док объединить все выбрать док.ном, док.об, из док2 как док |
|||
12
Skom
21.10.14
✎
10:33
|
как то так
|
|||
13
Ёпрст
21.10.14
✎
10:37
|
(10) религия видать, не разрешает использовать union
|
|||
14
Kerk
21.10.14
✎
10:37
|
(11) Не так, но попытка хорошая :)
|
|||
15
Kamas
21.10.14
✎
10:38
|
(13) аа ну тогда понятно
|
|||
16
Kamas
21.10.14
✎
10:39
|
(0) нарисуй табличку что ты хочешь видеть в итоге твоих мучений
|
|||
17
Skom
21.10.14
✎
10:39
|
(14) ну я же код весь не буду приводить
|
|||
18
Kerk
21.10.14
✎
10:41
|
(17) Оно то понятно, за полную версию запроса нужно отправить смс на номер iLove1C, но запрос не полон по ТЗ из (0). :)
|
|||
19
Skom
21.10.14
✎
10:42
|
(18) не нуди, я показал пример использования ОБЪЕДИНИТЬ
|
|||
20
an-korot
21.10.14
✎
10:50
|
(10) (13) потому что нарисуйте запрос и вы увидете что вам напишет ситсема, когда вы попытаетесь 1 имя присвоить переменным из 2х запросов :))) что ты там про религию говорил (13)?
А иначе вы получите в каждой строке не значение элемента из строки документа, а таблицу внутри которой будут находится значения, дорогие мои атеисты. и много толку от такого? |
|||
21
Skom
21.10.14
✎
10:51
|
(20) фигню пишешь
|
|||
22
ВРедная
21.10.14
✎
10:52
|
(20) О.О
|
|||
23
Skom
21.10.14
✎
10:52
|
А.А
|
|||
24
Любопытная
21.10.14
✎
10:52
|
(20) Если нужны данные из ТЧ документа, всегда лучше обращаться напрямую к таблице ТЧ документа, а не самого документа. Тогда таких чудес не случится.
Или я не о том? |
|||
25
Ёпрст
21.10.14
✎
10:53
|
(20) бредите
|
|||
26
an-korot
21.10.14
✎
10:56
|
(25) (21) ребята )) да код в студию и скрин с результатом ;) раз я в бреду. Накидать его дело 10 секунд ;)
|
|||
27
Ёпрст
21.10.14
✎
10:57
|
На вот, развлекайся
"ВЫБРАТЬ | Док.Количество КАК Количество, | Док.Номенклатура КАК Номенклатура |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК Док | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Номенклатура, | Док.Количество |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК Док" |
|||
28
an-korot
21.10.14
✎
10:57
|
(24) напрямую? это не 77 с прямыми запросами ))) тут запросы восмерки в обсуждении.
|
|||
29
Ёпрст
21.10.14
✎
10:58
|
Ну только, во втором запросе (или в первом) нужно строки выборки поменять местами
|
|||
30
Любопытная
21.10.14
✎
11:00
|
(28) Вы бредите, мсье?
|
|||
31
Ёпрст
21.10.14
✎
11:01
|
(30) бухает видать, или побочное явление с кагорчика
|
|||
32
an-korot
21.10.14
✎
11:01
|
(27) дату отфильтруй ) с 10 по 12 число
|
|||
33
an-korot
21.10.14
✎
11:03
|
(27) да просто фильтр на дату доков
|
|||
34
Любопытная
21.10.14
✎
11:03
|
Запрос
http://gyazo.com/6e19c2414f136cffcfa89c4814ae4427 Параметры http://gyazo.com/9a1cebe2e9257526dd563766264a1039 И результат http://gyazo.com/37f26d71aa2c706918661a749b345d18 В чем проблемы? |
|||
35
Ёпрст
21.10.14
✎
11:03
|
(32) чего ?
|
|||
36
Любопытная
21.10.14
✎
11:04
|
(31) Ну а вдруг мы просто чего не знаем? Что уж так сразу... бухает. Мож фича какая новая, а я не в курсе
|
|||
37
Skom
21.10.14
✎
11:04
|
||||
38
Skom
21.10.14
✎
11:04
|
ах, опередили, я тормоз((
|
|||
39
Skom
21.10.14
✎
11:06
|
(35) он переживает что фильтр не накладывается, видимо
|
|||
40
an-korot
21.10.14
✎
11:07
|
(34) а фильтр через дату а не ссылку на документ
|
|||
41
Skom
21.10.14
✎
11:08
|
(32),(33) каждый запрос фильтруй отдельно, как надо
Есть одно НО! При использовании "ОБЪЕДИНИТЬ ВСЕ" необходимо, что бы селект лист был одинаковым. т.е. одинаковое количество полей должно быть. |
|||
42
Kamas
21.10.14
✎
11:08
|
(32) в чем проблема есть ссылка у тч сможешь через точку к дате добраться можеш сначала левое соединение отобраных доков с тч в врт запхать
|
|||
43
Kamas
21.10.14
✎
11:09
|
(41) конструктор автоматом нул нарисует
|
|||
44
Skom
21.10.14
✎
11:09
|
ВЫБРАТЬ ПЕРВЫЕ 5
Реализация.Номенклатура, ИСТИНА КАК Реализация ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Реализация ГДЕ <Твои условия по первому доку> ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 5 Поступление.Номенклатура, ЛОЖЬ КАК Реализация ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК Поступление |
|||
45
Skom
21.10.14
✎
11:09
|
ГДЕ
<Твои условия по второму доку> |
|||
46
Skom
21.10.14
✎
11:10
|
(40), смотри (44) и (45) как одно целое
|
|||
47
an-korot
21.10.14
✎
11:10
|
вы обращаетесь сразу к табличной части документа, вы не делаете фильтрацию на контрика или дату, потому что у вас нету таких элементов :)
|
|||
48
Любопытная
21.10.14
✎
11:11
|
(40) а какая хрен разница?
|
|||
49
Любопытная
21.10.14
✎
11:11
|
(47) Чего?
|
|||
50
Skom
21.10.14
✎
11:12
|
(47)
ВЫБРАТЬ ПЕРВЫЕ 5 Реализация.Номенклатура, ИСТИНА КАК Реализация ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Реализация ЛЕВОЕ СОЕДИНЕНИЕ ДОК ПО ДОК.ССЫЛКА = Реализация.ССылка ГДЕ <Твои условия по первому доку> ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 5 Поступление.Номенклатура, ЛОЖЬ КАК Реализация ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК Поступление ЛЕВОЕ СОЕДИНЕНИЕ ДОК ПО ДОК.ССЫЛКА = Поступление.ССылка ГДЕ <Твои условия по второму доку> |
|||
51
Skom
21.10.14
✎
11:12
|
мне уже чертовски интересно, куда нас заведет кривая :-)
|
|||
52
Ёпрст
21.10.14
✎
11:13
|
(47) завязывай ужо с наркотой
|
|||
53
Skom
21.10.14
✎
11:13
|
(47) Спайс?
|
|||
54
Любопытная
21.10.14
✎
11:13
|
(47) http://gyazo.com/46fbcb2e848957445401bc4f0cb9dc12
Так понятно? |
|||
55
Ёпрст
21.10.14
✎
11:15
|
На вот, развлекайся
"ВЫБРАТЬ | Док.Количество КАК Количество, | Док.Номенклатура КАК Номенклатура |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК Док |ГДЕ | Док.Ссылка.Дата = &Дата | И Док.Ссылка.Проведен | И Док.Ссылка.Контрагент = &Контрагент | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Количество, | Док.Номенклатура |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК Док |ГДЕ | Док.Ссылка.Дата = &Дата | И Док.Ссылка.Проведен | И Док.Ссылка.Контрагент = &Контрагент | И Док.Ссылка.Организация = &Организация" |
|||
56
an-korot
21.10.14
✎
11:15
|
(46) спасибо
|
|||
57
Kamas
21.10.14
✎
11:16
|
an-korot блин чел только на мисте больше 2х лет сидит
|
|||
58
an-korot
21.10.14
✎
11:17
|
(53) в *опу тебе асй, Ском, я о тебе что то говорил? раз сам нюхаешь про других не суди
|
|||
59
Skom
21.10.14
✎
11:18
|
(58) вот человек, сначала спасибо говорит, потом в *опу посылает)
|
|||
60
an-korot
21.10.14
✎
11:18
|
Ёпрст, да все все уже, больше не нада
|
|||
61
Kamas
21.10.14
✎
11:19
|
(59) ))) спасибо идите в *опу(Прикольно звучит)
|
|||
62
an-korot
21.10.14
✎
11:19
|
(59) Ском, спасибо, просто про спайс обидно :((((((((((((((
|
|||
63
Skom
21.10.14
✎
11:19
|
(62) ты чего нервный-то такой. расслабься) это ж интернет, тут вечно угарает народ, особенно на плодотворной почве).
|
|||
64
Skom
21.10.14
✎
11:20
|
не серьезно на свой счет воспринимать все. ясень пень, что тут никто не думает что ты реально нарик.
Просто таким образом высказывают свое удивление тому, что для тебя в новинку такая простецкая задача с запросами. |
|||
65
Любопытная
21.10.14
✎
11:20
|
Дык и что? Разобрались, не?
|
|||
66
Skom
21.10.14
✎
11:21
|
(62) Как говорится, пожалуйста, идите в *опу )))
)))))))))))))))))) |
|||
67
an-korot
21.10.14
✎
11:21
|
(65) не знаю как автор темы, думаю после нашего обсуждения даже дурак поймет как делать :)))
|
|||
68
Kamas
21.10.14
✎
11:23
|
(66) идите замени на пройдите))))
|
|||
69
an-korot
21.10.14
✎
11:23
|
(64) Я в 8 редко захожу, поэтому и бывают такие заскоки, неделю назад пытался 2 дока склеить, зараза писал что объеденять табличные части разных доков нельзя %-/ ну я тогда другим путем пошел, мучатся с выгрузкой в вирт таблицу не стал, оказывается я неправильно данные выбирал, вот зараза.
|
|||
70
Skom
21.10.14
✎
11:23
|
Вот Ёпрст любитель обращаться через 3 точки, я о 3-х точках забыл еще из книжек по 7.7
Лично мне удобнее через соединение, хотя, подозреваю, что оптимизатору запроса пофигу, через соединить или как ёпрст |
|||
71
Kerk
21.10.14
✎
11:25
|
(66) Ну вот уже лучше, а то "не нуди", да "не нуди". :)
|
|||
72
an-korot
21.10.14
✎
11:25
|
(70) так построитель по умолчанию код выдает, епрст даже не заморачивался.
|
|||
73
Skom
21.10.14
✎
11:26
|
(72) не пользуюсь построителем. Всегда сам пишу запрос.
|
|||
74
Ёпрст
21.10.14
✎
11:27
|
(72) если это не составной тип то и пофик на это, один хрен будет тоже левое соединение потом на выходе - смысл в явном указывании нет - только больше кода
|
|||
75
Skom
21.10.14
✎
11:27
|
Мне не нравится как построитель формирует запрос.
Может быть иногда основу я делаю в построителе, а дальше уже сам переделываю для себя. |
|||
76
Kerk
21.10.14
✎
11:27
|
(73) Это не ты писал запросы в ЗУП-е?
А то там как не запрос, так целый эпос страниц на 5-10... |
|||
77
an-korot
21.10.14
✎
11:28
|
(73) ну в 8 такие запросы в построителе 10 секунд накидать, в принципе удобно.
|
|||
78
dron4ikkk
21.10.14
✎
11:28
|
Ребят я уже сделал если честно, извините
|
|||
79
Skom
21.10.14
✎
11:29
|
(76), я наоборот за минимизацию.
Вот например: v8: Запрос, запустался с СОЕДИНЕНИЯМИ долго мучался, но в итоге получился минимальный код, вполне себе удобочитаемый |
|||
80
Skom
21.10.14
✎
11:30
|
(78), да ты тут уже совсем не причем )))) иди работай! :-)
|
|||
81
dron4ikkk
21.10.14
✎
11:30
|
(55) все верно
|
|||
82
an-korot
21.10.14
✎
11:30
|
(80) :-D))))))
|
|||
83
an-korot
21.10.14
✎
11:31
|
(75) так есть коды которые построитель не осилит ))
например исключить из выборки данные которые есть в другой выборке %) построитель такого не сможет тут только руками. |
|||
84
Kerk
21.10.14
✎
11:34
|
(83) HAVING ещё в конструкторе не сделать просто.
Халявят разработчики конструктора... |
|||
85
an-korot
21.10.14
✎
11:35
|
(79) вот как раз твоя тема, как исключить из множества значения, принадлежащие другому множеству :))) вчера код накатал )))
|
|||
86
dron4ikkk
21.10.14
✎
11:37
|
кстати запрос полностью провалился когда селект лист был таков:
"ВЫБРАТЬ | Док.Количество КАК Количество, | Док.Номенклатура КАК Номенклатура И "ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, | Док.Количество КАК Количество |
|||
87
an-korot
21.10.14
✎
11:37
|
(84) ну по моему через ГДЕ можно любое условие задать им получается having не нужен ;)
|
|||
88
an-korot
21.10.14
✎
11:38
|
(86) ты издеваешся я секунду назад тестовый файл c кодом стер :-D
|
|||
89
Skom
21.10.14
✎
11:38
|
(85) у меня наоборот, как включить в запрос, а не исключить)
(87) ГДЕ используется ДО группировок, а ХЭВИНГ после! все зависит о того что и как ты хочешь получить и как сгруппировать |
|||
90
dron4ikkk
21.10.14
✎
11:40
|
(88) все нормально, сделал объединение.
|
|||
91
an-korot
21.10.14
✎
11:40
|
(89) так вроде тоже самое: включаем все чего нет в другом запросе
смысл 1 и тот же просто звучит по другому )) |
|||
92
an-korot
21.10.14
✎
11:41
|
(90) заработал? если выборка большая поставь условия чтобы лишнее не цеплять ;)
|
|||
93
dron4ikkk
21.10.14
✎
11:42
|
(92) да
|
|||
94
an-korot
21.10.14
✎
11:43
|
(93) ну отлично ))
|
|||
95
dron4ikkk
21.10.14
✎
11:43
|
посмотрите лучше запрос в ЗУПЕ по расчетным листам...там настоящие спецы делали
|
|||
96
an-korot
21.10.14
✎
11:45
|
(89) подозреваю что через вложенный множно чтото сделать, но конечно с готовой командой было бы удобней.
|
|||
97
an-korot
21.10.14
✎
11:47
|
(95) большой запрос беда, контроля 0 %
;) |
|||
98
Skom
21.10.14
✎
11:52
|
(97) главное запрос удобочитаемым сделать и тогда просто его отлаживать.
|
|||
99
Skom
21.10.14
✎
11:52
|
+ можно же каменты ставить в запрос, кстати, всегда снабжаю свои запросы каментами, если они большие или сложные.
|
|||
100
Kerk
21.10.14
✎
11:59
|
(99) 100!
Это хорошо, но конструктор, гад, их трет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |