|
Помогите с запросом плз. Группировка и итоги. | ☑ | ||
---|---|---|---|---|
0
OldMonk
05.11.15
✎
09:12
|
Привет уважаемым коллегам.
Сразу скажу, в последнее время был занят исключительно внедрением БП КОРП, так что навыки кодерства несколько атрофировались. Поэтому плз не пинайте сильно, если у проблемы простое решение. Задача следующая: в запросе найти данные по цене продажи и себестоимости определенной номенклатуры (этой первый уровень группировки), а также документы оплаты по ним (это второй уровень), вытащенные с помощью контрагента и договора. Проблема в том, что если в запросе поставить итоги, то цифры себестоимости и продажи умножаются на количество документов оплаты, а без итогов не работает группировка. Вот текст запроса: "ВЫБРАТЬ | ХозрасчетныйОбороты.Субконто3 КАК Авто, | МИНИМУМ(ХозрасчетныйОбороты.КорСубконто1) КАК Контрагент, | МИНИМУМ(ХозрасчетныйОбороты.КорСубконто3) КАК ДокументПродажи, | ХозрасчетныйОборотыОплата.Субконто3 КАК ДокументОплатыПокупателя, | СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СтоимостьПродажи, | СУММА(ХозрасчетныйОборотыСебестоимость.СуммаОборотКт) КАК Себестоимость |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыручкаНеЕНВД), , Организация = &Организация, КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателями), ) КАК ХозрасчетныйОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)), , Организация = &Организация, КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД), ) КАК ХозрасчетныйОборотыСебестоимость | ПО ХозрасчетныйОбороты.Субконто3 = ХозрасчетныйОборотыСебестоимость.Субконто1 | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, , , Счет В ИЕРАРХИИ (&Сч62), , Организация = &Организация, КорСчет В ИЕРАРХИИ (&СчетаДС), ) КАК ХозрасчетныйОборотыОплата | ПО ХозрасчетныйОбороты.КорСубконто1 = ХозрасчетныйОборотыОплата.Субконто1 | И ХозрасчетныйОбороты.КорСубконто2 = ХозрасчетныйОборотыОплата.Субконто2 |ГДЕ | ХозрасчетныйОбороты.Субконто3.НоменклатурнаяГруппа = &НГАвтомобили | |СГРУППИРОВАТЬ ПО | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОборотыОплата.Субконто3 | |ИТОГИ ПО | ОБЩИЕ, | Авто |АВТОУПОРЯДОЧИВАНИЕ"; Все МИНИМУМы исключительно для того, чтобы эти данные не попадали в группировку. Конфа - БП 3.0. |
|||
1
asady
05.11.15
✎
09:15
|
(0) вместо лефт джйна делай юнион
|
|||
2
OldMonk
05.11.15
✎
09:46
|
(1) но как тогда указать, по каким контрагентам и договорам взять данные по оплате? они же не все подряд нужны, а только те, что попали в первый запрос.
|
|||
3
asady
05.11.15
✎
10:03
|
(2)собери их в temptable как вариант
|
|||
4
ultrannge89
05.11.15
✎
10:09
|
А выбрать и сгруппировать, а во второй таблице уже упорядочить? Не?
|
|||
5
ultrannge89
05.11.15
✎
10:10
|
Стараюсь не делать 2 соединения в одной таблице...
|
|||
6
OldMonk
05.11.15
✎
10:46
|
(1) в общем, большое спасибо за идею! хоть и пришлось продублировать часть первого запроса во втором, но зато так работают и итоги и группировка. проблема только, что высвечивается пустая строка из первого запроса, т.к. там нет данных по документам оплаты, но ее можно убрать при выводе.
"ВЫБРАТЬ | ХозрасчетныйОбороты.Субконто3 КАК Авто, | МИНИМУМ(ХозрасчетныйОбороты.КорСубконто1) КАК Контрагент, | МИНИМУМ(ХозрасчетныйОбороты.КорСубконто3) КАК ДокументПродажи, | СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СтоимостьПродажи, | СУММА(ХозрасчетныйОборотыСебестоимость.СуммаОборотКт) КАК Себестоимость, | 0 КАК ДокументОплатыПокупателя |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыручкаНеЕНВД), , Организация = &Организация, КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателями), ) КАК ХозрасчетныйОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)), , Организация = &Организация, КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД), ) КАК ХозрасчетныйОборотыСебестоимость | ПО ХозрасчетныйОбороты.Субконто3 = ХозрасчетныйОборотыСебестоимость.Субконто1 |ГДЕ | ХозрасчетныйОбороты.Субконто3.НоменклатурнаяГруппа = &НГАвтомобили | |СГРУППИРОВАТЬ ПО | ХозрасчетныйОбороты.Субконто3 | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОбороты.КорСубконто1, | ХозрасчетныйОбороты.КорСубконто3, | 0, | 0, | ХозрасчетныйОборотыОплата.Субконто3 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыручкаНеЕНВД), , Организация = &Организация, КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателями), ) КАК ХозрасчетныйОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, , , Счет В ИЕРАРХИИ (&Сч62), , Организация = &Организация, КорСчет В ИЕРАРХИИ (&СчетаДС), ) КАК ХозрасчетныйОборотыОплата | ПО ХозрасчетныйОбороты.КорСубконто1 = ХозрасчетныйОборотыОплата.Субконто1 | И ХозрасчетныйОбороты.КорСубконто2 = ХозрасчетныйОборотыОплата.Субконто2 |ГДЕ | ХозрасчетныйОбороты.Субконто3.НоменклатурнаяГруппа = &НГАвтомобили |ИТОГИ ПО | ОБЩИЕ, | Авто"; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |