Имя: Пароль:
1C
1C 7.7
v7: Условие на периодический реквизит в прямом запросе 1sqlite
0 Перелетный косяк
 
16.11.11
16:09
В спр. Контрагенты периодический реквизит СрокКредита (число)
Нужно отобрать всех контагентов с определенным сроком кредита

Бьюсь второй час. Туплю

Текст = "SELECT
|СпрКонтрагенты.id as [Контрагент :Справочник.Контрагенты],

|         (select value from __1S_Const
|        where id = :ИсторияРеквизита.Контрагенты.СрокКредита
|        and date <= :ДатаРекв and objid = СпрКонтрагенты.id
|        order by date desc limit 1) as [СрокКредита]
|    FROM
|    [Справочник.Контрагенты] as СпрКонтрагенты
|    WHERE  
|    СпрКонтрагенты.id in (SELECT Val From ВыбКлиенты)
|    and (select П.value
|        from __1S_Const П where objid = СпрКонтрагенты.id and П.id = :ИсторияРеквизита.Контрагенты.СрокКредита
|        and П.date <= :ДатаРекв order by П.date desc limit 1) = :ИскомыйСрок";

   
ЗапросФильтрКонтрагентов.Подставлять("ДатаРекв",ТекущаяДата());
ЗапросФильтрКонтрагентов.Подставлять("ИскомыйСрок",3);


без
|    and (select П.value
|        from __1S_Const П where objid = СпрКонтрагенты.id and П.id = :ИсторияРеквизита.Контрагенты.СрокКредита
|        and П.date <= :ДатаРекв order by П.date desc limit 1) = :ИскомыйСрок";
отрабатывает отлично, но нужно условие...
1 Ёпрст
 
16.11.11
16:12
(0) смотри в сторону ПоследнееЗначение
2 orefkov
 
16.11.11
16:12
Посмотри, как на самом деле лежит значение в 1sconst.value, будешь удивлен.
3 Ёпрст
 
16.11.11
16:13
4 orefkov
 
16.11.11
16:14
+(2)
И попробуй
and (select cast(П.value as integer) ...

или
and (select 0 + П.value ...
5 Ёпрст
 
16.11.11
16:14
+2 Это точно
6 orefkov
 
16.11.11
16:14
(3)
Это для sql и ODBC.
7 Ёпрст
 
16.11.11
16:15
а ёпт, у него еще и 1sqlite, не углядел.
8 Перелетный косяк
 
16.11.11
16:17
(4) Александр - Спасибо Огромное! взлетело!
9 Злопчинский
 
16.11.11
16:18
чисто интересно: накуа в карточке контрагента хранить историю сроков кредита..???
10 Перелетный косяк
 
16.11.11
16:23
(9) Цэ нетлонко (с) Писано не мной.
Контрагент в разные периоды времени имеет совершенно разные преференции, они серьезно пляшут от объема, историю иметь в принципе не мешает