• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Form -> Conflict Handling

  • Автор темы Dragon108
  • Дата начала
D

Dragon108

Разбирался в базе с счетчиками и наткнулся на такое ...
Если в свойствах формы, по которой создается документ, проставлять поле 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 не стояли и как бы документ не изменялся и не пересохранялся (хоть скриптом, хоть собаками)... В связи с этим вопрос - что это за багофига такая? Может быть кто-нибудь знает в чем тут дело (может опять же галка какая-нибудь где-нибудь не проставлена) или просто я что-то криво делаю? ;)

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

doka

У меня проблем не возникло. Может название поля неправильно указал?
Вот код для сравнения:

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)

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

nvyush

Без проблем редактировал значение поля "$ConflictAction" с помощью link removed.
 
D

Dragon108

У меня проблем не возникло. Может название поля неправильно указал?
Вот код для сравнения:

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)

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



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

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

susinmn

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

1. Документ был создан по форме с *Conflict Handling: Merge Conflicts/ No Conflicts - поле $ConflictAction равно 3*.
2. В форме поменяли Conflict Handling на *Conflicts - поля $ConflictAction нет*.
3 При пересохранении документа $ConflictAction меняться не будет. Нужно менять скриптом.
 
D

Dragon108

1. Документ был создан по форме с *Conflict Handling: Merge Conflicts/ No Conflicts - поле $ConflictAction равно 3*.
2. В форме поменяли Conflict Handling на *Conflicts - поля $ConflictAction нет*.
3 При пересохранении документа $ConflictAction меняться не будет. Нужно менять скриптом.


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

susinmn

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

Я как пример написал. Изменять в документе значение поля $ConflictAction можно только скриптом.
 
D

doka

Я как пример написал. Изменять в документе значение поля $ConflictAction можно только скриптом.



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

В чем проблема тогда? Скриптом и сохраняй
 
Мы в соцсетях:

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