K
Kron
Есть такая праблемка, сейчас из пердставления спец входит в форму, там нажимает печать @Command([ViewSwitchForm];"PrintAgentForm8") после чего попадает в форму созданную на основе пердыдущей + еще некоторые данные из других форм, все обрабатываеися скриптом:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim ns As notessession
Dim db As notesdatabase
Dim view As notesview
Dim doc1 As notesdocument
Dim doc2 As notesdocument
Dim dc As notesdocumentcollection
Dim i As Integer
Set doc1= source.document
Set db = doc1.parentdatabase
Set view = db.getview("(view1)")
Set dc = view.GetAllDocumentsByKey(doc1.AgentShortName(0))
i = 0
j=1
For i = 1 To dc.count
Set doc2 = dc.Getnthdocument(i)
'
' doc1.ReplaceItemValue("F1_"+cstr(i),)
If doc2.PersonalNotPrintInForm(0)<>"НЕ показывать в карточке обновления" Then
If doc2.PersonalDBaseUpdateUser(0)="Ответственный за пополнение БД" Then
Call doc1.ReplaceItemValue("F0_"+Cstr(j),"+")
End If
If doc2.PersonalAccountUser(0)="Получатель платежных документов" Then
Call doc1.ReplaceItemValue("F1_"+Cstr(j),"$")
End If
If doc2.PersonalKodeksUser(0)="Пользователь ИПС Кодекс" Then
Call doc1.ReplaceItemValue("F2_"+Cstr(j),"K")
End If
Call doc1.ReplaceItemValue("F3_"+Cstr(j),doc2.PersonalAllName(0))
Call doc1.ReplaceItemValue("F4_"+Cstr(j),doc2.PersonalDolg(0))
Call doc1.ReplaceItemValue("F5_"+Cstr(j),doc2.PersonalWorkPhone(0))
Call doc1.ReplaceItemValue("F6_"+Cstr(j),doc2.PersonalWorkRoom(0))
If doc2.PersonalBDate(0)<>"" Then
Call doc1.ReplaceItemValue("F7_"+Cstr(j),"*")
End If
If doc2.PersonalClubNumber(0)<>"" Then
Call doc1.ReplaceItemValue("F8_"+Cstr(j),Cstr(doc2.PersonalClubNumber(0)))
End If
j = j + 1
End If
Next
End Sub
И вот сама соль как сделать агента чтобы он печатал все формы по конторам не заходя в них, т.е. как я понимаю выделили во вьюхе нужные конторы запустили агента, и на принтер поползли они все по порядку.
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim ns As notessession
Dim db As notesdatabase
Dim view As notesview
Dim doc1 As notesdocument
Dim doc2 As notesdocument
Dim dc As notesdocumentcollection
Dim i As Integer
Set doc1= source.document
Set db = doc1.parentdatabase
Set view = db.getview("(view1)")
Set dc = view.GetAllDocumentsByKey(doc1.AgentShortName(0))
i = 0
j=1
For i = 1 To dc.count
Set doc2 = dc.Getnthdocument(i)
'
' doc1.ReplaceItemValue("F1_"+cstr(i),)
If doc2.PersonalNotPrintInForm(0)<>"НЕ показывать в карточке обновления" Then
If doc2.PersonalDBaseUpdateUser(0)="Ответственный за пополнение БД" Then
Call doc1.ReplaceItemValue("F0_"+Cstr(j),"+")
End If
If doc2.PersonalAccountUser(0)="Получатель платежных документов" Then
Call doc1.ReplaceItemValue("F1_"+Cstr(j),"$")
End If
If doc2.PersonalKodeksUser(0)="Пользователь ИПС Кодекс" Then
Call doc1.ReplaceItemValue("F2_"+Cstr(j),"K")
End If
Call doc1.ReplaceItemValue("F3_"+Cstr(j),doc2.PersonalAllName(0))
Call doc1.ReplaceItemValue("F4_"+Cstr(j),doc2.PersonalDolg(0))
Call doc1.ReplaceItemValue("F5_"+Cstr(j),doc2.PersonalWorkPhone(0))
Call doc1.ReplaceItemValue("F6_"+Cstr(j),doc2.PersonalWorkRoom(0))
If doc2.PersonalBDate(0)<>"" Then
Call doc1.ReplaceItemValue("F7_"+Cstr(j),"*")
End If
If doc2.PersonalClubNumber(0)<>"" Then
Call doc1.ReplaceItemValue("F8_"+Cstr(j),Cstr(doc2.PersonalClubNumber(0)))
End If
j = j + 1
End If
Next
End Sub
И вот сама соль как сделать агента чтобы он печатал все формы по конторам не заходя в них, т.е. как я понимаю выделили во вьюхе нужные конторы запустили агента, и на принтер поползли они все по порядку.