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


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 23. Марта 2007
Пер. рекв. справочка (перечисление) в DBF
10. Апреля 2007 :: 13:22
Печать  
Вопрос вот такой :
Как в DBF получить значение периодического реквизита справочника на дату?
Поясню : тип Реквизита  - перечисление, и нужен он чтобы отфильтровать данные в запросе.

конИд = "' нт"))))+"';

           |select
           |ном.ID as [Товар $Справочник.Номенклатура],
           |$нкМодель.Аудитория as [Аудитория $Перечисление.ЦелеваяАудитория],
           |$нкМодель.Категория as [Категория $Справочник.нкКатегорииМоделей],
           |нКат.CODE as [Сортировка $Число]
           |From
           |$Справочник.Номенклатура as ном
           |left join $Справочник.нкМодели as нкМодель on нкМодель.ID = $ном.нкМодель
           |left join $Справочник.нкКатегорииМоделей as нКат on нКат.ID =$нкМодель.Категория
           |left join
           |(  select
           |      con.objid as объект,
           |   con.value as Val
           |      from
           |      1sconst as con
           |      where
           |      con.date <= :ДатаД~~
           |               And con.Id = "+КонИД+"
           |      order by con.date DESC
           |) as TMP on TMP.объект = ном.ID";
           Если невыводитьнули=1 Тогда
         Текстзапроса=ТекстЗапроса+"
           |left join
           |(
           | select
           |      con.objid as объект,
           |   con.value as Val 
           |      from
           |      1sconst as con
           |      left join  $Справочник.Цены as цен on con.objid=цен.id
           |      where
           |      con.date <= "+ДатаД+"
           |      and con.value not like '% 0.00%'
           |   and $цен.КатегорияЦены in ("+мета.ПолучитьСтрокуИзСЗ(СписКат)+")
           |)  as TMP1 on TMP1.объект = ном.ID
           |"; 
           КонецЕсли;
         Текстзапроса=ТекстЗапроса+"
           |where
           |$нкМодель.ТоварнаяГруппа = '"+мета.ЗначениеВСтрокуБД(выбтовгруппа)+"'
           |";
                 Текстзапроса=ТекстЗапроса+"And $ном.ПричинаВыпуска = '"+мета.ЗначениеВСтрокуБД(ВыбКоллекция)+"'";      

Текстзапроса=ТекстЗапроса+" And TMP.Val = '"+(мета.ЗначениеВСтрокуБД(Ассортимент))+"'";

Вот в таком состоянии в выборку попадают элементы, у которы ассортимент идет первым значениев а истории значений, а мне по хорошему надо последнее значение...

Как отфильтровать данные , если пер. реквизит = эл. справочника я догадался (условие по цене - она тоже периодическая), а вот с ассортиментом ничего светлого на ум не прихдит.

Печать прайса с определеннми условиями...
           
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Пер. рекв. справочка (перечисление) в DBF
Ответ #1 - 11. Апреля 2007 :: 10:31
Печать  
воспользуйсо maх(ИдОбъекта) имхо
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
st_alex
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 23. Марта 2007
Re: Пер. рекв. справочка (перечисление) в DBF
Ответ #2 - 11. Апреля 2007 :: 12:25
Печать  
Цитата:
воспользуйсо maх(ИдОбъекта) имхо


Max какого объекта ? можно немного по подробнее?

меня именно интересует кусок:
         |left join  
          |(  select  
          |      con.objid as объект,  
          |   con.value as Val
          |      from  
          |      1sconst as con
          |      where
          |      con.date <= :ДатаД~~
          |      And con.Id = "+КонИД+"

Вот тут , если бы это была ВТ можно было бы написать что то вроде
          ... select top 1 ...

         ... |    con.objid  = ном.id  ...

но вот как раз так и не получится.
                                       

  //     |      order by con.date DESC --  в пренципе этот кусок здесь лишний  он имеет смысл только в при ВТ.
          |) as
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Пер. рекв. справочка (перечисление) в DBF
Ответ #3 - 11. Апреля 2007 :: 13:38
Печать  
Значит вложенный запрос... или туплю  Озадачен
Селект * Фром (Селект Макс(ИдДок) Фром
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать