Document Refresh

  • Автор темы Xalet
  • Дата начала
X

Xalet

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

Спасибо.
 
O

Omh

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

Xalet

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

поизвращатся с ui-объектами на закрытии респонса

а под этим что имелось ввиду?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Ну если респонсы создаются на скрипте, то можно попробовать так. Вдруг заработает. :)
Код:
...
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 - это родительский документ. Придется делать глобальным. :)
 
O

Omh

Medevic
Да-да, я такие обороты где-то видел, но, кажется, использвать не приходилось.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Чуть поправил пост.

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

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