Form -> Conflict Handling

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

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Разбирался в базе с счетчиками и наткнулся на такое ...
    Если в свойствах формы, по которой создается документ, проставлять поле Conflict Handling , то соответственно в создаваемом дкоументе создается поле $ConflictAction, причем имеет место быть следующее соответствие:

    • Conflict Handling: Create Conflicts - поля $ConflictAction нет
    • Conflict Handling: Merge Conflicts - поле $ConflictAction равно 1
    • Conflict Handling: Merge Conflicts/ No Conflicts - поле $ConflictAction равно 3
    • Conflict Handling: Do Not Create Conflicts - поле $ConflictAction равно 2

    Ну это понятно, а вот дальше... Например захотели мы поменять Conflict Handling, например с Do Not Create Conflicts ($ConflictAction = 2) на Merge Conflicts ($ConflictAction = 1) ... ну т.е. что делаем ... меняем в совйствах формы поле Conflict Handling с Do Not Create Conflicts на Merge Conflicts и пересохраняем документ по форме. По идее все поля в документе должны были сохраниться по форме ... но ... вместо значения 1 в поле $ConflictAction, получаем значение ... 3. Тоже самое будет и наооборот ... если с Мerge Conflicts менять на Do Not Create Conflicts - 3 и все тут. Дальше еще интереснее ... эта 3 никуда не уходит, какие бы значения в Conflict Handling не стояли и как бы документ не изменялся и не пересохранялся (хоть скриптом, хоть собаками)... В связи с этим вопрос - что это за багофига такая? Может быть кто-нибудь знает в чем тут дело (может опять же галка какая-нибудь где-нибудь не проставлена) или просто я что-то криво делаю? ;)

    Заранее Спасибо.
     
  2. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    У меня проблем не возникло. Может название поля неправильно указал?
    Вот код для сравнения:

    Dim ses As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument

    Set db = ses.Currentdatabase
    Set view = db.Getview("Название")
    Set doc = view.Getfirstdocument()
    Call doc.Replaceitemvalue("$ConflictAction", "1")
    Call doc.Save(True, false)

    а вручную пробовал менять значение поля(через суперформу или сканЕз)?
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  4. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Из вьюшки действительно поле $ConflictAction меняет ... а вот из самого документа (если его открыть и нажать кнопку) - нет. Если доходит до цифры 3, то ее никак уже не поменять -_-



    А как это? пробовал просто пересохранять документ по форме с меняющимя параметром формы Conflict Handling
     
  5. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    1. Документ был создан по форме с *Conflict Handling: Merge Conflicts/ No Conflicts - поле $ConflictAction равно 3*.
    2. В форме поменяли Conflict Handling на *Conflicts - поля $ConflictAction нет*.
    3 При пересохранении документа $ConflictAction меняться не будет. Нужно менять скриптом.
     
  6. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0

    А если менять $ConflictAction с 2 на 1 или с 1 на 2 ... получается все равно 3. Если с 3 поменять на 1 или 2, то остается 3
     
  7. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Я как пример написал. Изменять в документе значение поля $ConflictAction можно только скриптом.
     
  8. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Я как пример написал. Изменять в документе значение поля $ConflictAction можно только скриптом.



    Так ты же вначале написал "какие бы значения в Conflict Handling не стояли и как бы документ не изменялся и не пересохранялся (хоть скриптом, хоть собаками)..."

    В чем проблема тогда? Скриптом и сохраняй
     
Загрузка...
Похожие Темы - Form Conflict Handling
  1. garrick
    Ответов:
    3
    Просмотров:
    440
  2. SvetlanaL
    Ответов:
    0
    Просмотров:
    199
  3. SvetlanaL
    Ответов:
    0
    Просмотров:
    173
  4. SvetlanaL
    Ответов:
    0
    Просмотров:
    218
  5. Barakuda
    Ответов:
    0
    Просмотров:
    575

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