Помогите с датой и базой данных



  • Есть 3 записи в базе данных, у каждой своя дата.
    alt text

    Воспользовался актионом "получить записи", фильтр по дате и времени. Взял значение из таблицы, однако BAS игнорировал фильтр и спарсил все 3 записи.



  • @fastspace Скорей всего проблема в формате в которым вы указываете дату в фильтре



  • @denis_krsk Значение взял из таблицы базы данных. Формат один и тот же должен быть.



  • @fastspace Сюдя по скрину они разные



  • @denis_krsk Перевел весь формат в милисекунды, как в переменной стало всё четко. Однако в минутах и часах, как в самой таблице не работает.



  • @fastspace Так и есть, я всегда в млс передаю.


  • administrators

    @FastSpace Возможно разница была в строке и объекте. Дата в базе больше похожа на строку в формате, а в переменной возможно был объект.


    Перевел весь формат в милисекунды, как в переменной стало всё четко

    Да, надёжнее когда всё в одном формате :D



  • @fox Возможно все дело в том, что объект дата имеет как строковое представление так и числовое. В базе для отображения используется его строковое значение, а при манипуляциях его числовое.



  • @denis_krsk Так и есть. В базе одно отображение, в переменной другое. Я сначала стал фильтровать по значению строки из базы (часы - минуты). Затем отфильтровал по значению из переменной (милисекунды) стало четко.
    Очень смахивает на баг.



  • @fastspace Не баг. У объекта дата, есть два метода, valueOf() численное значение и toString() строковое. При отображение объекта, если есть метод toString то используется он. Думаю ноги отсюда растут.



  • @denis_krsk У объекта в базе данных значение как date - это не строка и не число. Я пытался отфильтровать через строку - игнор. Затем отфильтровал как expression (код JS) c часами и минутами. Значение взял ровно из базы (карандашик). BAS пропустил. Затем отфильтровал как expression с миллисекундами - всё чётко.



  • @fastspace Все верно не строка и не число, а объект )



  • @denis_krsk Всё я понял :D. Дело в отображении объекта.
    На самом деле это не хорошо, что в базе данных он как объект строка, а в переменной как объект число. Фильтр работает только как объект число. И да - я считаю это багом.