Поле С Типом Формула

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#1
добрый день!
сабж

имеется поле с типом формула
как оттуда с помощью лс или собак
прочитать тектс формулы?

c присвоением понятно:
Set itm = doc.getfirstitem("Field_Of_Formula_Type")
itm.values = {@if(@All; Do(@setfield("YU"; "-")); ""))}

на дебаггере itm.values всегда пусто, хотя там есть формула
 

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#4
добрый день!
возник еще вопрос
на форме, как сказано высше , есть поле с типом формула
при созаднии документа программно тип поля меняется на текстовое
а должно быть формульное

а создать поле с типом формула лс не дает создать
как обыграть?


Set MailRule = New NotesDocument(MailBox)
MailRule.Form = "Mailrule"
Call MailRule.ComputeWithForm(False, False)
......
Set itm = MailRule.GetFirstItem("$FilterFormula")
If itm Is Nothing Then
Set itm = New NotesItem(MailRule, "$FilterFormula", "", FORMULA)
Else
If itm.Type <> FORMULA Then
Call MailRule.RemoveItem("$FilterFormula")
Set itm = New NotesItem(MailRule, "$FilterFormula", "", FORMULA) '==здесть не дает создать поле с типом формула
End If
End If
 

savl

Well-Known Member
Lotus team
28.10.2011
2 116
157
32
#5
Почитай тут: Разговорчики
Коротко: Свели к тому, чтобы взять форму Rule из почтовой базы и переделать интерфейс.
 

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#7
Почитай тут: Разговорчики
Коротко: Свели к тому, чтобы взять форму Rule из почтовой базы и переделать интерфейс.
Обыграл так:
-беру образцовый формула тайп итем из фолдера
-помещаю его в документ правила
-меняю значение итема на нужный

Код:
	  '=Get Rules Folder
Set RulesFolder = MailBox.GetView("Rules")
Set DocOfRulesFolder = MailBox.GetDocumentByUNID(RulesFolder.UniversalID)
Set SampleFormulaItem = DocOfRulesFolder.GetFirstItem("$Formula")
..........................
Call MailRule.RemoveItem("$FilterFormula")
Set itm = SampleFormulaItem.CopyItemToDocument(MailRule, "$FilterFormula")
fs = {FIELD DisplayCopyTo_Icon:=DisplayCopyTo_Icon; FIELD $FilterActions:=$FilterActions;@If((@All); (@do(@SetField("$FilterActions";"COPYTO1 +=+ } + Join(DefaultReplacerNotesAdr, ", ") + {");@SetField("DisplayCopyTo_Icon";"1"))); "" )}
itm.Values = fs