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

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 13 сен 2012.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    добрый день!
    сабж

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

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Добавить текстовое вычисляемое поле с формулой Field_Of_Formula_Type и брать его значение.
     
  3. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    спасибо...работает...
     

    Вложения:

    • 001.jpg
      001.jpg
      Размер файла:
      59 КБ
      Просмотров:
      87
  4. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    добрый день!
    возник еще вопрос
    на форме, как сказано высше , есть поле с типом формула
    при созаднии документа программно тип поля меняется на текстовое
    а должно быть формульное

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


    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
     
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Почитай тут: Разговорчики
    Коротко: Свели к тому, чтобы взять форму Rule из почтовой базы и переделать интерфейс.
     
  6. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    В FORMULA точно Integer? Могут просто константы не подхватиться.
     
  7. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    Обыграл так:
    -беру образцовый формула тайп итем из фолдера
    -помещаю его в документ правила
    -меняю значение итема на нужный

    Код (LotusScript):
          '=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
     
Загрузка...

Поделиться этой страницей