1
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
а можно хоть чуть-чуть подробней...Разве что через DXL
Экспортировать документ в DXL (domino xml), установить нужную дату, не забыв про поля с датами, например, $Revisions, импортировать обратно. Полагаю, что подпись документа при этом нарушится.а можно хоть чуть-чуть подробней...
1KIA, а обманывать нехорошо!
почему именно это поле? введите искусственное поле "документ создан" его и используйте для представлений, меняйте сколько надо...ставят задание
Другой "дикий" способ пришёл в голову — создаём локальную реплику, переходим в автономный режим, переводим часы назад, запоминаем юнид документа, создаём его копию, удаляем документ, копии присваиваем юнид, корректируем поля времени ($Revisions и т.п.) сохраняем (в итоге получим "новый" "старый" документ), удаляем копию, возвращаем часы в исходное, переходим в он-лайн режим, реплицируемся. Чтобы не было мучительно больно, я б сперва поэкспериментировал на к-либо "учебном" документе.А вообще-то согласен с alik86, попахивает "подделкой документов".
ловиа скажите эту дату вообще можно программно поменять?
Sub Initialize
Dim ss As String
Dim dt As NotesDateTime
Dim mydate As Variant
Dim mytime As Variant
Dim ses As New NotesSession
Dim cdb As NotesDatabase
Dim dcol As NotesDocumentCollection
Dim doc As NotesDocument
Dim unid As String
Dim DateOffSet As Integer
Dim nextdoc As NotesDocument
Dim oldunid As String
Dim tdoc As NotesDocument
Dim tdt As New NotesDateTime(Now)
ss = Trim(Inputbox$({Вводить в формате "04.01.2013 08:40:51 ZE5" или "15.03.1984 16:15:39 GMT":}, "Введите новое время создания документа", tdt.LocalTime))
If ss = "" Then Exit Sub
'=yerke 2013-01-04
'1) Hеобходимо реализовать функционал перепривязывающий респонсы со старого дока на новый.
'2) На респонсах обновить все поля, содержащие юнид основного дока (или линк), для корректной работы на ембеддед вьюшках, например.
'3) При этом учитывать дату создания респонсов, может получиться так что, респонс создался раньше основного дока.
'4) Если некорректно задано новое время создания документа, то оно принимает значение "30.12.1899 06:00:00 ZE<регионал>"
Set dt = New NotesDateTime(ss)
DateOffSet = Abs(Cint(Datevalue(dt.LSLocalTime) <> Datevalue(dt.LSGMTTime)))
mydate = Right$("00000000" + Hex$(2415019 + Datevalue(dt.LSLocalTime) + DateOffSet), 6)
mytime = Right$("00000000" + Hex$(Round((Cdbl(dt.LSGMTTime) - Datevalue(dt.LSLocalTime) - DateOffSet) * 24 * 60 * 60 * 100, 0)), 8)
'=
Set cdb = ses.CurrentDatabase
Set dcol = cdb.UnprocessedDocuments
Set doc = dcol.GetFirstDocument
Do While Not doc Is Nothing
'=
Set nextdoc = dcol.GetNextDocument(doc)
'=
oldunid = doc.UniversalID
unid = doc.UniversalID
Mid$(unid, 19, 6) = mydate
Mid$(unid, 25, 8) = mytime
'=
doc.UniversalID = unid
doc.ReplaceItemValue "$Created$", doc.Created
doc.Save True, True, True
'=пока отключаю
Set tdoc = cdb.GetDocumentByUNID(oldunid)
tdoc.Remove True
'=
Set doc = nextdoc
Loop
End Sub
Поле $Created, кажется, подделывало дату создания. Проверьте, если интересно...
Нет, не просто. Это сиcтемное поле (доллар в названии ни о чем не говорит, не?).не понял мысли
это поле просто для того чтобы запомнить реалное (изначальное) время создания документа.
Нет, не просто. Это сиcтемное поле (доллар в названии ни о чем не говорит, не?).
Пользователи время создания обычно смотрят в свойствах документа. Искать его в UNID — это для ооочень продвинутых.даже если б оно было, то все равно бы не хранил время создание, а просто показывал бы его из юнида (computed for display)
Млин, создайте такое поле (Имя - $Created, Тип - Дата) и посмотрите, устраивает ли оно Вас. Неужели так сложно проверить?кажется мы говорим о разных полях
Млин, создайте такое поле (Имя - $Created, Тип - Дата) и посмотрите, устраивает ли оно Вас. Неужели так сложно проверить?
Обучение наступательной кибербезопасности в игровой форме. Начать игру!