gifts2017

Получение фактической даты создания документа из GUID

Опубликовал Anthony Hopkins (Persempre) в раздел Администрирование - Системное

Обработка позволяет получить фактическую дату и время создания и проведения документа даже если документ был создан задним числом.

Обработка позволяет получить фактическую дату и время создания и проведения документа даже если документ был создан задним числом. Может не нова, но вполне возможно кому-то очень пригодится

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ОпределениеДатыДокумента.epf
.epf 6,46Kb
04.12.12
87
.epf 6,46Kb 87 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Сергей Ожерельев (Поручик) 05.12.12 11:15
(0) Идея не новая. Ещё несколько лет назад по мисте или здесь гулял код для извлечения даты создания объекта из ГУИДа. Он у меня где-то в конфе зашит.
2. Anthony Hopkins (Persempre) 05.12.12 11:25
(1) Поручик, понятное дело что не новая, но когда сам начал искать сразу не нашёл. Может пригодится кому, полезность всё же ))))
3. Макас (makas) 05.12.12 11:36
Полезная штука, спасибо!
4. Максим Полянский (yandextesting) 05.12.12 16:08
(1) Да здесь, уже проскакивала такая информация в статье Быстрый способ определения битой ссылки, которая сейчас почему-то неактивна. Цитирую:
"Если захотите узнать дату создания проверяемой ссылки, то можно воспользоваться функцией описанной здесь: http://www.kb.mista.ru/article.php?id=611 , но она не всегда окажется для вас полезной (из программно сгенерированных GUIDов информацию о дате таким способом не вытянешь)."
5. Anthony Hopkins (Persempre) 05.12.12 16:35
(4) yandextesting, ну вот спасибо, думал SM поднакопить маленько а вы на внешний ресурс ссылку дали ))) да и моя работает лучше - время показывает верно если мне глаза не врут ))
6. Максим Полянский (yandextesting) 05.12.12 16:47
(5) отправил Вам 2$m в счет компенсации вероятного ущерба :))
Да, и Ваш вариант поточнее будет, чем тот, на который ссылка приведена, так что еще накопите на виллу;)
7. Дмитрий Бухалов (Re:аниматор) 05.12.12 16:50
(5) дату верно показывает, часы ровно на 5 часов меньше, минуты точно и секунды близки (возможно даже точно)
8. Anthony Hopkins (Persempre) 05.12.12 17:09
(6) yandextesting, отправил обратно, спасибо за намерения, но люблю копить сам.(7)
Re:аниматор, сегодня проверю если правда показывает лажу исправлю, спасибо
9. Доржи Балбаров (Angeros) 06.12.12 06:11
Необязательно было все это пихать в обработку, тут более интересен код как алгоритм. А его место в статье!

Обработка нужна чтобы делать, что-то полезное, выступая в роли законченного решения например.
10. Fomix (fomix) 06.12.12 09:42
(9) Angeros, Все правильно говорите. Код в студию!!!!!!!!!!!
11. Макас (makas) 06.12.12 10:30
(9) Angeros,

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


А для гл.бухгалтера эта обработка = очень даже законченное решение. чтобы знать кто накосячил :)
12. Anthony Hopkins (Persempre) 06.12.12 10:44
(10) fomix, код не закрыт - скачиваем, через конфигуратор открываем и читаем на досуге ;)
13. Доржи Балбаров (Angeros) 13.02.13 11:32
а как насчет такова уида "A56EC886FB6E48D8A97CD6934B82D0D5" он будет определяться?!(4),(12)
14. Максим Полянский (yandextesting) 01.03.13 23:41
(13) если это гуид, сгенерированный самой платформой, при записи объекта, то определится, иначе нет.
15. Доржи Балбаров (Angeros) 03.03.13 06:33
(14)Весь прикол в том что он сгенерирован самой платформой, ну просто больше и нечем... Но программа его не опознает, т.к.
Если Сред(УИ,13,1)="1" Тогда...
13ый символ <> 1.
16. Максим Полянский (yandextesting) 05.03.13 10:39
(15) что верно, то верно. Не обратил внимание сразу, но тогда встает вопрос о системной дате на том, компьютере, на котором эта ссылка была присвоена объекту автоматом, либо все же уникальный идентификатор для ссылки был предварительно сгенерирован (
УИД = Новый УникальныйИдентификатор
, либо сторонними средствами) и затем назначен ей программно, о чем я и говорил в (14). В качестве аналогичной функции можно попробовать такую:

Функция ДатаСозданияСсылки(Ссылка)
    ГУИД = Ссылка.УникальныйИдентификатор();
    Строка16 = Сред(ГУИД, 16, 3) + Сред(ГУИД, 10, 4) + Сред(ГУИД, 1, 8);
    Разрядность = СтрДлина(Строка16);
    ЧислоСек = 0;
    Для Позиция = 1 По Разрядность Цикл
        ЧислоСек = ЧислоСек + Найти("123456789abcdef",Сред(Строка16,Позиция,1))*Pow(16,Разрядность - Позиция);
    КонецЦикла;
    ЧислоСек = ЧислоСек / 10000000;
    Возврат Дата(1582, 10, 15, 04, 00, 00) + ЧислоСек;
КонецФункции
...Показать Скрыть
17. Доржи Балбаров (Angeros) 05.03.13 11:13
(16) yandextesting, не могу сказать, но предыстория такова: Переносил контрагентов из 77 в 81 при помощи конвертации данных. Потом появился интерес узнать какая дата скрывается за GUID каждого контрагента и вот нашел такой вот пример...(13) Дата на компьютере была корректной.
18. Максим Полянский (yandextesting) 05.03.13 13:18
(17) скорее всего, все-таки, было использовано принудительное заполнение идентификатора через
Новый УникальныйИдентификатор
. Сам как-то при конвертации пользовался этой конструкцией для принудительной синхронизации нескольких справочников (когда из одного элемента в базе источнике плодятся несколько разнотипных в базе приемнике) - один УИД им в ссылки загонял.
19. Марина Чирина (chmv) 07.08.14 08:47
Интересно, у меня нет денег, не могли бы Вы мне прислать на chmv2005@mail.ru
Если нет - то когда появятся, обязательно скачаю
20. Марина Чирина (chmv) 07.08.14 08:48
Никогда не думала, что Гуид связан с датой создания документа
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа