Добрый день!
Искал, не нашел...
Задача у меня такая, отобрать из регистра продажи данные по выбранной номенклатуре (без группировки по ней) и показать по "проектам". Регистр "Продажи" оборотный.
Измерения "Проект" в регистре нет, есть общий реквизит журнала. поэтому типовой запрос
ТекстЗапроса =
"
|Период с Нач по Кон;
|Номенклатура = Регистр.Продажи.Номенклатура;
|Проект = Регистр.Продажи.ТекущийДокумент.Реализация.Проект,
|Регистр.Продажи.ТекущийДокумент.ВозвратОтПокупателя.Проект;
|ПродСтоимость = Регистр.Продажи.ПродСтоимость;
|ПродСтоимостьВ = Регистр.Продажи.ПродСтоимостьВ;
|Количество = Регистр.Продажи.Количество;
|КоличествоВ = Регистр.Продажи.КоличествоВ;
|Функция ПродСтоимостьСумма = Сумма(ПродСтоимость);
|Функция ПродСтоимостьВСумма = Сумма(ПродСтоимостьВ);
|Функция КоличествоСумма = Сумма(Количество);
|Функция КоличествоВСумма = Сумма(КоличествоВ);
|Группировка Проект без групп;
|Условие(Номенклатура в СписНом);
|Условие(Проект в СписПроект);
|"//}}ЗАПРОС
;
Так понимаю, моя задача на прямом запросе сделать запрос к регистру и join с журналом, делаю это всё крайне редко, вот сейчас пробую, даже без проекта, чтоб разобраться и добавить отбор по проекту,но не работает, выдает ошибку..
Подскажите пожалуйста, что у меня не так с синтаксисом?
RS = СоздатьОбъект("ODBCRecordset");
RS.УстБД1С();
RS.УстановитьТекстовыйПараметр("Нач", Нач);
RS.УстановитьТекстовыйПараметр("Кон", Кон);
Если СписНом.РазмерСписка()>0 тогда
RS.УложитьСписокОбъектов(СписНом, "#Группа1", "Номенклатура");
КонецЕсли ;
ТекстЗапроса =
"
|SELECT
| Рег.Номенклатура [Номенклатура $Справочник.Номенклатура],
| Рег.КоличествоОборот ПродКоличество,
| Рег.КоличествоВОборот ПродКоличествоВ,
| Рег.ПродСтоимостьОборот ПродСтоимость,
| Рег.ПродСтоимостьВОборот ПродСтоимостьВ,
| Рег.IDDoc as [Документ $Документ],
| Рег.Период Год,
| CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок
|FROM
| $РегистрОбороты.Продажи(:Нач, :Кон~, Год) Рег
|INNER JOIN
| _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc
|WHERE
| Жур.Date_Time_IDDoc BETWEEN :Нач AND :Кон~ AND
| Жур.Closed & 1 = 1 "
;
Если (СписНом.РазмерСписка()>0) тогда
ТекстЗапроса = ТекстЗапроса+
"
|AND
| (Рег.Номенклатура IN (SELECT Val FROM #Группа1))
|";
КонецЕсли;
Текст ошибки выдает: State:42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server] Invalid Column Name 'IDDoc'
почему Invalid Column Name 'IDDoc' не могу понять
заранее спасибо....