Имя: Пароль:
1C
1С v8
Количество элементов выборки запроса с итогами
0 Slon747
 
29.10.19
13:53
Запрос с итогами.
Можно ли получить кол-во элементов внутренней группировки?
Или придется обходить группировки выборки и перебором считать?
1 RomaH
 
naïve
29.10.19
13:58
итоговое поле количество или сумма не пойдет?
2 RomanYS
 
29.10.19
13:59
дублировать нужные поля и
Итоги количество (различные ПолеСчетчик)
3 dka80
 
29.10.19
14:00
Можно. Если итоговое поле "Количество" не подходит по каким-то причинам, например, добавить колонку "Количество" со значением 1 и итог по нему "Сумма"
4 DrWatson
 
29.10.19
14:07
(0) Метод Количество() у выборки не подходит?
5 Консультант Баранов
 
29.10.19
14:13
ВЫБРАТЬ
    АвансовыйОтчетТовары.Ссылка.Склад КАК Склад,
    АвансовыйОтчетТовары.Номенклатура КАК Номенклатура,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ АвансовыйОтчетТовары.Ссылка) КАК Ссылка,
    СУММА(АвансовыйОтчетТовары.Количество) КАК Количество,
    СУММА(АвансовыйОтчетТовары.Сумма) КАК Сумма
ПОМЕСТИТЬ втДанные
ИЗ
    Документ.АвансовыйОтчет.Товары КАК АвансовыйОтчетТовары

СГРУППИРОВАТЬ ПО
    АвансовыйОтчетТовары.Ссылка.Склад,
    АвансовыйОтчетТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    взКоличествоНоменклатураНаСкладе.Склад КАК Склад,
    взКоличествоНоменклатураНаСкладе.Номенклатура КАК Номенклатура,
    взКоличествоНоменклатураНаСкладе.КоличествоНоменклатурыНаСкладе КАК КоличествоНоменклатурыНаСкладе
ПОМЕСТИТЬ втКоличествоНоменклатураНаСкладе
ИЗ
    (ВЫБРАТЬ
        втДанные.Склад КАК Склад,
        втДанные.Номенклатура КАК Номенклатура,
        СУММА(1) КАК КоличествоНоменклатурыНаСкладе
    ИЗ
        втДанные КАК втДанные
    
    СГРУППИРОВАТЬ ПО
        втДанные.Склад,
        втДанные.Номенклатура) КАК взКоличествоНоменклатураНаСкладе
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втДанные.Склад КАК Склад,
    втДанные.Номенклатура КАК Номенклатура,
    втДанные.Ссылка КАК Ссылка,
    втДанные.Количество КАК Количество,
    втДанные.Сумма КАК Сумма,
    1 КАК КоличествоСтрок,
    втКоличествоНоменклатураНаСкладе.КоличествоНоменклатурыНаСкладе КАК КоличествоНоменклатурыНаСкладе
ИЗ
    втДанные КАК втДанные
        ЛЕВОЕ СОЕДИНЕНИЕ втКоличествоНоменклатураНаСкладе КАК втКоличествоНоменклатураНаСкладе
        ПО втДанные.Склад = втКоличествоНоменклатураНаСкладе.Склад
            И втДанные.Номенклатура = втКоличествоНоменклатураНаСкладе.Номенклатура
ИТОГИ
    СУММА(Количество),
    СУММА(Сумма),
    СУММА(КоличествоСтрок),
    МАКСИМУМ(КоличествоНоменклатурыНаСкладе)
ПО
    ОБЩИЕ,
    Склад,
    Номенклатура,
    Ссылка
6 Консультант Баранов
 
29.10.19
14:17
"ВЫБРАТЬ
|    АвансовыйОтчетТовары.Ссылка.Склад КАК Склад,
|    АвансовыйОтчетТовары.Номенклатура КАК Номенклатура,
|    АвансовыйОтчетТовары.Ссылка КАК Ссылка,
|    СУММА(АвансовыйОтчетТовары.Количество) КАК Количество,
|    СУММА(АвансовыйОтчетТовары.Сумма) КАК Сумма
|ПОМЕСТИТЬ втДанные
|ИЗ
|    Документ.АвансовыйОтчет.Товары КАК АвансовыйОтчетТовары
|
|СГРУППИРОВАТЬ ПО
|    АвансовыйОтчетТовары.Ссылка.Склад,
|    АвансовыйОтчетТовары.Номенклатура,
|    АвансовыйОтчетТовары.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    взКоличествоНоменклатураНаСкладе.Склад КАК Склад,
|    взКоличествоНоменклатураНаСкладе.Номенклатура КАК Номенклатура,
|    взКоличествоНоменклатураНаСкладе.КоличествоНоменклатурыНаСкладе КАК КоличествоНоменклатурыНаСкладе
|ПОМЕСТИТЬ втКоличествоНоменклатураНаСкладе
|ИЗ
|    (ВЫБРАТЬ
|        втДанные.Склад КАК Склад,
|        втДанные.Номенклатура КАК Номенклатура,
|        СУММА(1) КАК КоличествоНоменклатурыНаСкладе
|    ИЗ
|        втДанные КАК втДанные
|    
|    СГРУППИРОВАТЬ ПО
|        втДанные.Склад,
|        втДанные.Номенклатура) КАК взКоличествоНоменклатураНаСкладе
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    втДанные.Склад КАК Склад,
|    втДанные.Номенклатура КАК Номенклатура,
|    втДанные.Ссылка КАК Ссылка,
|    втДанные.Количество КАК Количество,
|    втДанные.Сумма КАК Сумма,
|    1 КАК КоличествоСтрок,
|    втКоличествоНоменклатураНаСкладе.КоличествоНоменклатурыНаСкладе КАК КоличествоНоменклатурыНаСкладе
|ИЗ
|    втДанные КАК втДанные
|        ЛЕВОЕ СОЕДИНЕНИЕ втКоличествоНоменклатураНаСкладе КАК втКоличествоНоменклатураНаСкладе
|        ПО втДанные.Склад = втКоличествоНоменклатураНаСкладе.Склад
|            И втДанные.Номенклатура = втКоличествоНоменклатураНаСкладе.Номенклатура
|ИТОГИ
|    СУММА(Количество),
|    СУММА(Сумма),
|    СУММА(КоличествоСтрок),
|    МАКСИМУМ(КоличествоНоменклатурыНаСкладе)
|ПО
|    ОБЩИЕ,
|    Склад,
|    Номенклатура,
|    Ссылка"
7 Slon747
 
29.10.19
14:18
Всем спасибо!
Сделал "Итоги по ОБЩИЕ"
8 mistеr
 
29.10.19
14:47
Выборка.Количество() чем не подходит?
9 Slon747
 
29.10.19
15:15
(8) С тогами в запросе возвращает кол-во по конкретной выборке.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн