Document Refresh

Xalet

Well-known member
08.08.2008
410
0
#1
В БД есть основной документ и ответы(респонсы). В основном документе есть поле, в котором обсчитывается сумма определенных полей в респонсах. Есть эмбедед вьюшка, которая показывает все респонсы. Есть кнопочка добавить респонс. Когда эта кнопочка нажимется, создается соответственно документ, заполняется, сохраняется и закрывается. Как сделать чтобы основной документ рефрешился автоматом после закрытия ответа (сумма пересчитывается при этом)?

Спасибо.
 

Omh

Lotus team
04.07.2007
2 210
1
#2
Ну теоретически парент у нас может быть/не быть в EditMode.
Если он в editMode, то можно пересчитывать на QuerySave или поизвращатся с ui-объектами на закрытии респонса.
Если он не в editMode, надо взводить какой-то флаг, что бы он при закрытии пересчитался.
Как-то так :)
 

Xalet

Well-known member
08.08.2008
410
0
#3
Так парент при закрытии пересчитывается, да и не только при закрытии. Можно просто тыркнуть в поле с суммой или нажать рефреш. Парент переводится в эдит мод при нажатии кнопочки создания респонса... Ток вот некоасиво получается, когда добавил ответ, во вьюшке он показывается, в тотал вьюшки сумма одна, а в поле другая. Вот и хотелось бы как-то сделать, чтобы автоматом рефрешился.

поизвращатся с ui-объектами на закрытии респонса
а под этим что имелось ввиду?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Ну если респонсы создаются на скрипте, то можно попробовать так. Вдруг заработает. :)
Код:
...
Set uidoc = ws.EditDocument(True, respDoc, False) 'открываем созданный респонс
On Event QueryClose From uidoc Call Refresh
Код:
Sub Refresh(Source As NotesUIdocument, Continue As Variant)
If parUidoc.EditMode Then parUidoc.Refresh
End Sub
Хотя логичнее на PostSave делать рефреш.
parUidoc - это родительский документ. Придется делать глобальным. :)
 

Omh

Lotus team
04.07.2007
2 210
1
#5
Medevic
Да-да, я такие обороты где-то видел, но, кажется, использвать не приходилось.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#6
Чуть поправил пост.

Omh
Я тоже не использовал. Просто помню, что можно. :)