Имя: Пароль:
1C
1С v8
СКД, как отключить группировку по измерению?
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) Чего хочешь в итоге сделать-то? Нафига к остаткам! присоединять таб. часть? Может наоборот надо?