|   |   | 
| 
 | Группировка в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        lite777 26.09.22✎ 16:08 | 
        Здравствуйте , есть запрос где пытаюсь вычислить остаток долга по заказу, не мойму почему консоль запросов пишет что поля - ЗаказыПокупателейОстатки.ЗаказаноОстаток,
 РасчетыСКлиентамиОстатки.СуммаОстаток, ЗаказКлиентаТовары.Сумма, ЗаказКлиентаТовары.КоличествоУпаковок не входять в группировку, -ОШИБКА в ЗАПРОСЕ, мне нужно просуммировать строки из заказа но количество взять и РГ - ЗаказыПокупателейОстатки.ЗаказаноОстаток * ЗаказКлиентаТовары.Сумма/ЗаказКлиентаТовары.КоличествоУпаковок КАК СуммаСтроки , ВЫБРАТЬ РАЗРЕШЕННЫЕ СтатусыЗаказовКлиентовСрезПоследних.ЗаказКлиента КАК Ссылка, СтатусыЗаказовКлиентовСрезПоследних.СтатусЗаказаКлиента КАК Статус, ЗаказыПокупателейОстатки.ЗаказаноОстаток * ЗаказКлиентаТовары.Сумма/ЗаказКлиентаТовары.КоличествоУпаковок КАК СуммаСтроки , РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток ПОМЕСТИТЬ ВТТОВАРЫ ИЗ РегистрСведений.СтатусыЗаказовКлиентов.СрезПоследних КАК СтатусыЗаказовКлиентовСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(, ) КАК ЗаказыПокупателейОстатки ПО (СтатусыЗаказовКлиентовСрезПоследних.ЗаказКлиента = ЗаказыПокупателейОстатки.Заказ) ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары ПО (ЗаказыПокупателейОстатки.Заказ = ЗаказКлиентаТовары.Ссылка) И (ЗаказКлиентаТовары.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура) И (ЗаказКлиентаТовары.Характеристика = ЗаказыПокупателейОстатки.Характеристика) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Остатки(,) КАК РасчетыСКлиентамиОстатки ПО ЗаказыПокупателейОстатки.Заказ=РасчетыСКлиентамиОстатки.ЗаказПокупателя ГДЕ СтатусыЗаказовКлиентовСрезПоследних.СтатусЗаказаКлиента <> ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказаКлиента.Закрыт) И СтатусыЗаказовКлиентовСрезПоследних.СтатусЗаказаКлиента <> ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказаКлиента.Отменен) И СтатусыЗаказовКлиентовСрезПоследних.ЗаказКлиента.Магазин = &Магазин СГРУППИРОВАТЬ ПО СтатусыЗаказовКлиентовСрезПоследних.ЗаказКлиента, СтатусыЗаказовКлиентовСрезПоследних.СтатусЗаказаКлиента, ЗаказыПокупателейОстатки.ЗаказаноОстаток, РасчетыСКлиентамиОстатки.СуммаОстаток, ЗаказКлиентаТовары.Сумма, ЗаказКлиентаТовары.КоличествоУпаковок ; ВЫБРАТЬ ВТТОВАРЫ.Ссылка , ВТТОВАРЫ.Ссылка.Дата КАК Дата, ВТТОВАРЫ.Ссылка.Номер КАК Номер, ВТТОВАРЫ.Ссылка.Магазин КАК Магазин, ВТТОВАРЫ.Ссылка.СуммаДокумента КАК СуммаДокумента, ВТТОВАРЫ.Ссылка.НомерЗаказаНаСайте КАК НомерЗаказаНаСайте, ВТТОВАРЫ.Ссылка.Клиент КАК Клиент, ВТТОВАРЫ.Ссылка.ТелефонКлиента КАК Телефон, ВТТОВАРЫ.Статус , ВТТОВАРЫ.Ссылка.СуммаДокумента-( ЕСТЬNULL( СУММА(СуммаСтроки),0) - ЕСТЬNULL(СуммаОстаток,0) ) КАК Оплачено , ЕСТЬNULL( СУММА(СуммаСтроки),0)-ЕСТЬNULL(СуммаОстаток,0) КАК ОстатокОплаты ИЗ ВТТОВАРЫ КАК ВТТОВАРЫ СГРУППИРОВАТЬ ПО ВТТОВАРЫ.Ссылка, ВТТОВАРЫ.Статус , СуммаОстаток УПОРЯДОЧИТЬ ПО ВТТОВАРЫ.Ссылка.Дата УБЫВ | |||
| 1
    
        lite777 26.09.22✎ 16:11 | 
        Вот Это все пришлось посадить в группировку
 ЗаказыПокупателейОстатки.ЗаказаноОстаток, РасчетыСКлиентамиОстатки.СуммаОстаток, ЗаказКлиентаТовары.Сумма, ЗаказКлиентаТовары.КоличествоУпаковок | |||
| 2
    
        lite777 26.09.22✎ 16:36 | 
        похоже надо сделать СУММА(ЗаказыПокупателейОстатки.ЗаказаноОстаток  * ЗаказКлиентаТовары.Сумма/ЗаказКлиентаТовары.КоличествоУпаковок)     | |||
| 3
    
        Мультук гуру 26.09.22✎ 17:38 | 
        (2) 
 Так как у тебя ЛЕВОЕ СОЕДИНЕНИЕ неплохо было бы использовать еще и ЕСТЬNULL | |||
| 4
    
        rudnitskij 26.09.22✎ 18:05 | 
        (0) Левое соединение с виртуальными таблицами КАТЕГОРИЧЕСКИ НЕ РЕКОМЕНДУЕТСЯ во первых с точки зрения производительности
 во вторых, оно может хрен пойми какие результаты давать. Остатки пишите во временную таблицу и соединение делайте уже с ней | |||
| 5
    
        Мультук гуру 26.09.22✎ 18:18 | 
        (4) 
 >>во вторых, оно может хрен пойми какие результаты давать. Типа один раз 8 мешков, а другой 3 литра? Можно пруф на данную ситуацию ? | |||
| 6
    
        mistеr 26.09.22✎ 19:25 | 
        (5) Имеется в виду, что может выбираться не оптимальный план. Не всегда, а иногда. То есть нестабильность плана.     | |||
| 7
    
        rudnitskij 26.09.22✎ 23:12 | 
        (6) Именно так     | |||
| 8
    
        rudnitskij 26.09.22✎ 23:13 | 
        (5) судя по комментарию, вы еще не пришли к стадии "как же мало я знаю 1С") К ней приходят лет после 5 стажа     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |