2sxc: фильтрация по дате в Visual Query не работает

Работая с событиями, мне нужно получить следующие 5 событий, срок действия которых не истек, чтобы создать своего рода тикер новостей. Поэтому я попытался применить следующий фильтр в визуальном запросе https://snag.gy/e1nWpD.jpg

Попадают даже просроченные события. Пробовал также без .ToString ("yyyy-MM-dd") безуспешно. Это можно сделать в визуальном запросе, или единственное решение - сделать это с помощью LINQ? Я не хотел бы делать это с LINQ, потому что мне пришлось бы получить все элементы событий в запросе, а затем отфильтровать их, взяв всего 5, и это была бы утечка о производительности ...

РЕДАКТИРОВАТЬ: взглянув на этот http://2sxc.org/en/Docs/Feature/feature/9259 Я попробовал следующий фильтр

Данные> [DateTime: Now]

но мой элемент с датой «Data»: «2016-10-03T00: 00: 00Z» всегда выходит из запроса. Может быть, проблема культуры свиданий?


person Giovanni Manzo    schedule 26.10.2016    source источник


Ответы (1)


Возможно, это проблема культуры, но вряд ли.

Пожалуйста, запустите еще несколько тестов, используя реальные текстовые значения (а не токен), чтобы сравнить результат с реальным значением, а затем с токеном. Это поможет вам исключить проблему культуры.

Очень часто это также простая ошибка, вроде того, что вы можете сравнивать «данные», когда в вашем поле указано «дата» или что-то в этом роде.

person iJungleBoy    schedule 02.11.2016
comment
Следуя вашему предложению, я просто попытался сравнить мое поле данных (datetime) с реальным значением 2016-10-05, поэтому мой образец элемента с датой Data: 2016-10-03T00: 00: 00Z не отображается правильно. Используя токен [DateTime: Now], который он показывает. Так что, возможно, это может быть вариант культуры, потому что токен, используемый на странице приложения, будет показывать мне дату в европейском формате дд / мм / гггг. Если это проблема культуры, как я могу это исправить? Я уже пытался включить в глобальном приложении параметр культуры, но это не меняет. - person Giovanni Manzo; 02.11.2016
comment
Не могли бы вы помочь мне убедиться, что я вас понимаю. Вы тестировали его с текстом типа 2016-01-03, но он не отображался, поэтому вы предполагаете, что фильтр работал должным образом. Затем вы взяли другое свидание, на котором оно действительно появилось, и снова, как и ожидалось. Затем вы попробовали токен, и он не сработал должным образом. Правильный? - person iJungleBoy; 02.11.2016
comment
Да исправить! Значение даты моего элемента - 2016-10-03, если я использую компаратор, где моя дата ›текста 2016-10-01 действительно отображается. Используя comprare, где моя дата ›в тексте 2016-10-05 не отображается. Используя токен [DateTime: Now], он показывает, даже если это не так! Возможно, это потому, что мой datetime.now на основе настроек моей культуры должен быть 02/11/2016 ... - person Giovanni Manzo; 02.11.2016
comment
Я не уверен на 100%, но вы можете работать с форматерами, например [DateTime: Now | yyyy-MM-dd] dnnsoftware.com/wiki/tokens - я не могу обещать, что это сработает, но я думаю, что это должно ... - person iJungleBoy; 06.11.2016
comment
К сожалению, я уже пробовал это, но не работает, есть ли шанс добавить это в качестве следующей функции? :) - person Giovanni Manzo; 07.11.2016
comment
еще не уверен - но в качестве запасного варианта вы можете указать дату в URL-адресе при запросе, не очень хорошая ставка должна работать. Изменения в 2sxc - мы любим вклады :) - person iJungleBoy; 08.11.2016
comment
Спасибо. Мне не очень нравится передавать дату как строку запроса. Я думаю, что сейчас лучший способ - использовать LINQ. Об изменениях в 2sxc и вкладах, которые я хотел бы сделать, использование 2sxc настолько забавно и полезно, но мне понадобится углубленное изучение, чтобы не испортить код;) - person Giovanni Manzo; 08.11.2016