![]() |
|
Синтаксическая ошибка "СГРУППИРОВАТЬ" | ☑ | ||
---|---|---|---|---|
0
GreenDay1986
30.08.11
✎
14:08
|
Синтаксическая ошибка "СГРУППИРОВАТЬ"
<<?>>СГРУППИРОВАТЬ ПО Склады.Номенклатура, Результат = Запрос.Выполнить().Выбрать(); Вот текст запроса "ВЫБРАТЬ |Склады.Номенклатура.Родитель КАК Родитель, |1 КАК Поле1, |Склады.Номенклатура.Код КАК Код, |Склады.Номенклатура.Артикул КАК Артикул, |Склады.Номенклатура.ссылка КАК Наименование, |Склады.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Коэффициент, |Склады.КоличествоОстаток КАК Остаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) КАК Цена |ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаСреза)КАК Склады |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза,ТипЦен = &Цена) КАК Цен |ПО Склады.Номенклатура.Ссылка = Цен.Номенклатура.Ссылка |"; Если ЗначениеЗаполнено(Родитель) = Ложь Тогда Иначе Запрос.Текст = Запрос.Текст + " ГДЕ Склады.Номенклатура.Родитель = &Ном |СГРУППИРОВАТЬ ПО Склады.Номенклатура, |Склады.Номенклатура.Родитель, |Склады.КоличествоОстаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) |ИТОГИ Сумма(Поле1) ПО Наименование ТОЛЬКО ИЕРАРХИЯ |"; |
|||
1
butterbean
30.08.11
✎
14:13
|
хз почему ругается, но нафига группировать если нет ни одной агрегатной функции
|
|||
2
GreenDay1986
30.08.11
✎
14:20
|
Пишу выгрузку прайса, группировки нужны для иерархии номенклатурных групп типа
Родитель 1 - наименование 1, - наименование 2, ........ -наименование n Родитель 2 - Наименование1 и т.д.... |
|||
3
butterbean
30.08.11
✎
14:25
|
(2) они не для этого, для этого у тебя ИТОГИ есть
|
|||
4
Ёпрст
гуру
30.08.11
✎
14:25
|
(0) в group by должны быть перечислено всё то же самое, что и в select листе (за исключением функций)
у тебя - и половины нет. |
|||
5
hhhh
30.08.11
✎
14:28
|
(4) не, то что через две точки можно спокойно выкинуть. Он так и сделал, только Номенклатура.Родитель забыл выбросить.
|
|||
6
Rovan
гуру
30.08.11
✎
14:28
|
а зачем так делать ?
|ПО Склады.Номенклатура.Ссылка = Цен.Номенклатура.Ссылка разве не работает ? |ПО Склады.Номенклатура = Цен.Номенклатура |
|||
7
GreenDay1986
30.08.11
✎
14:44
|
Ога, итогами и обощелся, для 1 номенклатурной группы включил ростое упорядочивание с итогами
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Склады.Номенклатура.Родитель КАК Родитель, |1 КАК Поле1, |Склады.Номенклатура.Код КАК Код, |Склады.Номенклатура.Артикул КАК Артикул, |Склады.Номенклатура.ссылка КАК Наименование, |Склады.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Коэффициент, |Склады.КоличествоОстаток КАК Остаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) КАК Цена |ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаСреза)КАК Склады |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза,ТипЦен = &Цена) КАК Цен |ПО Склады.Номенклатура.Ссылка = Цен.Номенклатура.Ссылка |"; Если ЗначениеЗаполнено(Родитель) = Ложь Тогда Запрос.Текст = Запрос.Текст + " СГРУППИРОВАТЬ ПО Склады.Номенклатура, |Склады.Номенклатура.Родитель, |Склады.КоличествоОстаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) |ИТОГИ Сумма(Поле1) ПО Наименование ТОЛЬКО ИЕРАРХИЯ |"; Иначе Запрос.Текст = Запрос.Текст + "ГДЕ Склады.Номенклатура.Родитель = &Ном |УПОРЯДОЧИТЬ ПО Склады.Номенклатура.Ссылка |ИТОГИ Сумма(Поле1) ПО Наименование ТОЛЬКО ИЕРАРХИЯ |"; КонецЕсли; Насчет упорядочивать не согласен что все нужно прописывать, для незаполненного родителя все работает и группируется, при заполненном нет |
|||
8
GreenDay1986
30.08.11
✎
14:53
|
Извиняюсь. Все работает, сам балбес
"ВЫБРАТЬ |Склады.Номенклатура.Родитель КАК Родитель, |1 КАК Поле1, |Склады.Номенклатура.Код КАК Код, |Склады.Номенклатура.Артикул КАК Артикул, |Склады.Номенклатура.ссылка КАК Наименование, |Склады.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Коэффициент, |Склады.КоличествоОстаток КАК Остаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) КАК Цена |ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаСреза)КАК Склады |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза,ТипЦен = &Цена) КАК Цен |ПО Склады.Номенклатура.Ссылка = Цен.Номенклатура.Ссылка |"; Если ЗначениеЗаполнено(Родитель) = Ложь Тогда Запрос.Текст = Запрос.Текст + "СГРУППИРОВАТЬ ПО Склады.Номенклатура, |Склады.Номенклатура.Родитель, |Склады.КоличествоОстаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) |ИТОГИ Сумма(Поле1) ПО Наименование ТОЛЬКО ИЕРАРХИЯ |"; Иначе Запрос.Текст = Запрос.Текст + "ГДЕ Склады.Номенклатура.Родитель = &Ном |СГРУППИРОВАТЬ ПО Склады.Номенклатура, |Склады.Номенклатура.Родитель, |Склады.КоличествоОстаток, |ВЫРАЗИТЬ(Цен.Цена - (Цен.Цена/100)*&Скидка КАК ЧИСЛО(10,2)) |ИТОГИ Сумма(Поле1) ПО Наименование ТОЛЬКО ИЕРАРХИЯ |"; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |