1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Unid

Тема в разделе "Lotus - Программирование", создана пользователем lmike, 20 ноя 2014.

  1. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    3
    Регистрация:
    27 авг 2008
    Сообщения:
    6.406
    Симпатии:
    346
    мы все знаем, что в ID есть кусок от времени
    http://www-01.ibm.com/support/docview.wss?uid=swg27003019
    http://www-12.lotus.com/ldd/doc/domino_not...63?OpenDocument
    а время создания не отображает миллисекунды, в LS
    где-то был код получения времени из ID (Константин, по-моему постил), но меня интересует следующее...
    если сортировать UNID как строку - будет ли порядок сортировки соответствовать времени создания документа?
    для чего - лень возиться с получением циферек из UNID (NoteID)
     
  2. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    3
    Регистрация:
    27 авг 2008
    Сообщения:
    6.406
    Симпатии:
    346
    вот код Константина, но вопрос не снимается :)
     
  3. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    lmike
    Нет, время и дата во втором блоке, в первом данные NSF.
     
  4. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    3
    Регистрация:
    27 авг 2008
    Сообщения:
    6.406
    Симпатии:
    346
    savl точно?
    Код:
    ' --- Notes C API declares and constants (translated from the header files)
    Public Type TIMEDATE
    Innards(1) As Long
    End Type
    ........
    Sub GetNow(nt As Variant, dt As TIMEDATE)
    .........
    Dim t1 As New NotesDateTime(Cstr(tdoc.Created))
    dt.Innards(1) = Val("&H"& Mid$(tdoc.UniversalID,17,8) &"&")
    dt.Innards(0) = Val("&H"& Mid$(tdoc.UniversalID,25,8) &"&")
    у Константина время там есть

    Добавлено: http://codeby.net/forum/threads/12026.html?vi...ost&p=54229

    Добавлено: др. словами - отрезать с 17-го
     
  5. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    Код:
     bits = bits & Right$("0"& Bin$(Cint(Abs(Intr.TimeZone)\100)\15), 2) & Right$("000"& Bin$(Abs(Intr.TimeZone) Mod 100), 4)
    bits = bits & Right$(String(23,"0") & Bin$(Clng(Cdbl(nTime.LSLocalTime))+2415018), 24)	'дни от сотворения Мира
    td.Innards(1)= Val(bits &"&")
    Если учесть, что там идет "И" по битам, наличие времени ничего не даст.
    У меня есть вьюха (byUNID) сортировка по UNID, документы совершенно в разнобой.
    Если отрезать с 17го... Точно!!! надо использовать обратный UNID.
    16 справа + 16 слева, мы так в DME решили проблему отображения полее поздних респонзов в начале вьюхи.
     
  6. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    3
    Регистрация:
    27 авг 2008
    Сообщения:
    6.406
    Симпатии:
    346
    ну для целей сравнения в одной ДБ - рандом часть врядли нужна
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    30 май 2006
    Сообщения:
    1.323
    Симпатии:
    4
    Фиг <_< Точнее "это было давно и всё неправда"
    Начиная с какой-то 4-ки в 1-й блок пишется "случайное значение"(с)
     
Загрузка...

Поделиться этой страницей