Тема: Переполнение поля истории 32К
1. в библиотеку library добавляем процедуру Transposition_History
%REM
Sub Transposition_History
Description: перемещение истории в другое поле
сделано из-за 32к
%END REM
Sub Transposition_History(doc As NotesDocument)
Dim item As NotesItem, idx_hist As Byte
max_value=20000 'max кол-во байт которое должно быть в поле
Set item = doc.GetFirstItem( "history" )
If item.ValueLength>max_value Then
idx_hist=0
ForAll it In doc.Items
If LCase(StrLeft(it.name,"_"))="history" Then
s$=Trim(StrRight(it.name,"_"))
If s$<>"" And IsNumeric(s$)Then
If it.IsSummary Then it.IsSummary=False
If idx_hist<CInt(s$) Then
idx_hist=CInt(StrRight(it.name,"_"))
End If
End If
End If
End ForAll
idx_hist=idx_hist+1
Call doc.CopyItem( item , "history_"+Cstr(idx_hist) )
Set item = doc.GetFirstItem( "history_"+Cstr(idx_hist) )
If item.IsSummary Then item.IsSummary=False
doc.history=""
End If
End Sub
2.в глобалах формы подключаем библиотеку library (если не подключена)
Option Public
Use "Library"
3.событие формы querySave вызываем
Call Transposition_History(uidoc.Document)' перенос истории в другое поле
4. на форме где нужен перенос истории поле history делаешь вычисляемым
значение вычисляемого значения = history
5. под поле history кидаешь пару вычисляемых значений...
<Computed Value> history_3
<Computed Value> history_2
<Computed Value> history_1