Нужна помощь !

  • Автор темы allex
  • Дата начала
A

allex

#1
Код:
Sub Click(Source As Button)

Dim session As New notessession, db As notesdatabase, view As notesview
'Dim uidoc As New NotesDocument
Dim rtitem As NotesRichTextItem	
Dim rtitem2 As NotesRichTextItem
Dim rtitem3 As NotesRichTextItem
Dim object As NotesEmbeddedObject
Dim uidoc As NotesUIDocument
Dim fio_ As String
Dim fio1_ As String
Dim fio2_ As String
Dim fio3_ As String

Dim	zayavitel_FIO_ As String
Dim	zayavitel_d_r_ As String
Dim	zayavitel_pasport_ As String
Dim	zayavitel_ As String
Dim	zayavitel1_ As String
Dim	propiska_ As String
Dim	propiska1_ As String
Dim	propiska2_ As String
'Dim word As Variant
'Dim worddoc As Variant

Set w = New NotesUiWorkspace
Set db = session.currentdatabase
Set uidoc = w.currentdocument

'************************************ присвоение переменным значение полей из "Информация о заявителе"
fio_ = uidoc.FieldGetText("FIO")
'fio1_ = uidoc.FieldGetText("FIO")
'fio2_ = uidoc.FieldGetText("FIO")
'fio3_ = uidoc.FieldGetText("FIO")
'zayavitel_FIO_ = uidoc.FieldGetText("FIO")
'zayavitel_d_r_ = uidoc.FieldGetText("Data_rojd")
'zayavitel_pasport_ = uidoc.FieldGetText("Pasport")
zayavitel_ = 	"гр." + uidoc.FieldGetText("FIO") +" " +uidoc.FieldGetText("Data_rojd")+ " года рождения,	 " + uidoc.FieldGetText("Pasport")
'zayavitel1_ = 	"гр." + uidoc.FieldGetText("FIO") +" " +uidoc.FieldGetText("Data_rojd")+ " года рождения,	 " + uidoc.FieldGetText("Pasport")
'zayavitel2_ = 	"гр." + uidoc.FieldGetText("FIO") +" " +uidoc.FieldGetText("Data_rojd")+ " года рождения,	 " + uidoc.FieldGetText("Pasport")
propiska_ = uidoc.FieldGetText("Address")
'propiska1_ = uidoc.FieldGetText("Address")
'propiska2_ = uidoc.FieldGetText("Address")
'************************************ присвоение переменным значение полей из "Информация о заявителе"	
'******* получение файла шаблона и сохранение его на диск	
Set view = db.getview( "DBConfiguration" )
Set doc=view.GetFirstDocument
Set rtitem = doc.GetFirstItem( "dogovor_arenda_shablon" )

Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then	
Call o.ExtractFile( "c:\" & o.Source )
FileName$ = o.Source 
End If
End Forall
'******* получение файла шаблона и сохранение его на диск		

'*******
'Create the Word object:
Set word = CreateObject("Word.Application") 'Create Word object
Call word.documents.add("c:\" & FileName$) 'Create a new document based on the template 
word.visible = False
''Call word.documents.add("c:\dogovor kupli prodaji.doc") 
Set worddoc = word.activedocument 'Get a handle for the active document
'********
'**** записывание в поле worda значения переменной
worddoc.FormFields("fio").result = fio_
worddoc.FormFields("fio1").result = fio_
worddoc.FormFields("fio2").result = fio_
worddoc.FormFields("fio3").result = fio_
worddoc.FormFields("zayavitel").result = zayavitel_
worddoc.FormFields("zayavitel1").result = zayavitel_
worddoc.FormFields("zayavitel2").result = zayavitel_
worddoc.FormFields("propiska").result = propiska_
worddoc.FormFields("propiska1").result = propiska_
worddoc.FormFields("propiska2").result = propiska_

'**** записывание в поле worda значения переменной	

worddoc.saveas("Договор купли-продажи" + " с " + fio_ ) 'save the document with the filename of "John Doe.doc"	
'word.quit

uidoc.Save
'***********создание договора

Как сдесь создать документ-ответ по другой форме,чтоб в RT поле поместить обект.

Set rtitem2 = New NotesRichTextItem( doc2, "file" )
Set object = rtitem2.EmbedObject (EMBED_OBJECT, "", "c:\" & FileName$ , "OLEObject")


object.FitToWindow=True

Call doc2.ComputeWithForm(False, False)	

Потом этот документ нужно еще оставить открытым для редактирования

End Sub
 
E

Elena Nefedova

#2
Для: allex
В неописанный код не погружаюсь. Могу только ответить на заданный вопрос:
"Как сдесь создать документ-ответ по другой форме,чтоб в RT поле поместить обект"
1. Ответ нужно создавать к уже записанному документу, чтобы в случае чего левые ответы в базе не болтались. Соответственно, вешать на Postsave, если создаем одновременно с документом.
2. Как создать:
Код:
Set rdoc = New NotesDocument(db)
Call rdoc.ReplaceItemValue("Form", "ResponseFormName")
Call rdoc.MakeResponse(parentdoc)
Call rdoc.Save(True, True)
 
A

allex

#3
В неописанный код не погружаюсь.
Но код ведь кс коментариями.

если создаем одновременно с документом.
Документ-ответ создается после создания основного

Вот этот doc2 и будет являться ответом... но я уже запутался..


Код:
 Set rtitem2 = New NotesRichTextItem( doc2, "file" )
Set object = rtitem2.EmbedObject (EMBED_OBJECT, "", "c:\" & FileName$ , "OLEObject")


object.FitToWindow=True 

Call doc2.ComputeWithForm(False, False) 'обязательное условие
 
O

oshmianski

#4
Но код ведь кс коментариями.
если Вы хотите. чтобы Вам помогли, выкладывайте не только КОД С КОММЕНТАРИЯМ, а и описание этого кода вне области форматирования (для чего он нужен и что должен делать). кроме того, было бы неплохо увидеть начальную задачу.
 
A

allex

#6
Очень похоже, что подряд
Похоже но не подряд.

Сначала создается основоной документ а потом документ-ответ (форма договора)

Генерится вордовый документ, сохраняется на диск, ворд - закрывается...

uidoc.Save - я вставил только для времени тестирования проекта

Потом создается документ-ответ и туда приатачивается этот сохраненный вордовый документ.

И еще нужно ссылку на документ ответ поместить в RT поле основного документа.
 
E

Elena Nefedova

#7
Для: allex
Отвечаю на "Потом этот документ нужно еще оставить открытым для редактирования"
Код:
Call ws.EditDocument(true, rdoc)
Что касается остального кода, так там нигде не указано, что есть еще проблемы...

PS: Dim ws As NotesUIWorkspace