L
LIGHT
Всем привет!
Помогите разрулить следующую бяку...
Есть документ в БД, к нему лепятся сдесяток документов ответов.
Грубо говоря это резолюции на родителя:
Основной документ
- Иванов, Согласен, ...
- Петров, Не согласен, ...
- Сидоров, Согласен, ....
В основном документе есть поле в котором зашита ФИО одного из (Иванов, Петров, Сидоров), грубо говоря это приоритетная резолюция.
Дальше когда происходит визирование, я читаю из главного документа кто основной "босс" если значение поля совпадет со значение текущего юзера, то в основной документ кое чего доляпываю.
Делаю это так.
Какая собственно заковыка: в родитель как-то коряво это заноситься, в часности, значения появляются если только открыть родителя и пересохранить его.
Чую заморочка тут Call Pdoc.Save(True,True) 'Сохранились
А как сделать Pdoc.Refresh ума не приложу.....
Может что-то другое, прошу хелп!
Моменты:
Документ комментов, сохраняется!, и закрывается автоматом, мой код висит на закрытии
Sub Queryclose
Помогите разрулить следующую бяку...
Есть документ в БД, к нему лепятся сдесяток документов ответов.
Грубо говоря это резолюции на родителя:
Основной документ
- Иванов, Согласен, ...
- Петров, Не согласен, ...
- Сидоров, Согласен, ....
В основном документе есть поле в котором зашита ФИО одного из (Иванов, Петров, Сидоров), грубо говоря это приоритетная резолюция.
Дальше когда происходит визирование, я читаю из главного документа кто основной "босс" если значение поля совпадет со значение текущего юзера, то в основной документ кое чего доляпываю.
Делаю это так.
Код:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
'если этот рецензент обозначен как ЮС то запишим его рецензию еще и в основной документ
'ЮС выбирается из списка рецензентов, регистратором
Dim db As NotesDatabase
Dim s As New NotesSession
Set db = s.CurrentDatabase
Dim Pdoc As NotesDocument
On Error Resume Next
Set Pdoc = db.getDocumentByUNID(Source.FieldGetText("Resp_Parents"))
'Возьмен документ родитель, в который будем писать
On Error Goto ExitSub 'Не получилось - вышли от сюда
If Not (PDoc Is Nothing) Then
' Проверим условие, что в родителе выбран ЮСер и этот ЮС = тому кто оставляет резолюцию и согл. не завершено
If Pdoc.GetItemValue("Status")(0) <> "X" And Pdoc.GetItemValue("USUser")(0) <> "" And Pdoc.GetItemValue("USUser")(0) = Source.FieldGetText("Reviewed") Then
Call Pdoc.ReplaceItemValue("USReviewedDate",Source.FieldGetText("ReviewedDate")) ' Дата визирования
Call Pdoc.ReplaceItemValue("USDecision",Source.FieldGetText("Decision")) ' Статус визирования
Call Pdoc.ReplaceItemValue("USResolution",Source.FieldGetText("Resolution")) ' Что сказал
Call Pdoc.Save(True,True) 'Сохранились
End If
End If
ExitSub:
End Sub
Какая собственно заковыка: в родитель как-то коряво это заноситься, в часности, значения появляются если только открыть родителя и пересохранить его.
Чую заморочка тут Call Pdoc.Save(True,True) 'Сохранились
А как сделать Pdoc.Refresh ума не приложу.....
Может что-то другое, прошу хелп!
Моменты:
Документ комментов, сохраняется!, и закрывается автоматом, мой код висит на закрытии
Sub Queryclose