Спасибо!
Только мне нужно выбрать изменение цен
за период, а не просто последнюю цену.
Поэтому наверно придется все-таки вручную писать запрос по таблице _1sconst.
Вчера вечером написал вот такой запрос:
ТекстЗапроса = "
|SELECT
| СпрНоменклатура.Id AS [Номенклатура $Справочник.Номенклатура],
| СпрНоменклатура.Descr AS Наименование,
| СпрНоменклатура.Code AS КодНоменклатуры,
| СпрЦены.ТипЦены AS ТипЦены,
| ИзменениеЦен.Цена AS Цена,
| ИзменениеЦен.ДатаИзменения AS ДатаИзменения
|FROM
| (SELECT *, $СпрЦены1.ТипЦен AS ТипЦены FROM $Справочник.Цены СпрЦены1 WHERE $СпрЦены1.ТипЦен = :ТипЦен) AS СпрЦены
| LEFT JOIN (
| SELECT
| objid as objid,
| value as Цена,
| date as ДатаИзменения
| FROM _1sconst AS Константы
| WHERE
//| (Константы.date BETWEEN :НачДата AND :КонДата~)
//| AND
| (Константы.id = $ИсторияРеквизита.Цены.Цена)
//| AND (Константы.objid = СпрЦены.id)
| ) AS ИзменениеЦен ON СпрЦены.id = ИзменениеЦен.objid
| LEFT JOIN
| $Справочник.Номенклатура СпрНоменклатура ON СпрЦены.ParentExt = СпрНоменклатура.ID
|ORDER BY СпрНоменклатура.Descr, СпрНоменклатура.id, ИзменениеЦен.ДатаИзменения
Сейчас этот запрос выбирает все изменения цен по всей номенклатуре по указанному типу цен.
Но в этом запросе есть две проблемы:
1) не срабатывает проверка периода, выдается ошибка
"Ошибка преобразования даты или времени из символьной строки."
Поэтому я пока проверку периода закомментировал.
2) Почему-то в результат запроса не попадает самая первая строка из истории цен номенклатуры с датой 01.01.1980 и пустым значением цены.
Как исправить эти два пункта? Подскажите плиз.
А насчет класса "ПрямойЗапрос" - сейчас буду пробовать "переложить" свой запрос для этого класса.