Значение периодического реквизита в прямом запросе #495751


#0 by kaiiii
Пытаюсь вывести в форме списка спр. Номенклатура колонку с текущей розничной ценой. Не хочу стандартно, хочу через прямой запрос. Вот код: Ошибка на каждую строку списка : Возврат RS.ВыполнитьСкалярный; {Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(1241)}: State 42000, native 4104, message [Microsoft][ODBC SQL Server Driver][SQL Server]Не удалось привязать составной идентификатор "СпрН.ID". Пробовал по-всякому. Может быть скалярный не дружит с периодическим. Не знаю. Подскажите. 1С релиз 27. SQL server 2005.
#1 by Изучаю1С8
А если так  |    and СпрН.CODE=?
#2 by kaiiii
Ошибка изменилась на: ... Не удалось привязать составной идентификатор "СпрН.CODE".
#3 by Изучаю1С8
а где определение :ВыбТипЦен ?
#4 by kaiiii
Да, извиняюсь. Пропустил строчку: RS.УстановитьТекстовыйПараметр("ВыбТипЦен",глПользователь.ОсновнойТипЦенПродажи);
#5 by kaiiii
+
#6 by kaiiii
Я почему думаю, что ВыполнитьСкалярный не дружит с периодическими реквизитами. Если в select-е меняю строку на получение обычного (не периодического) реквизита, н-р, на $СпрЦены.ТипЦен as [ТипЦены $Справочник.ТипыЦен], то все работает как часы.
#7 by Изучаю1С8
Замени вот это |       $ПоследнееЗначение.Цены.Цена(СпрЦены.ID,:ВыбДата) на вот это |       $ПоследнееЗначение.Цены.Цена(СпрЦены.ID,:ВыбДата) as Цена
#8 by kaiiii
Ну в общем-то, не думал, что сработает, но попробовал. Не помогло. Ошибка та же, как в .
#9 by Изучаю1С8
А вообще запрос у тебя отрабатывает такого плана в консоле например:    from        $Справочник.Номенклатура as СпрН    Left Join        $Справочник.Цены as СпрЦены on СпрЦены.ParentExt = СпрН.ID    where        $СпрЦены.ТипЦен=:ВыбТипЦен and СпрН.CODE='26510'
#10 by Изучаю1С8
+9 У меня то все работает
#11 by kaiiii
Если я делаю свой запрос без параметров через "ВыполнитьИнструкцию" с выводом в ТЗ, то все прекрасно работает. Но мне надо не всю номенклатуру получать в ТЗ, а только видимую часть формы списка. Поэтому я делаю через функцию и запрос с параметрами.
#12 by kaiiii
Да, работает. Т.е. без параметра - все прекрасно. Только вот при этом у всего справочника устанавливается цена элемента с указанным кодом.
#13 by kaiiii
это к
#14 by Mikeware
select       $ПоследнееЗначение.Цены.Цена(СпрЦены.ID,:ВыбДата) from    $Справочник.Номенклатура as СпрН Left Join    $Справочник.Цены as СпрЦены on СпрЦены.ParentExt = СпрН.ID where прекрасно работает. Или нужно обязательно через параметризованый? тогда юзай ДобПараметр и УстПараметр
#15 by kaiiii
Изменил код на: Ошибки нет, но в колонке только нули. Что-то у меня не так с мозгами?
#16 by kaiiii
Всем спасибо. Заработало в следующей редакции:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С