![]() |
![]() |
|
ОБЪЕДИНИТЬ в запросе | ☑ | ||
---|---|---|---|---|
0
trv5
01.10.13
✎
13:12
|
Есть следующий текст запроса
ВЫБРАТЬ РАЗЛИЧНЫЕ ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент, ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор, &СтавкаНДС20 КАК СтавкаНДС, ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто2.ВедениеВзаиморасчетов = &ПоДоговору ТОГДА "" ИНАЧЕ ХозрасчетныйОстаткиИОбороты.Субконто3 КОНЕЦ КАК ДокументРасчетов, СУММА(ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Счет = &Счет361 ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт ИНАЧЕ 0 КОНЕЦ) КАК СуммаОтгрузки, СУММА(ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Счет = &Счет361 ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт ИНАЧЕ 0 КОНЕЦ) КАК СуммаОплаты, СУММА(ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Счет = &Счет6431 ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт ИНАЧЕ 0 КОНЕЦ) КАК НДСОплаты, СУММА(ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Счет = &Счет361 ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт / 6 ИНАЧЕ 0 КОНЕЦ) КАК НДСОтгрузки, 0 КАК СуммаОтгрузкиПродажи, 0 КАК СуммаОплатыПродажи, 0 КАК НДСОплатыПродажи, 0 КАК НДСОтгрузкиПродажи ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, , , Счет В (&СписокСчетов), &ВидыСубконто, ) КАК ХозрасчетныйОстаткиИОбороты СГРУППИРОВАТЬ ПО ХозрасчетныйОстаткиИОбороты.Субконто1, ХозрасчетныйОстаткиИОбороты.Субконто2, ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто2.ВедениеВзаиморасчетов = &ПоДоговору ТОГДА "" ИНАЧЕ ХозрасчетныйОстаткиИОбороты.Субконто3 КОНЕЦ ОБЪЕДИНИТЬ ВЫБРАТЬ РАЗЛИЧНЫЕ ПродажиНалоговыйУчетОстаткиИОбороты.ДоговорКонтрагента.Владелец, ПродажиНалоговыйУчетОстаткиИОбороты.ДоговорКонтрагента, ПродажиНалоговыйУчетОстаткиИОбороты.СтавкаНДС, ПродажиНалоговыйУчетОстаткиИОбороты.Сделка, 0, 0, 0, 0, ВЫБОР КОГДА ПродажиНалоговыйУчетОстаткиИОбороты.Событие = &СобытиеРеализация ТОГДА ПродажиНалоговыйУчетОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА ПродажиНалоговыйУчетОстаткиИОбороты.Событие = &СобытиеОплата ТОГДА ПродажиНалоговыйУчетОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА ПродажиНалоговыйУчетОстаткиИОбороты.Событие = &СобытиеОплата ТОГДА ПродажиНалоговыйУчетОстаткиИОбороты.СуммаНДСКонечныйОстаток ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА ПродажиНалоговыйУчетОстаткиИОбороты.Событие = &СобытиеРеализация ТОГДА ПродажиНалоговыйУчетОстаткиИОбороты.СуммаНДСКонечныйОстаток ИНАЧЕ 0 КОНЕЦ ИЗ РегистрНакопления.ПродажиНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, , , ) КАК ПродажиНалоговыйУчетОстаткиИОбороты УПОРЯДОЧИТЬ ПО Контрагент, Договор, ДокументРасчетов Результат получается в виде Договор 20% Документ расчетов с контрагентом (ручной учет) ЛНА-000046 от 17.07.2012 0:00:00 70 000 11 666,67 Договор 20% Документ расчетов с контрагентом (ручной учет) ЛНА-000046 от 17.07.2012 0:00:00 70 000 11 666,666667 Договор ТБК-Ю/зб/2010 (05.07.2010) 20% 144 000 24 000 Договор ТБК-Ю/зб/2010 (05.07.2010) 20% 144 000 24 000 А Надо бы в виде Договор 20% Документ расчетов с контрагентом (ручной учет) ЛНА-000046 от 17.07.2012 0:00:00 70 000 11 666,666667 70 000 11 666,67 Договор ТБК-Ю/зб/2010 (05.07.2010) 20% 144 000 24 000 144 000 24 000 |
|||
1
trv5
01.10.13
✎
13:13
|
Плохо получилось... картинки не получается вставлять....
Строчки дублируются для одинакового Контрагента, договора, ставки НДС и Документа Расчетов, а хотелось бы в одной строчке получать |
|||
2
Галахад
гуру
01.10.13
✎
13:15
|
Сгруппировать надо после объединения.
|
|||
3
GANR
01.10.13
✎
13:17
|
(0) Так надо сгруппировать после объединения. И ОБЪЕДИНИТЬ, скорее всего, желательно заменить на ОБЪЕДИНИТЬ ВСЕ (почитай про особенности той и иной конструкции).
|
|||
4
GANR
01.10.13
✎
13:18
|
А слово РАЗЛИЧНЫЕ зачем нужно в этом запросе - только суммы оно, скорее всего, выкинет и все.
|
|||
5
trv5
01.10.13
✎
13:21
|
(4) а как сгруппировать в конце?
ОБЪЕДИНИТЬ ВСЕ дает точно такой же результат |
|||
6
GANR
01.10.13
✎
13:32
|
(5) При наличии одинаковых строк РАЗЛИЧНЫЕ точно приведет к непопаданию суммы в конечный результат.
1. Убрать РАЗЛИЧНЫЕ из обоих запросов 2. Обернуть (0) во вложенный запрос, либо поместить во временную таблицу. 3. Потом результат п.2 сгруппировать по Контрагент, Договор, Ставка НДС, Документ расчетов и взять агрегатные функции СУММА по остальным полям, имеющим числовое значение. |
|||
7
GANR
01.10.13
✎
13:34
|
(0) Понятно зачем нужны временные таблицы и вложенные запросы???
|
|||
8
trv5
01.10.13
✎
13:48
|
(7) Спасибо!!!! Все получилось...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |