Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Помогите с запросом по ценам номенклатуры (число прочтений - 2078 )
zanuda3
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 20. Июня 2013
Помогите с запросом по ценам номенклатуры
20. Июня 2013 :: 11:16
Печать  
Есть справочник Номенклатуры, у него есть периодический реквизит ЦенаОМТС, который изменяется документами. Нужно получить последнюю цену для каждой номенклатуры на определённую дату, с указанием контрагента который последним эту номенклатуру поставил. В _1sconst хранится iddoc документа который изменил цену, а из этого документа получаю контрагента. Т.е у выходной таблицы должны быть следующие столбцы код номенклатуры, последняя цена на дату, дата цены, контрагент, инн контрагента.

     ТекстЗапроса = "
     |select
     |      СпрНом.Code  Код,
     |      date  Дата,
     |      cast(value as numeric(14,2)) Цена,
     |      ДокПриход.SP437 [Клиент $Справочник.Контрагенты],
     |      СпрКонтр.SP56 ИНН
     |From
     |$Справочник.Номенклатура as СпрНом
     |INNER JOIN
     |_1sconst (nolock)
     |ON СпрНом.ID = _1sconst.OBJID
     |and _1sconst.id=:ИДЦена
     |and cast(value as numeric(14,2))>0
     |and date<=:ВыбДата1
     |
     |INNER JOIN
     |$Документ.ПриходнаяНакладная as ДокПриход ON ДокПриход.iddoc = _1sconst.docid
     |INNER JOIN
     |$Справочник.Контрагенты as СпрКонтр ON СпрКонтр.ID = ДокПриход.SP437
     |
     |order by СпрНом.Code desc, date desc
     |";

В таблицу попадает несколько цен для каждой номенклатуры, а нужна только последняя для каждой номенклатуры. Подскажите как это сделать.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите с запросом по ценам номенклатуры
Ответ #1 - 20. Июня 2013 :: 12:06
Печать  
в подзапросе получить максимальную дату и единственное значение через max
http://www.script-coding.com/v77tables.html#2.5.6.

а тебе можно и это использовать:
http://www.1cpp.ru/docum/icpp/html/ODBC.html#id38

правда, для поиска документа, всё же придётся рученьками запрос написать (через ПолучитьПоследнее, можешь в отладке посмотреть текст запроса, написать свой по-аналогии)
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать