День добрый!Есть такой запрос ТекстЗапроса = " |SELECT | |"; //Если Докум=1 Тогда ТекстЗапроса = ТекстЗапроса + " | Жур.IDDoc as [Док $Документ.Реализация], | Жур.DocNo as НомерДок, | CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок, |"; //КонецЕсли; ТекстЗапроса = ТекстЗапроса + " | $ДокС.Номенклатура as [Номенклатура $Справочник.Номенклатура], | $ДокС.Количество as Количество, | $ДокС.Сумма as Сумма |FROM | _1SJourn Жур |INNER JOIN | $Документ.Реализация as Док With (NOLOCK) ON Жур.IDDoc = Док.IDDoc | AND $Док.КодОперации = :Статус |INNER JOIN | $ДокументСтроки.Реализация as ДокС With (NOLOCK) ON Жур.IDDoc = ДокС.IDDoc | AND $ДокС.Количество>0 |WHERE | Жур.Date_Time_IDDoc BETWEEN :НачДата | AND :КонДата~ | AND Жур.Closed & 1 = 1 |"; RS.Отладка(1); RS.УстановитьТекстовыйПараметр("НачДата",ВыбНачПериода); RS.УстановитьТекстовыйПараметр("КонДата",ВыбКонПериода); Если режП=3 Тогда RS.УстановитьТекстовыйПараметр("Статус",Перечисление.КодыОпераций.Продажа); Иначе RS.УстановитьТекстовыйПараметр("Статус",Перечисление.КодыОпераций.Заявка); ТекстЗапроса = ТекстЗапроса + " |AND $Док.ДатаОтгрузки <= :ДатаОтгрузки"; КонецЕсли; RS.УстановитьТекстовыйПараметр("ДатаОтгрузки",ДатаОтгрузки); Если ВыбНоменклатура.РазмерСписка()>0 Тогда ТекстЗапроса = ТекстЗапроса + " |AND $ДокС.Номенклатура IN (SELECT Val FROM #Nom)"; RS.УложитьСписокОбъектов(ВыбНоменклатура,"#Nom","Номенклатура"); КонецЕсли; Если ПустоеЗначение(ВыбТочныйВес)=0 Тогда ТекстЗапроса = ТекстЗапроса + " |AND $Док.ТочныйВес = :ТочныйВес"; RS.УстановитьТекстовыйПараметр("ТочныйВес",ВыбТочныйВес); КонецЕсли; //группировка ТекстЗапроса = ТекстЗапроса + " |GROUP BY Жур.IDDoc //|ORDER BU Жур.DocNo |"; ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ.ВыбратьСтроку();
на SQL идет SELECT
Жур.IDDoc as [Док $Документ.Реализация], Жур.DocNo as НомерДок, CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок,
ДокС.sp1599 as [Номенклатура $Справочник.Номенклатура], ДокС.sp1600 as Количество, ДокС.sp1604 as Сумма FROM _1SJourn Жур INNER JOIN dh1611 as Док With (NOLOCK) ON Жур.IDDoc = Док.IDDoc AND Док.sp3338 = ' 755 ' INNER JOIN dt1611 as ДокС With (NOLOCK) ON Жур.IDDoc = ДокС.IDDoc AND ДокС.sp1600>0 WHERE Жур.Date_Time_IDDoc BETWEEN '20080201' AND '20080227Z' AND Жур.Closed & 1 = 1
AND Док.sp9267 <= '20080227' GROUP BY Жур.IDDoc
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса); {C:\DOCUMENTS AND SETTINGS\ADMIN\МОИ ДОКУМЕНТЫ\СЧЕТА ЗАЯВКИ_NEW.ERT(202)}: State 42000, native 8120, message [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'Жур.DOCNO' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Где ошибка?
|