![]() |
|
верно ли построен запрос | ☑ | ||
---|---|---|---|---|
0
LivingStar
06.02.12
✎
13:31
|
ВЫБРАТЬ
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.СуммаДокумента ПОМЕСТИТЬ ПлатежноеПоручение ИЗ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок ПОМЕСТИТЬ ЗаказПокупателя ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателя.Контрагент КАК Контрагент, ЗаказПокупателя.ЭлсиНомерПрил КАК НомерПриложения, ЗаказПокупателя.Дата КАК ДатаДок, ЗаказПокупателя.СуммаДокумента КАК СуммаДок, ЗаказПокупателя.Срок КАК Срок, ПлатежноеПоручение.Дата КАК ДатаПлатежПор, ПлатежноеПоручение.СуммаДокумента КАК СуммаПлатежПор ИЗ ЗаказПокупателя КАК ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ ПлатежноеПоручение КАК ПлатежноеПоручение ПО ЗаказПокупателя.Ссылка = ПлатежноеПоручение.Сделка ГДЕ ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата И ЗаказПокупателя.Контрагент = &Контр УПОРЯДОЧИТЬ ПО ДатаДок |
|||
1
Renat11111
06.02.12
✎
13:34
|
индексируй поля соединения
|
|||
2
Maxus43
06.02.12
✎
13:34
|
в ВТ обоих индексировать по ссылке и отбор по контрагенту и т.д. можно в них и сделать.
а можно и без ВТ, воединение по контру ещё добавить |
|||
3
Maxus43
06.02.12
✎
13:35
|
все условия по заказу покупателя уже в ВТ перенести. а по платежке - только по контру условие
|
|||
4
hhhh
06.02.12
✎
13:36
|
(0) тормозной запрос будет. В первом запросе ты выбираешь все платежные поручения, во втором все заказы за несколько лет и только в третьем делаешь отбор по датам и контрагенту.
|
|||
5
LivingStar
06.02.12
✎
13:39
|
то есть в обоих делать отбор по контрагенту и дате
|
|||
6
LivingStar
06.02.12
✎
13:40
|
у плат пор нет контрагнета
|
|||
7
Maxus43
06.02.12
✎
13:41
|
(6) у договора есть владелец
|
|||
8
hhhh
06.02.12
✎
13:41
|
(6) а кому же платят тогда?
|
|||
9
Maxus43
06.02.12
✎
13:41
|
в первом по дате не надо, она может быть за пределами даты заказа
|
|||
10
LivingStar
06.02.12
✎
13:42
|
пардон есть там контрагнет
|
|||
11
LivingStar
06.02.12
✎
13:43
|
так поправил:
ВЫБРАТЬ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.СуммаДокумента ПОМЕСТИТЬ ПлатежноеПоручение ИЗ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа ГДЕ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент = &Контр ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок ПОМЕСТИТЬ ЗаказПокупателя ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателя.Контрагент КАК Контрагент, ЗаказПокупателя.ЭлсиНомерПрил КАК НомерПриложения, ЗаказПокупателя.Дата КАК ДатаДок, ЗаказПокупателя.СуммаДокумента КАК СуммаДок, ЗаказПокупателя.Срок КАК Срок, ПлатежноеПоручение.Дата КАК ДатаПлатежПор, ПлатежноеПоручение.СуммаДокумента КАК СуммаПлатежПор ИЗ ЗаказПокупателя КАК ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ ПлатежноеПоручение КАК ПлатежноеПоручение ПО ЗаказПокупателя.Ссылка = ПлатежноеПоручение.Сделка УПОРЯДОЧИТЬ ПО ДатаДок |
|||
12
hhhh
06.02.12
✎
13:43
|
(9) ну хотя бы по &НачДата ограничить
|
|||
13
Dmitrii
гуру
06.02.12
✎
13:47
|
Зачем платежки выбирать во временную таблицу?...
|
|||
14
LivingStar
06.02.12
✎
13:49
|
(13) что бы потом связать и понятно выбрать
|
|||
15
Maxus43
06.02.12
✎
13:51
|
визуально красивей может, а по сути первая ВТ да, не нужна. к заказу покупателя сразу делай соединение с ТЧ платёжки
|
|||
16
LivingStar
06.02.12
✎
13:51
|
(12) поправил, от НачДата - платежное поручение
ВЫБРАТЬ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.СуммаДокумента ПОМЕСТИТЬ ПлатежноеПоручение ИЗ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа ГДЕ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент = &Контр И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата >= &НачДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок ПОМЕСТИТЬ ЗаказПокупателя ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателя.Контрагент КАК Контрагент, ЗаказПокупателя.ЭлсиНомерПрил КАК НомерПриложения, ЗаказПокупателя.Дата КАК ДатаДок, ЗаказПокупателя.СуммаДокумента КАК СуммаДок, ЗаказПокупателя.Срок КАК Срок, ПлатежноеПоручение.Дата КАК ДатаПлатежПор, ПлатежноеПоручение.СуммаДокумента КАК СуммаПлатежПор ИЗ ЗаказПокупателя КАК ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ ПлатежноеПоручение КАК ПлатежноеПоручение ПО ЗаказПокупателя.Ссылка = ПлатежноеПоручение.Сделка УПОРЯДОЧИТЬ ПО ДатаДок |
|||
17
LivingStar
06.02.12
✎
13:53
|
(15) дело в том что в заказе покупателя не указаны платежные поручения
а в платежных поручениях указаны более менее, вот по этому так делаю |
|||
18
Dmitrii
гуру
06.02.12
✎
13:56
|
(14) А ни чего, что в этой временной таблице будет заведомо офигенное количество лишних данных, 90% из которых заранее известно что не нужны?
|
|||
19
Dmitrii
гуру
06.02.12
✎
13:57
|
(17) >> в заказе покупателя не указаны платежные поручения
Тогда в чем смысл соединения?: ЛЕВОЕ СОЕДИНЕНИЕ ПлатежноеПоручение КАК ПлатежноеПоручение ПО ЗаказПокупателя.Ссылка = ПлатежноеПоручение.Сделка |
|||
20
LivingStar
06.02.12
✎
13:59
|
ну то что выбираются платежные поручения и заказы покупателя которые указаны у документа платежное поручение
|
|||
21
LivingStar
06.02.12
✎
14:00
|
может можно задать условие ещё по владельцу договора, не только по контрагенту что бы
|
|||
22
Maxus43
06.02.12
✎
14:01
|
(21) владелец договора и есть контрагент, но в данном случае надо только по владельцу договора, ибо в ТЧ нет контрагента, а строк там может быть не одна. да и не факт что оно вобще нужно, по сделке связь явная уже
|
|||
23
LivingStar
06.02.12
✎
14:23
|
такой запрос получился
ВЫБРАТЬ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.СуммаДокумента ПОМЕСТИТЬ ПлатежноеПоручение ИЗ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа ГДЕ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент = &Контр И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата >= &НачДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Процент, ВЫБОР КОГДА ЗаказПокупателяэлсиГрафикОплаты.Процент = ЛОЖЬ ТОГДА ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты ИНАЧЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента * (ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты/100) КОНЕЦ КАК СуммаОплаты, ЗаказПокупателяэлсиГрафикОплаты.Срок ПОМЕСТИТЬ ЗаказПокупателя ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказПокупателя.Контрагент КАК Контрагент, ЗаказПокупателя.ЭлсиНомерПрил КАК НомерПриложения, ЗаказПокупателя.Дата КАК ДатаДок, ЗаказПокупателя.СуммаДокумента КАК СуммаДок, ЗаказПокупателя.Срок КАК Срок, ЗаказПокупателя.СуммаОплаты КАК СуммаОплаты, ПлатежноеПоручение.Дата КАК ДатаПлатежПор, ПлатежноеПоручение.СуммаДокумента КАК СуммаПлатежПор ИЗ ЗаказПокупателя КАК ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ ПлатежноеПоручение КАК ПлатежноеПоручение ПО ЗаказПокупателя.Ссылка = ПлатежноеПоручение.Сделка УПОРЯДОЧИТЬ ПО ДатаДок |
|||
24
LivingStar
06.02.12
✎
14:25
|
(22) пока не понял сути этого
и так приходится выбирать сначало полат поручение вход потому что незаполнено поле у документа заказ покупателя |
|||
25
LivingStar
06.02.12
✎
14:27
|
в (23) получилось чт опривязываются какие то не понятные платежные поручения разных времен, сортировку я задал по заказу покупателя
|
|||
26
LivingStar
06.02.12
✎
14:30
|
(18) да как то криво все получилось, буду думиать как упорядочить это все....
|
|||
27
LivingStar
06.02.12
✎
14:36
|
похоже не удачный запрос !!! Буду строить другой!
|
|||
28
LivingStar
07.02.12
✎
06:38
|
если сделать так то вообще не выбирает, хотя до связи выборка по документу ЗаказПокупателя есть:
ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок, ЗаказПокупателяэлсиГрафикОплаты.Процент, ВЫБОР КОГДА ЗаказПокупателяэлсиГрафикОплаты.Процент = ЛОЖЬ ТОГДА ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты ИНАЧЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента * (ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты / 100) КОНЕЦ КАК СуммаОплаты, ПлатежноеПоручениеВходящее.Ссылка КАК Ссылка1, ПлатежноеПоручениеВходящее.Дата КАК Дата1, ПлатежноеПоручениеВходящее.СуммаДокумента КАК СуммаДокумента1 ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее ПО ЗаказПокупателяэлсиГрафикОплаты.ПлПоручение = ПлатежноеПоручениеВходящее.Ссылка ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ПлатежноеПоручениеВходящее.Дата >= &НачДата |
|||
29
LivingStar
07.02.12
✎
06:42
|
а если сделать так, то выбирает но что то подозрительно:
ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок, ЗаказПокупателяэлсиГрафикОплаты.Процент, ВЫБОР КОГДА ЗаказПокупателяэлсиГрафикОплаты.Процент = ЛОЖЬ ТОГДА ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты ИНАЧЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента * (ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты / 100) КОНЕЦ КАК СуммаОплаты, ПлатежноеПоручениеВходящее.Ссылка КАК Ссылка1, ПлатежноеПоручениеВходящее.Дата КАК Дата1, ПлатежноеПоручениеВходящее.СуммаДокумента КАК СуммаДокумента1 ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее ПО ЗаказПокупателяэлсиГрафикОплаты.Ссылка = ПлатежноеПоручениеВходящее.РасшифровкаПлатежа.Сделка ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ПлатежноеПоручениеВходящее.Дата >= &НачДата |
|||
30
LivingStar
07.02.12
✎
06:53
|
так выбирает, но ПлатежноеПоручение РасшифровкаПлатежа идет как ТаблицаЗначений
смотрю сейчас правильность выборки, потом можно обработать и этот результат запроса... ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Ссылка, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок, ЗаказПокупателяэлсиГрафикОплаты.Процент, ВЫБОР КОГДА ЗаказПокупателяэлсиГрафикОплаты.Процент = ЛОЖЬ ТОГДА ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты ИНАЧЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента * (ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты / 100) КОНЕЦ КАК СуммаОплаты, ПлатежноеПоручениеВходящее.РасшифровкаПлатежа.( Ссылка.Ссылка, Ссылка.Дата, Ссылка.СуммаДокумента, Сделка, СуммаВзаиморасчетов ) ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее ПО ЗаказПокупателяэлсиГрафикОплаты.Ссылка = ПлатежноеПоручениеВходящее.РасшифровкаПлатежа.Сделка ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ПлатежноеПоручениеВходящее.Дата >= &НачДата |
|||
31
LivingStar
07.02.12
✎
07:27
|
вот! вроде оно, А ?
ВЫБРАТЬ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Ссылка, //ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.ЭлсиНомерПрил, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата, ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента, ЗаказПокупателяэлсиГрафикОплаты.Срок, //ЗаказПокупателяэлсиГрафикОплаты.Процент, ВЫБОР КОГДА ЗаказПокупателяэлсиГрафикОплаты.Процент = ЛОЖЬ ТОГДА ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты ИНАЧЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.СуммаДокумента * (ЗаказПокупателяэлсиГрафикОплаты.СуммаОплаты / 100) КОНЕЦ КАК СуммаОплаты, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Ссылка КАК Ссылка1, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата КАК Дата1, //ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.СуммаДокумента КАК СуммаДокумента1, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаВзаиморасчетов ИЗ Документ.ЗаказПокупателя.элсиГрафикОплаты КАК ЗаказПокупателяэлсиГрафикОплаты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа ПО ЗаказПокупателяэлсиГрафикОплаты.Ссылка = ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка ГДЕ ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Контрагент = &Контр И ЗаказПокупателяэлсиГрафикОплаты.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Дата >= &НачДата |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |