Имя: Пароль:
1C
 
Группировка по таблицам верхнего уровня и вложенным таблицам
🠗 (Волшебник 18.12.2023 20:07)
,
0 who respawn
 
18.12.23
16:15
Помогите пожалуйста, как группировку сделать

"ВЫБРАТЬ
    |    ВозвратТоваровПоставщику.Номер КАК Номер,
    |    ВозвратТоваровПоставщику.Дата КАК Дата,
    |    ВозвратТоваровПоставщику.Контрагент КАК Контрагент,
    |    ВозвратТоваровПоставщику.Организация КАК Организация,
    |    ВозвратТоваровПоставщику.Товары.(
    |        Номенклатура КАК Номенклатура,
    |        ВЫРАЗИТЬ(ВозвратТоваровПоставщику.Товары.Номенклатура.НаименованиеПолное КАК СТРОКА(255)) КАК НоменклатураНаименованиеПолное,
    |        Номенклатура.КодОракл КАК НоменклатураКодОракл,
    |        Количество КАК Количество,
    |        ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |        Цена КАК Цена,
    |        Сумма КАК Сумма,
    |        ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
    |    ) КАК Товары
    |ИЗ
    |    Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
    |ГДЕ
    |    ВозвратТоваровПоставщику.Ссылка = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО
    |    ВозвратТоваровПоставщику.Товары.(Номенклатура,
    |    Количество,
    |    ЕдиницаИзмерения,
    |    Цена,
    |    Сумма,
    |    ХарактеристикаНоменклатуры,
    |    ВЫРАЗИТЬ(ВозвратТоваровПоставщику.Товары.Номенклатура.НаименованиеПолное КАК СТРОКА(255)))";
1 RomanYS
 
18.12.23
16:19
(0) Никак. Ни нам, ни платформе не понятно, что ты хочешь сделать.
Попробуй начать с описания задачи, а не твоей попытки её решить
2 who respawn
 
18.12.23
16:20
(1) ну ок, вот запрос

"ВЫБРАТЬ
        |ВозвратТоваровПоставщику.Номер КАК Номер,
    |ВозвратТоваровПоставщику.Дата КАК Дата,
    |ВозвратТоваровПоставщику.Контрагент КАК Контрагент,
    |ВозвратТоваровПоставщику.Организация КАК Организация,
    |ВозвратТоваровПоставщику.Товары.(
        |Номенклатура КАК Номенклатура,
        |Номенклатура.НаименованиеПолное КАК НоменклатураНаименованиеПолное,
        |Номенклатура.КодОракл КАК НоменклатураКодОракл,
        |Количество КАК Количество,
        |ЕдиницаИзмерения КАК ЕдиницаИзмерения,
        |Цена КАК Цена,
        |Сумма КАК Сумма,
        |ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
    |) КАК Товары

|ИЗ
    |Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
|ГДЕ
    |ВозвратТоваровПоставщику.Ссылка = &ТекущийДокумент
    |";


мне нужно сгруппировать по номенклатуре, чтобы одинаковая номенклатура(пох на характеристику) схлапывалась в 1 строку
3 Donkey_hot
 
18.12.23
16:25
(2) Проще выбрать из ТЧ, нужные реквизиты шапки получить через точку от поля Ссылка. Соответственно, характеристику не выбирать, группировка по всем полям кроме числовых, как считать среднюю цену - это уж решите сами.
4 RomanYS
 
18.12.23
16:28
(2) группировка в таких подзапросах не поддерживается. Поэтому варианта два:
-не использовать такие подзапросы, а брать данные ТЧ в основной зарос
-сворачивать ТЗ в постобработке
5 who respawn
 
18.12.23
17:53
"ВЫБРАТЬ
    |    ВозвратТоваровПоставщикуТовары.Номенклатура КАК Номенклатура,
    |    ВозвратТоваровПоставщикуТовары.Номенклатура.КодОракл КАК НоменклатураКодОракл,
    |    ВозвратТоваровПоставщикуТовары.Количество КАК Количество,
    |    ВозвратТоваровПоставщикуТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ВозвратТоваровПоставщикуТовары.Цена КАК Цена,
    |    ВозвратТоваровПоставщикуТовары.Сумма КАК Сумма,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Номер КАК Номер,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Дата КАК Дата,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Контрагент КАК Контрагент,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Организация КАК Организация
    |ИЗ
    |    Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
    |ГДЕ
    |    ВозвратТоваровПоставщикуТовары.Ссылка = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО
    |    ВозвратТоваровПоставщикуТовары.Номенклатура,
    |    ВозвратТоваровПоставщикуТовары.Номенклатура.КодОракл,
    |    ВозвратТоваровПоставщикуТовары.Количество,
    |    ВозвратТоваровПоставщикуТовары.ЕдиницаИзмерения,
    |    ВозвратТоваровПоставщикуТовары.Цена,
    |    ВозвратТоваровПоставщикуТовары.Сумма,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Номер,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Дата,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Контрагент,
    |    ВозвратТоваровПоставщикуТовары.Ссылка.Организация";


почему не группирует?
6 RomanYS
 
18.12.23
17:58
так у тебя все поля в группировке. Обычно при группировке что-то просуммировать пытаются
7 vicof
 
18.12.23
17:58
Группирует. По тем полям, по которым ты указал.
8 who respawn
 
18.12.23
18:07
(6) (7) ну вот подскажите как сделать чтобы номенклатура одинаковая схлопнулась
я уже перепробовал не схлапывается
в консоли делаю
9 RomanYS
 
18.12.23
18:27
(8) как минимум убрать сумму из группировок и указать для неё агрегатную функцию.
Сумма(ВозвратТоваровПоставщикуТовары.Сумма)

Открой любой учебник или справочник и посмотри как работает "сгруппировать"
10 who respawn
 
18.12.23
18:38
(9) да я и так делал это
ВЫБРАТЬ
    ВозвратТоваровПоставщикуТовары.Номенклатура КАК Номенклатура,
    СУММА(ВозвратТоваровПоставщикуТовары.Номенклатура.КодОракл) КАК НоменклатураКодОракл,
    СУММА(ВозвратТоваровПоставщикуТовары.Количество) КАК Количество,
    ВозвратТоваровПоставщикуТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СУММА(ВозвратТоваровПоставщикуТовары.Цена) КАК Цена,
    СУММА(ВозвратТоваровПоставщикуТовары.Сумма) КАК Сумма,
    ВозвратТоваровПоставщикуТовары.Ссылка.Номер КАК Номер,
    ВозвратТоваровПоставщикуТовары.Ссылка.Дата КАК Дата,
    ВозвратТоваровПоставщикуТовары.Ссылка.Контрагент КАК Контрагент,
    ВозвратТоваровПоставщикуТовары.Ссылка.Организация КАК Организация,
    ВозвратТоваровПоставщикуТовары.Номенклатура.Артикул КАК НоменклатураАртикул
ИЗ
    Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
ГДЕ
    ВозвратТоваровПоставщикуТовары.Ссылка = &ТекущийДокумент

СГРУППИРОВАТЬ ПО
    ВозвратТоваровПоставщикуТовары.Номенклатура.Артикул,
    ВозвратТоваровПоставщикуТовары.Номенклатура,
    ВозвратТоваровПоставщикуТовары.Ссылка.Номер,
    ВозвратТоваровПоставщикуТовары.Ссылка.Дата,
    ВозвратТоваровПоставщикуТовары.Ссылка.Контрагент,
    ВозвратТоваровПоставщикуТовары.Ссылка.Организация,
    ВозвратТоваровПоставщикуТовары.ЕдиницаИзмерения
11 Donkey_hot
 
18.12.23
19:22
(10) И что Вас не удовлетворяет в результате работы этого запроса?
12 Волшебник
 
18.12.23
19:23
когда пишут СГРУППИРОВАТЬ ПО, то потом хотят ИМЕЮЩИЕ
13 Михаил Козлов
 
18.12.23
22:13
Радует:
СГРУППИРОВАТЬ ПО
    ВозвратТоваровПоставщикуТовары.Ссылка.Номер,
    ВозвратТоваровПоставщикуТовары.Ссылка.Дата,
    ВозвратТоваровПоставщикуТовары.Ссылка.Контрагент,
    ВозвратТоваровПоставщикуТовары.Ссылка.Организация,
14 who respawn
 
19.12.23
13:30
(13) ну так он их сам туда пихает (11) ну 2 строки ХАЛАТ с одинаковой ценой не схалпываются в одну