|
СКД, как отключить группировку по измерению? | ☑ | ||
---|---|---|---|---|
0
LLIaMaH
30.10.16
✎
09:41
|
Есть запрос. Исходный запрос конечно не такой, многоэтажний запрос типового отчета, а это просто смоделировал на простом варианте. ЛЕвое соединение по ТЧ Товары получается "размножает" строки по регистру, потом при формировании отчета, сумма по документу умножается на количество строк номенклатуры. Как в СКД от этого избавиться, хотя бы в сторону каких настроек копать, Роли, Группировки ресурсов, или настройки варианта.
ВЫБРАТЬ &Группировка КАК допГруппировка, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация КАК Организация, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток, РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, РеализацияТоваровУслугТовары.Количество {ВЫБРАТЬ Организация.*, Контрагент.*, ДокументРасчетовСКонтрагентом.*, допГруппировка, Номенклатура.*} ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ПО ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом = РеализацияТоваровУслугТовары.Ссылка На фоторезультата видно что сумма по документу реализации 62000, а каждая строка 15000, в реальности Сумма документа 15000... https://yadi.sk/i/ulwEj5sdxp89C |
|||
1
craxx
30.10.16
✎
10:11
|
(0) запрос по человечески составить, как минимум
|
|||
2
craxx
30.10.16
✎
10:12
|
(0)+ у вас с каждой строчкой номенклатуры сумма взаиморасчетов соединяется.
|
|||
3
LLIaMaH
30.10.16
✎
10:17
|
А как, например. Если мне нада выбрать содержимое Табличной части, не обязательно Товары. не у каждого ДокументРасчетовСКонтрагентом она есть или есть содержимой в ней.
|
|||
4
craxx
30.10.16
✎
10:39
|
(3) Включить голову и подумать нестандартно.
например так: ВЫБРАТЬ ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Организация, ВложенныйЗапрос.ДокументРасчетовСКонтрагентом, ВложенныйЗапрос.Номенклатура, СУММА(ВложенныйЗапрос.СуммаВзаиморасчетовОстаток) КАК СуммаВзаиморасчетовОстаток, СУММА(ВложенныйЗапрос.Количество) КАК Количество ИЗ (ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация КАК Организация, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток, 0 КАК Количество ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом, РеализацияТоваровУслугТовары.Номенклатура, 0, РеализацияТоваровУслугТовары.Количество ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары, РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.ДокументРасчетовСКонтрагентом, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Организация |
|||
5
LLIaMaH
30.10.16
✎
10:44
|
В принципе так работает
ВЫБРАТЬ &Группировка КАК допГруппировка, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация КАК Организация, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток, РеализацияТоваровУслуг.Товары.( Ссылка, НомерСтроки, Номенклатура, Количество ) {ВЫБРАТЬ Организация.*, Контрагент.*, ДокументРасчетовСКонтрагентом.*, допГруппировка} ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом = РеализацияТоваровУслуг.Ссылка |
|||
6
LLIaMaH
30.10.16
✎
10:50
|
(4) проанализирую конечно, но конечная цель прицепить к многоэтжному запросу типового отчета, строчки из ТЧ, с минимальными изменениями, у меня пока ума не хватит перелопатить его на стока :)
|
|||
7
LLIaMaH
31.10.16
✎
09:37
|
Может кто еще идей накинет.
Проанализировал вариант craxxa теперь другой затык. Когда выводятся строки по номенклатуре, пропадает соответственно сумма по документу. Сумма по документу все же необходима при выводе поля с номенклатурой, но она НЕ должна суммироваться в разрезе документов и должна суммироваться по остальным измерениям. Повторю, что данный запрос это моделирование более сложного и объемного. Вместо номенклатуры там ТЧ с менеджерами у которых вбит процент, по которому нада рассчитать цифру от суммы документа. ВЫБРАТЬ &Группировка КАК допГруппировка, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация КАК Организация, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, NULL КАК Номенклатура, 0 КАК Количество, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток {ВЫБРАТЬ Организация.*, Контрагент.*, ДокументРасчетовСКонтрагентом.*, допГруппировка, Номенклатура} ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &Группировка, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом, РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, 0 ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ПО ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом = РеализацияТоваровУслугТовары.Ссылка https://yadi.sk/i/4MY0GFhtxrgkj |
|||
8
Homer
31.10.16
✎
09:56
|
если будет фиксированы группировки то можно воспользоватся "Вычислить"
|
|||
9
craxx
31.10.16
✎
12:01
|
(7) давай полную задачу. можно в почту в личке.
|
|||
10
aleks_default
31.10.16
✎
12:10
|
(7) Чего хочешь в итоге сделать-то? Нафига к остаткам! присоединять таб. часть? Может наоборот надо?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |