Помогите, пожалуйста, в очередной раз.
Есть запрос:
ТипЗ = Константа.Изделие;
ТекстЗапроса = "
| Select
| Рег.Магазин as Склад,
| Рег.Товар as Товар,
| $Номен.ВидИзделия as Вид,
| $Номен.Тип as Тип,
| $Номен.ТипПФ as ТипПФ,
| Рег.Партия as Партия,
| $ПартЗ.Распродажа as Акция,
| $ПартЗ.ВидУчета as Вуду,
| $ПартЗ.Поставщик as Клиент,
| $ПартЗ.Фирма as Фирмочка,
| $ПартЗ.ВладелецТовара as ВладелецТовара,
| $ПартЗ.Цвет as Цвет,
| $ПартЗ.Размер as Размер,
| $ПартЗ.БрилКол as БрилКол,
| $ПартЗ.ЦвДрКол as ЦвДрКол,
| $ПартЗ.ЖемчугКол as ЖемчугКол,
| Рег.КоличествоОстаток as ШтОст,
| Рег.МассаОстаток as МОст,
| Рег.МассаБКОстаток as МБКОст,
| Рег.СуммаПродажиОстаток as КПОст,
| Рег.СуммаОстаток as КОст
| FROM
| $РегистрОстатки.Взаиморасщеты(,,,,) as Рег
| left join $Справочник.Номенклатура as Номен (nolock) on Номен.id = Рег.Товар
| left join $Справочник.Партии as ПартЗ (nolock) on ПартЗ.id = Рег.Партия
|Where
| Рег.КоличествоОстаток > 0
| AND $Номен.Тип = :ТипЗ
| /*УсловияСклад*/
| /*УсловияАкц*/
| /*УсловиеТипПФ*/
| /*УсловиеФирма*/
| /*УсловиеВыбКод*/
| /*УсловиеПоставщик*/
| /*УсловиеВид*/
| /*УсловиеКлиент*/
| /*УсловиеУчет*/
| /*УсловиеРазмер*/
| /*УсловиеБрилКол*/
| /*УсловиеЦвДрЦ*/
| /*УсловиеБриллДраг*/
| /*УсловиеЖемчуг*/
| /*УсловиеЦиркон*/
| /*УсловиеЦвет*/
|group by
| Рег.Магазин,$Номен.ВидИзделия,Рег.Товар,Рег.Партия
|";
Запрос = СоздатьОбъект("ODBCRecordSet");
В результате выдает по отладке:
Select
Рег.Магазин as Склад,
Рег.Товар as Товар,
Номен.sp2188 as Вид,
Номен.sp647 as Тип,
Номен.sp221 as ТипПФ,
Рег.Партия as Партия,
ПартЗ.sp10635 as Акция,
ПартЗ.sp2914 as Вуду,
ПартЗ.sp79 as Клиент,
ПартЗ.sp4000 as Фирмочка,
ПартЗ.sp9604 as ВладелецТовара,
ПартЗ.sp2702 as Цвет,
ПартЗ.sp2555 as Размер,
ПартЗ.sp2171 as БрилКол,
ПартЗ.sp2168 as ЦвДрКол,
ПартЗ.sp2174 as ЖемчугКол,
Рег.КоличествоОстаток as ШтОст,
Рег.МассаОстаток as МОст,
Рег.МассаБКОстаток as МБКОст,
Рег.СуммаПродажиОстаток as КПОст,
Рег.СуммаОстаток as КОст
FROM
(
select
rg478_vt.sp2508 as ВидОперации,
rg478_vt.sp479 as Магазин,
rg478_vt.sp2104 as Товар,
rg478_vt.sp2105 as Партия,
rg478_vt.sp3998 as Клиент,
rg478_vt.sp9274 as ТипОплаты,
rg478_vt.sp2107 as КоличествоОстаток,
rg478_vt.sp894 as МассаОстаток,
rg478_vt.sp2106 as МассаБКОстаток,
rg478_vt.sp3996 as СуммаВходОстаток,
rg478_vt.sp482 as СуммаОстаток,
rg478_vt.sp2913 as СуммаПродажиОстаток
from rg478 as rg478_vt (nolock)
where rg478_vt.period={d '2014-09-01'}
and (
rg478_vt.sp2107 <> 0 or
rg478_vt.sp894 <> 0 or
rg478_vt.sp2106 <> 0 or
rg478_vt.sp3996 <> 0 or
rg478_vt.sp482 <> 0 or
rg478_vt.sp2913 <> 0
)
) as Рег
left join sc58 as Номен (nolock) on Номен.id = Рег.Товар
left join sc77 as ПартЗ (nolock) on ПартЗ.id = Рег.Партия
Where
Рег.КоличествоОстаток > 0
AND Номен.sp647 = ' 1 '
AND Рег.Магазин = ' 2 '
/*УсловияАкц*/
AND Номен.sp221 = ' 2 '
/*УсловиеФирма*/
/*УсловиеВыбКод*/
/*УсловиеПоставщик*/
/*УсловиеВид*/
/*УсловиеКлиент*/
/*УсловиеУчет*/
/*УсловиеРазмер*/
/*УсловиеБрилКол*/
/*УсловиеЦвДрЦ*/
/*УсловиеБриллДраг*/
/*УсловиеЖемчуг*/
/*УсловиеЦиркон*/
/*УсловиеЦвет*/
group by
Рег.Магазин,Номен.sp2188,Рег.Товар,Рег.Партия
ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
{D:\#TEST\SQL\РЕАЛИЗАЦИЯДОХОД07.ERT(3044)}: State 42000, native 8120, message [Microsoft][ODBC SQL Server Driver][SQL Server]Столбец "sc58.SP647" недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY.
Так понимаю, что оно ругается на какое-то поле, которое есть в выборке, но нет в группировке...
Как понять чего он хочет. Подскажите, Пожалуйста.