![]() |
![]() |
![]() |
|
Фактическая дата создания документа 8.1 ЗУП | ☑ | ||
---|---|---|---|---|
0
NiLpferd
19.11.08
✎
11:36
|
Возможно ли программно получить фактическую дату введения документа? не дату самого документа а именно когда пользователь фактически создал документ в ИБ...
Спасибо |
|||
1
wPa
19.11.08
✎
11:37
|
(0) Возможно по времени из ГУИД
|
|||
2
NcSteel
19.11.08
✎
11:37
|
ЖР можно посмореть.
|
|||
3
NiLpferd
19.11.08
✎
11:43
|
мне нужно эту дату в отчете задействовать как параметр запроса...
а можно подробнее о "ГУИД"? для начинающих чайников :) и как могу в запросе получить дату из ЖР? Спасибо! :) |
|||
4
wPa
19.11.08
✎
11:46
|
(3) В запросе не получиться.
ГУИД - это уникальный идентификатор объекта по совместительству первичный ключ в сиквеле. Воздается при записи объекта. можно подменить программно до того как объект записан первый раз. В нем зашито время в миллисекундах от 15 октября 1582 года 04:00 |
|||
5
Serg_1960
19.11.08
✎
11:49
|
ЖР не всегда использовать можно, - особенно если он периодически очищается или "квантуется" по времени (признак "разделять хранение журнала по периодам")...
|
|||
6
NiLpferd
19.11.08
✎
11:55
|
ок... все ясно
Ооогромное спасибо :) |
|||
7
wPa
19.11.08
✎
12:41
|
Не мое
Процедура СообщитьВремяСозданияСсылки(Ссылка) ГУИД = Ссылка.УникальныйИдентификатор(); ГУИД = СокрЛП(ВРег(СтрЗаменить("" + ГУИД, "-", ""))); Если Не Сред(ГУИД, 13, 1) = "1" Тогда Сообщить("Нет данных"); Возврат ; КонецЕсли; Строка16 = ВРег(Сред(ГУИД, 14, 3) + Сред(ГУИД, 9, 4) + Сред(ГУИД, 1, 8)); Число10 = 0; Длина16 = СтрДлина(Строка16); Для Сч = 1 По СтрДлина(Строка16) Цикл Число10 = Число10 + Pow(16, Длина16 - Сч) * ByteToDec(Сред(Строка16, Сч, 1)); КонецЦикла; Число10сек = Число10 / 10000000; Сообщить (Дата(1582, 10, 15, 04, 00, 00) + Число10сек); КонецПроцедуры Функция ByteToDec(Число16) Если Число16 = "0" Тогда Возврат 0; ИначеЕсли Число16 = "1" Тогда Возврат 1; ИначеЕсли Число16 = "2" Тогда Возврат 2; ИначеЕсли Число16 = "3" Тогда Возврат 3; ИначеЕсли Число16 = "4" Тогда Возврат 4; ИначеЕсли Число16 = "5" Тогда Возврат 5; ИначеЕсли Число16 = "6" Тогда Возврат 6; ИначеЕсли Число16 = "7" Тогда Возврат 7; ИначеЕсли Число16 = "8" Тогда Возврат 8; ИначеЕсли Число16 = "9" Тогда Возврат 9; ИначеЕсли Число16 = "A" Тогда Возврат 10; ИначеЕсли Число16 = "B" Тогда Возврат 11; ИначеЕсли Число16 = "C" Тогда Возврат 12; ИначеЕсли Число16 = "D" Тогда Возврат 13; ИначеЕсли Число16 = "E" Тогда Возврат 14; ИначеЕсли Число16 = "F" Тогда Возврат 15; Иначе Возврат 0; КонецЕсли; КонецФункции |
|||
8
Serg_1960
19.11.08
✎
14:14
|
Хлебом не корми - дай чего нибудь переписать :)
Функция ДатаСозданияСсылки(Ссылка) ГУИД = Ссылка.УникальныйИдентификатор(); Строка16 = Сред(ГУИД, 16, 3) + Сред(ГУИД, 10, 4) + Сред(ГУИД, 1, 8); Разрядность = СтрДлина(Строка16); ЧислоСек = 0; Для Позиция = 1 По Разрядность Цикл ЧислоСек = ЧислоСек + Найти("123456789abcdef",Сред(Строка16,Позиция,1))*Pow(16,Разрядность - Позиция); КонецЦикла; ЧислоСек = ЧислоСек / 10000000; Возврат Дата(1582, 10, 15, 04, 00, 00) + ЧислоСек; КонецФункции |
|||
9
wPa
19.11.08
✎
14:23
|
(8) красива
|
|||
10
Serg_1960
19.11.08
✎
14:24
|
(9) А работает? А то я "по памяти" переделал (7)
|
|||
11
wPa
19.11.08
✎
14:27
|
(10) не пробовал, но должно ))
|
|||
12
Serg_1960
19.11.08
✎
14:30
|
(11) Ага, выглядит красива - должна работать ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |