|
v7: УстановитьФильтр() в ИТЗ | ☑ | ||
|---|---|---|---|---|
|
0
botman4
01.06.17
✎
17:22
|
Есть вот такая ИТЗ
Пусть выбГод = 1999 Тут года выпуста Авто, вношу год авто и мне покажут модели которые выпускались в этом интервале лет. хочу получить строки в которых сработает условие: выбГод >= ГодНач и выбГод <= ГодКон БД.НоваяКолонка("ГодНач"); БД.НоваяКолонка("ГодКон"); БД.ДобавитьИндекс("Год", "ГодНач, ГодКон"); спГодМин = СоздатьОбъект("СписокЗначений"); спГодМин.ДобавитьЗначение(0); // ГодНач спГодМин.ДобавитьЗначение(выбГод); // ГодКон спГодМакс = СоздатьОбъект("СписокЗначений"); спГодМакс.ДобавитьЗначение(выбГод); // ГодНач спГодМакс.ДобавитьЗначение(ДатаГод(ТекущаяДата())); /// ГодКон БД.УстановитьФильтр(спГодМин, спГодМакс, "Год"); БД.Выгрузить(ТзМодели, "Год"); По ГодНач срабатывает, а по ГодКон нет, подскажите пож в чем может быть затык ? |
|||
|
1
Ёпрст
гуру
01.06.17
✎
17:33
|
ДатаГод ?
Ясен пень, что не срабатывает |
|||
|
2
Ёпрст
гуру
01.06.17
✎
17:33
|
там же число будет, типа 17.
|
|||
|
3
Ёпрст
гуру
01.06.17
✎
17:33
|
ну и 0 пихать заместо пустой даты, тоже, сомнительно
|
|||
|
4
botman4
01.06.17
✎
18:34
|
Если делаю Индекс по одной колонке, по ГодКон БД.ДобавитьИндекс("Год", "ГодКон"); БД.УстановитьФильтр(выбГод, ДатаГод(ТекущаяДата()), "Год");
все отрабатывает нормально, а по двум колонкам не получается пока 8( пробовал писать не 0, а 1000 и не ДатаГод(ТекущаяДата()), а 2017, все равно. |
|||
|
5
Ёпрст
гуру
02.06.17
✎
09:26
|
(4) У тебя в значениях индекса - дата, а ты её числом года пытаешься фильтровать. Не находишь ли противоречия ?
|
|||
|
6
botman4
06.06.17
✎
12:12
|
Типы данных я как только не менял, и приводил оба столбца к дате. Пробовал приводил оба к числу. Проверял в каждой строке типы. нифига не получилось... буксанул где-то и все 8( обошел костылем - сделал через два фильтра, поочередно делал - все отрабатывает как положено, а сразу оба - нифига. Вопрос закрыл, возвращаться пока не хочу. Спасибо за помощь.
|
| Форум | Правила | Описание | Секции | Поиск |