8.х Кто может объяснить как это работает?)

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TerANik, 21 июл 2015.

  1. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Всем доброго дня.. Нашли вот такую процедуру . По ссылке возвращает дату её создания..
    Код:
    Функция ДатаСозданияСсылки(Ссылка)
    ГУИД = Ссылка.УникальныйИдентификатор();
    Строка16 = Сред(ГУИД, 16, 3) + Сред(ГУИД, 10, 4) + Сред(ГУИД, 1, 8);
    Разрядность = СтрДлина(Строка16);
    ЧислоСек = 0;
    Для Позиция = 1 По Разрядность Цикл
      ЧислоСек = ЧислоСек + Найти("123456789abcdef",Сред(Строка16,Позиция,1))*Pow(16,Разрядность - Позиция);
    КонецЦикла;
    ЧислоСек = ЧислоСек / 10000000;
    Возврат Дата(1582, 10, 15, 04, 00, 00) + ЧислоСек;
    КонецФункции
    Интересная дата используется, решил погуглить..
    Современный календарь назван григорианским (новый стиль). Он введён при папе римском Григории XIII15 октября1582 года взамен юлианского календаря (старого стиля)
    Последнее редактирование: 21 июл 2015
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Ну насколько я понимаю. Берется ГУИД из него получаем 16ти ричную строку т.е число в 16 ричной системе, узнаем ее разрядность
    и затем поразрядности из нее вытаскиваем секунды.
    Ну это надо знать просто как в идентификаторе и где в 16 ричном коде храниться что именно
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    фига :)
    Берем UId, читаем с 16 позиции 3 символа + с 10-ой позиции 4 символа + с 1-ой позиции 8 символов.

    Всего 15 символов.
    Вычисляем количество секунд из 16-ричной системы счисления в 10-ную.
    Прибавляем вычесленное количество секунд к дате 15.10.1582 04:00:00 и получаем нужную дату.

    Как-то так :)
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    TerANik а вопрос то в чем? :)
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Да ему просто интересно, первый раз такое видит
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    я, чессказать, тоже ибо выдергивать дату создания объекта из ссылки на него - ну как-то пока ваще не требовалось :)
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Хм... меня конечно память может подводить, но мне кажется что даже у нас на форуме это обсуждалось уже.. Давно правда.

    Ну а так, что тут такого? http://www.ietf.org/rfc/rfc4122.txt
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Да я пока даже не могу задачу под это придумать.....логирование разве что....
  9. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Я правильно понимаю, если объект перезаписать информация о дате изменится как и UID?
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Нет. ГУИД у объектов не меняется.
  11. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ну в общем вот тебе один из моментов. Помните тему мою с падением центральной базы? В общем думал всё ажурно оказалось не так. Написал обработку, запустил в УТ... думаю сейчас все выгрузится в Розницу ...

    Пф.. админ перенес УТ и пофигачил ЖР).. А вот через одно место но по ГУИД можно найти то что создавалось в этот период.. Но это не тривиальная задача, при определенных объемах проще все перегрузить)

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