|
ИМЕЮЩИЕ в Запросе | ☑ | ||
---|---|---|---|---|
0
kn
27.10.11
✎
07:18
|
Запрос должен отбирать документы реализация, рко, пко, возвраты если они в Сумме(по одному и тому же Заказу) дают не ноль.Пишу такой запрос
Вот текст запроса "ВЫБРАТЬ РеализацияТоваровУслуг.Ссылка КАК ДокРеализация, ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслуг.Сделка) ПОМЕСТИТЬ ТабРеализаций ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Проведен = ИСТИНА И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон И РеализацияТоваровУслуг.ДоговорКонтрагента.ВидВзаиморасчетов = &НаличныйРасчет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК Документ, ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка) КАК СсылкаПредставление, ПРЕДСТАВЛЕНИЕ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка) КАК СделкаПредставление, -ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа КАК СуммаПлатежа ПОМЕСТИТЬ ТабДокументов ИЗ ТабРеализаций КАК ТабДокументов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа ПО ТабДокументов.ДокРеализация.Сделка = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка ГДЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка, РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка, ПРЕДСТАВЛЕНИЕ(РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка), ПРЕДСТАВЛЕНИЕ(РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка), РасходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа ИЗ ТабРеализаций КАК ТабРеализаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа ПО ТабРеализаций.ДокРеализация.Сделка = РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка ГДЕ РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВозвратТоваровОтПокупателя.Ссылка, ВозвратТоваровОтПокупателя.Сделка, ВозвратТоваровОтПокупателя.Представление, ПРЕДСТАВЛЕНИЕ(ВозвратТоваровОтПокупателя.Сделка), -ВозвратТоваровОтПокупателя.СуммаДокумента ИЗ ТабРеализаций КАК ТабРеализаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя ПО ТабРеализаций.ДокРеализация.Сделка = ВозвратТоваровОтПокупателя.Сделка ГДЕ ВозвратТоваровОтПокупателя.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТабРеализаций.ДокРеализация, ТабРеализаций.ДокРеализация.Сделка, ПРЕДСТАВЛЕНИЕ(ТабРеализаций.ДокРеализация), ПРЕДСТАВЛЕНИЕ(ТабРеализаций.ДокРеализация.Сделка), ТабРеализаций.ДокРеализация.СуммаДокумента ИЗ ТабРеализаций КАК ТабРеализаций ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабДокументов.Документ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.Документ), ТабДокументов.ДокЗаказ КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.ДокЗаказ), СУММА(ТабДокументов.СуммаПлатежа) КАК СуммаПлатежа ИЗ ТабДокументов КАК ТабДокументов СГРУППИРОВАТЬ ПО ТабДокументов.ДокЗаказ, ТабДокументов.Документ ИМЕЮЩИЕ СУММА(ТабДокументов.СуммаПлатежа) <> 0 ИТОГИ СУММА(СуммаПлатежа) ПО ДокЗаказ" Но выбираются и с нулем.Подскажите, как подправить запрос чтобы он решал эту задачу? |
|||
1
Kasper076
27.10.11
✎
07:22
|
Нифига. Не в сумме по одному и тому же заказу, а по каждому документу. Т.е. если по какому-то документу сумма не равна нулю, то и он этот док попадает в выборку и заказ по этому документу тоже.
|
|||
2
kn
27.10.11
✎
07:24
|
это понимаю, а как сделать правильно ведь группировка автоматом добавляется
|
|||
3
Kasper076
27.10.11
✎
07:28
|
Автоматом ничего не добавляется. Цель какая у тебя?
|
|||
4
kn
27.10.11
✎
07:28
|
Цель посмотреть что Реализация не полностью закрыта
|
|||
5
kn
27.10.11
✎
07:30
|
если добавить группировку по заказу, то группировка по документам добавиться автоматически - вот я о чем
|
|||
6
Kasper076
27.10.11
✎
07:33
|
(4) А почему итоги только по заказу тогда?
|
|||
7
kn
27.10.11
✎
07:34
|
так устраивает
|
|||
8
Kasper076
27.10.11
✎
07:37
|
В типовых вроде регистр есть по заказам. Правильнее по нему строить отчет.
(7) Так убери тогда поле Документ. |
|||
9
kn
27.10.11
✎
07:41
|
откуда?из группировок не убирается(добавляется все равно автоматом даже если только заказ ставлю)
|
|||
10
Kasper076
27.10.11
✎
07:44
|
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка КАК ДокРеализация, ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслуг.Сделка) ПОМЕСТИТЬ ТабРеализаций ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Проведен = ИСТИНА И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон И РеализацияТоваровУслуг.ДоговорКонтрагента.ВидВзаиморасчетов = &НаличныйРасчет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК Документ, ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка) КАК СсылкаПредставление, ПРЕДСТАВЛЕНИЕ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка) КАК СделкаПредставление, -ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа КАК СуммаПлатежа ПОМЕСТИТЬ ТабДокументов ИЗ ТабРеализаций КАК ТабДокументов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа ПО ТабДокументов.ДокРеализация.Сделка = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка ГДЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка, РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка, ПРЕДСТАВЛЕНИЕ(РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка), ПРЕДСТАВЛЕНИЕ(РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка), РасходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа ИЗ ТабРеализаций КАК ТабРеализаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа ПО ТабРеализаций.ДокРеализация.Сделка = РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка ГДЕ РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВозвратТоваровОтПокупателя.Ссылка, ВозвратТоваровОтПокупателя.Сделка, ВозвратТоваровОтПокупателя.Представление, ПРЕДСТАВЛЕНИЕ(ВозвратТоваровОтПокупателя.Сделка), -ВозвратТоваровОтПокупателя.СуммаДокумента ИЗ ТабРеализаций КАК ТабРеализаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя ПО ТабРеализаций.ДокРеализация.Сделка = ВозвратТоваровОтПокупателя.Сделка ГДЕ ВозвратТоваровОтПокупателя.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТабРеализаций.ДокРеализация, ТабРеализаций.ДокРеализация.Сделка, ПРЕДСТАВЛЕНИЕ(ТабРеализаций.ДокРеализация), ПРЕДСТАВЛЕНИЕ(ТабРеализаций.ДокРеализация.Сделка), ТабРеализаций.ДокРеализация.СуммаДокумента ИЗ ТабРеализаций КАК ТабРеализаций ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(ТабДокументов.Документ), ТабДокументов.ДокЗаказ КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.ДокЗаказ), СУММА(ТабДокументов.СуммаПлатежа) КАК СуммаПлатежа ИЗ ТабДокументов КАК ТабДокументов СГРУППИРОВАТЬ ПО ТабДокументов.ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.Документ) ИМЕЮЩИЕ СУММА(ТабДокументов.СуммаПлатежа) <> 0 ИТОГИ СУММА(СуммаПлатежа) ПО ДокЗаказ |
|||
11
kn
27.10.11
✎
07:51
|
тоже самое, в ЛК можно посмотреть что мне надо убрать из запроса
|
|||
12
Kasper076
27.10.11
✎
07:57
|
Я уже посмотрел. "ПРЕДСТАВЛЕНИЕ(ТабДокументов.Документ)," тоже убрать надо.
По заказу-то ноль, а по документам ни фига не ноль. Т.е. по одному доку списано меньше заказа, а по другому больше. если сами документы вообще из запроса исключить, то будет нормально. |
|||
13
kn
27.10.11
✎
07:58
|
представление убирается автоматом
|
|||
14
kn
27.10.11
✎
08:03
|
если убрать документ и его представление то результат будет правильный, но документов не будет, будет один заказ, а мне надо всю цепочку
|
|||
15
Kasper076
27.10.11
✎
08:07
|
Запрос надо по другому строить. Сначала выбрать все не закрытые заказы, а потом джойнить к ним документы. Ну или корректно заказы закрывать.
|
|||
16
kn
27.10.11
✎
08:08
|
(14)+ только если эту полученную таблицу использовать опять как временную и дальше работать
(15)меня заказы не интересуют, здесь они как общее у документов звено показаны |
|||
17
Kasper076
27.10.11
✎
08:19
|
ВЫБРАТЬ
ЗаказыПокупателей.Регистратор ИЗ РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки ПО ЗаказыПокупателей.ЗаказПокупателя = ЗаказыПокупателейОстатки.ЗаказПокупателя |
|||
18
kn
27.10.11
✎
08:24
|
Вот так получилось
ВЫБРАТЬ РеализацияТоваровУслуг.Ссылка КАК ДокРеализация, ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслуг.Сделка) ПОМЕСТИТЬ ТабРеализаций ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Проведен = ИСТИНА И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон И РеализацияТоваровУслуг.ДоговорКонтрагента.ВидВзаиморасчетов = &НаличныйРасчет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК Документ, ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка) КАК СсылкаПредставление, ПРЕДСТАВЛЕНИЕ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка) КАК СделкаПредставление, -ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа КАК СуммаПлатежа ПОМЕСТИТЬ ТабДокументов ИЗ ТабРеализаций КАК ТабДокументов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа ПО ТабДокументов.ДокРеализация.Сделка = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка ГДЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка, РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка, ПРЕДСТАВЛЕНИЕ(РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка), ПРЕДСТАВЛЕНИЕ(РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка), РасходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа ИЗ ТабРеализаций КАК ТабРеализаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа ПО ТабРеализаций.ДокРеализация.Сделка = РасходныйКассовыйОрдерРасшифровкаПлатежа.Сделка ГДЕ РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВозвратТоваровОтПокупателя.Ссылка, ВозвратТоваровОтПокупателя.Сделка, ВозвратТоваровОтПокупателя.Представление, ПРЕДСТАВЛЕНИЕ(ВозвратТоваровОтПокупателя.Сделка), -ВозвратТоваровОтПокупателя.СуммаДокумента ИЗ ТабРеализаций КАК ТабРеализаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя ПО ТабРеализаций.ДокРеализация.Сделка = ВозвратТоваровОтПокупателя.Сделка ГДЕ ВозвратТоваровОтПокупателя.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТабРеализаций.ДокРеализация, ТабРеализаций.ДокРеализация.Сделка, ПРЕДСТАВЛЕНИЕ(ТабРеализаций.ДокРеализация), ПРЕДСТАВЛЕНИЕ(ТабРеализаций.ДокРеализация.Сделка), ТабРеализаций.ДокРеализация.СуммаДокумента ИЗ ТабРеализаций КАК ТабРеализаций ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабДокументов.ДокЗаказ КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.ДокЗаказ), СУММА(ТабДокументов.СуммаПлатежа) КАК СуммаПлатежа ПОМЕСТИТЬ ТабНенулевых ИЗ ТабДокументов КАК ТабДокументов СГРУППИРОВАТЬ ПО ТабДокументов.ДокЗаказ ИМЕЮЩИЕ СУММА(ТабДокументов.СуммаПлатежа) <> 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабДокументов.Документ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.Документ), ТабДокументов.ДокЗаказ КАК ДокЗаказ, ПРЕДСТАВЛЕНИЕ(ТабДокументов.ДокЗаказ), ТабДокументов.СуммаПлатежа КАК СуммаПлатежа ИЗ ТабНенулевых КАК ТабНенулевых ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДокументов КАК ТабДокументов ПО ТабНенулевых.ДокЗаказ = ТабДокументов.ДокЗаказ ИТОГИ СУММА(СуммаПлатежа) ПО ДокЗаказ Спасибо за помощь! |
|||
19
Kasper076
27.10.11
✎
08:28
|
Я бы все же через регистр делал.
|
|||
20
kn
27.10.11
✎
08:34
|
ПКО и РКО не делают движений по регистру Заказы
|
|||
21
Kasper076
27.10.11
✎
08:49
|
Но в каком-то же регистре заказ присутствуют, если он а ПКО или РКО указан. Этот регистр и брать. Главное не закрытые заказы брать из РН Заказы.
|
|||
22
Рыжий Лис
27.10.11
✎
11:23
|
(20) Есть такой регистр Взаиморасчеты с контрагентами. И отчет по нему тоже есть. А за такой, простите, г...окод с экзамена на специалиста выгоняют.
|
|||
23
Kasper076
27.10.11
✎
12:49
|
(22) Согласен. Запросик конечно кривоват. :-)
|
|||
24
Axel2009
27.10.11
✎
12:51
|
запрос нужно подправить так, что все объединить нужно завернуть в подзапрос. и уже к итоговому подзапросу применять имеющие. а то как написано даже в (18) некорректен
|
|||
25
Axel2009
27.10.11
✎
12:53
|
(24)+ а не корректен, через 3 временных. сори
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |