Сравнить поля в 2-х док-ах, вывести протокол

  • Автор темы San40S
  • Дата начала
S

San40S

Omh
Дааа, этот форум пользуется популярностью и славой не только в Белорусии :)
 
S

San40S

А что конкретно ты хочешь в логе писать? Скажем если поле текстовое, то ты хочешь там писать изменилось ли значение в нем, или и само значение, что на что... В рич тексте к примеру если у тебя файл висел прикрепленный, то изменился ли сам файл(несколько файлов) и т.д.

Если в поле менялось значение, то написать пользователю, в каких полях менялись значения, а также что на что менялось!

З.Ы. Этот вопрос еще актуален!!!
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
с РТ - анриал
считать хэш - накладно (и не будет видно что изменилось), хранить копию и сравнивать (затем интерпретировать) - накладно ещё и по объему (файлы м.б. большие)
 
S

San40S

с РТ - анриал
считать хэш - накладно (и не будет видно что изменилось), хранить копию и сравнивать (затем интерпретировать) - накладно ещё и по объему (файлы м.б. большие)

У мну ща вышло такое:

Forall x In doc.Items
If olddoc.HasItem(x.Name) Then
If x.Text <> olddoc.GetFirstItem(x.Name).Text Then
Call soursedoc.ReplaceItemValue("HistoryItems", (x.Name + "#" + Source.FieldGetText("HistoryItems")))
fl = "1"
Else
fl = "0"
End If
End If
End Forall

Этот скрипт проверяет поля, и записывает в поле "HistoryItems" текущего документа те поля, которые изменились. Но... когда я копирую документ в Архивную БД, то поле "HistoryItems" в архивном док-е - вмещает предыдущее значение.
Как бы заставить копировать поле "HistoryItems" из текущего док-а в старых док. Старый док - храниться в памяти и после нажатия на кнопку "Сохранить" уйдет в Архив, а текущий сохраниться в текущей БД.

Я вот что думаю, если заставить копировать значение поля "HistoryItems" текущего док-а в Архив, то уже будет список полей, которые менялись, а там можно будет и сами значения вывести таким же макаром.

З.Ы. ЛОГ МНЕ НАДО ОТОБРАЗИТЬ ТОЛЬКО В АРХИВЕ!!!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!