D
deeeman
Привет!
Есть вид в почтовой бд "Входящие". В клиенте по кнопке из этого вида делается обработка коллекции имеющихся в этой папке документов и выводиться на печать документы и аттачи (если есть). одним разом нужно обработать все документы.
Затор в том, что при перебирании документов, иногда у скрипка сносит крышу и он посылает на печать не те документы.
Решал:
-дополнительными задержками (тупо цикл по всем документам базы с сохранением)
-через таймер, по 5 документов посылаю через 5 секунд
не решает проблему, она возникает непонятно от куда, закономерности нет, выводит на печать левое.
код такой:
Есть вид в почтовой бд "Входящие". В клиенте по кнопке из этого вида делается обработка коллекции имеющихся в этой папке документов и выводиться на печать документы и аттачи (если есть). одним разом нужно обработать все документы.
Затор в том, что при перебирании документов, иногда у скрипка сносит крышу и он посылает на печать не те документы.
Решал:
-дополнительными задержками (тупо цикл по всем документам базы с сохранением)
-через таймер, по 5 документов посылаю через 5 секунд
не решает проблему, она возникает непонятно от куда, закономерности нет, выводит на печать левое.
код такой:
Код:
flagP = False
Set doc = uiDoc.Document
Set doc = view.GetFirstDocument
While Not doc Is Nothing
'отправляем в другую папку
Set doc1 = db.getDocumentbyUNID(id)
If doc1 Is Nothing Then
If flagP Then
Call doc1.PutInFolder("Распечатанные")
Else
Call doc1.PutInFolder("Не распечатанные")
End If
Call doc1.RemoveFromFolder("($Inbox)")
End If
flagP = False
if (выполнены условия) then
'ставим флаг что печатаем
flagP = True
Set uidoc = ws.EditDocument(True,doc,True)
Call StopF()
Call uiDoc.Print(1)
Call StopF()
uidoc.Close True
Call StopF()
'печатаем вложения .doc если есть
'если не выполнены условия
Else
'что то делаем
End If
'запоминаем документ
id = doc.UniversalID
Set doc = view.GetNextDocument(doc)
Wend