Получить дату создания документа или элемента справочника (по UID)


Кто и когда создал документ? Когда сделали дубль товара? Данная обработка — сразу отвечает на вопрос когда?
Дата создания документа или справочники (любой ссылки) — находит дату создания по уникальному идентификатору (UID) ссылки.

Дата документа или справочника (любого объекта ссылочного типа) — находится по Уникальному идентификатору (UID).

Например Поле Ссылка (её UID) равна: bdb62d89-cede-11e4-b12b-d4ae52b5e909

Дата содержится в первых символах, bdb62d89-cede-11e4
которые нужно переставить задом наперед:  11e4-cede-bdb62d89
1 символ обязательно должен быть равен 1, иначе это пустая дата или вообще не дата, убираем "лишние" знаки "-"(тире)

Интервал в десятых долях микросекунд (HEX) получается равным интервал16= 1E4CEDEBDB62D89

переводим его в 10-ный интервал и  в результате получаем:  интервал10  = 136 461 344 788 852 105
находим интервал в секундах: интервалСек = интервал10 / 10 000 000;

Делаем сдвиг даты (опытным путём) от 15.10.1582 г.
+ сдвиг на часовой пояс (Московское время +3 ч.) от "мирового времени" (GMT)

 Результат = 20.03.2024 12:54:38

18 Comments

  1. tormozit

    Уже было. Не все GUID генерируются через дату создания.

    Reply
  2. script

    Создал элемент справочника номенклатура в 21.03.2015 16:31

    Обработка показала 21.03.2015 16:25

    попробовал еще на паре объектах — результат пока одинаков не хватает 5 минут.

    Часовой пояс + 2

    Reply
  3. script

    (1) tormozit,

    А где было? Дайте пожалуйста ссылку.

    Reply
  4. R_G_B

    Никогда этой темой не интересовался, но подозреваю, что если получить ссылку на основе идентификатора, сформированного конструктором «новый УникальныйИдентификатор()», то даты там ожидать не стоит.

    Reply
  5. R_G_B

    а, ну вот же http://infostart.ru/public/94234/, прям в описании тоже самое и говориться, можно и не проверять.

    Reply
  6. Идальго

    Вот тут ещё вроде тоже самое https://helpf.pro/faq/view/1099.html

    Reply
  7. Поручик

    (6) На самом деле этот или похожий код начал гулять по этим вашим интернетам ещё раньше, году в 2008 или 2009.

    Reply
  8. cool.vlad4

    (1) tormozit, ага. причем где-то видел в документации. не могу вспомнить, что-то типа если standalone-база , то используется время при создании идентификатора, а если есть сервер приложений и кластер , то это не может гарантироваться. короче на опыте проверено, что в некоторых случаях не работает.

    Reply
  9. Serg O.

    (5) R_G_B, на «уникальность» я и не претендую…

    у меня тоже это получение даты «зашито» было в конфу для Номенклатуры…

    очень старая разработка…возможно из того же источника

    я же оформил ее для любого объекта… типа ссылки: Справочник или Документ

    подойдет для любой конфигурации (в толстом клиенте)

    Кому-нибудь возможно и пригодится такой «готовый» вариант…

    Reply
  10. Serg O.

    (2) script,

    фиксируется дата «создания» ссылка, а не записи элемента в базу

    (дату записи можно из журнала регистрации узнать, если он ведется)- это во-первых,

    а во-вторых, возможно если база серверная — дата берется с сервера

    в 3-их, цель обработки (для меня лично) — была найти дату для старых объектов — найти когда их делали… год, месяц, день…

    журнала например уже нет, в силу многократных переносов…

    я так нашел, что два «одинаковых» контрагента у нас в базе

    — 1-ый был создан аж в 2005г.,а второй месяц назад…

    4-ых…. код открыт… источник даже для меня загадка… правьте «сдвиг» на 5 мин. (если это для вашей базы всегда так)

    Reply
  11. Serg O.

    (1) tormozit, во-первых тут UID, а не GUID… они немного разные…

    во-вторых, написано же

    «- 1 символ обязательно должен быть равен 1, иначе это пустая дата или вообще не дата»

    проверка что это UID не содержит даты — есть

    в 3-их, «уже было» много-много лет назад… я на «уникальность» не претендую

    у меня тоже этот алгорит был с 200… мохнатого года…

    а в виде готовой обработки — пусть люди пользуются, кому надо…

    полезно иногда даже для документа знать что его «создали» в 10 утра,

    а в «журнале регистрации» фиксируется только дата записи в 6 вечера… например

    Reply
  12. Serg O.

    (7) Поручик, да, вполне возможно так оно и есть

    этот код ооочень старый, но как готовую обработку — я его оформил (для собственных нужд)

    вот пусть и все кому надо — пользуются…

    кто «продвинутый» и качать не хочет — по описанию все поймёт 🙂

    Reply
  13. Serg O.

    Добавлена такая же обработка для Управляемых форм (тонкий клиент) для приложений 1С 8.2

    Reply
  14. IrinaN

    помогите, пожалуйста. Запуска. обработку, доту не показывает. только ссылку. поле дата пустое.

    Reply
  15. 7OH

    Оставлю и тут правильную последнюю строку (если у вас в обработке не так) — в интернете везде она некорректно указана (везде по разному).

    Возврат Дата(1582, 10, 15, 00, 00, 00) + ЧислоСек + СмещениеСтандартногоВремени() + СмещениеЛетнегоВремени();
    Reply
  16. Xershi

    (15) в интернете везде указано, то время которое автор кода использовал для написания. Когда база юзалась несколько лет, то для него час времени роли не играл!

    Но спасибо за дополнение, будем умнее))

    Reply
  17. Serg O.

    (15) спасибо за дополнение… время надо «эмпирически» под себя настраивать… я так понимаю

    можете сразу «сдвинуть на нужное число часов ЧЧ (и, если надо минут и секунд: MM CC)

    Дата(1582, 10, 15, ЧЧ, MM, CC)

    и летнее время уже вроде отменили пару лет как

    Reply
  18. Aleksandr55555

    Такой же алгоритм (и много другого) есть и в другой обработке

    Для управляемых формhttps://infostart.ru/public/1038757/

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *