Embededview

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#1
Всем привет!

вобщем цель такова.
Прикрепить атач из документа "А" в соответствующий респонз документа "В"

В базу приходит письмо с атачем. когда открить письмо, то в форме есть кнопа "прикрепить в.." жмем виваливается DialogBox в котором присутсвуют поле для ввода номера документа "В" и embededview которое должно отображать респонзи документа "В" . вводим номер документа "В" доку нашло но вот отобразить респонзи в embededview не хочет...... может ктото такое делал?

P.S PickListCollection не предлагать так как ето не подойдет.........
 
I

IsAvailable

Гость
#2
А может попробовать не отображать респонзы, а имитировать их отображение?
Т.е. после выбора документа прорисовывать нужную информацию о всех респонзах в поле типа CheckBox.
 

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#3
А может попробовать не отображать респонзы, а имитировать их отображение?
Т.е. после выбора документа прорисовывать нужную информацию о всех респонзах в поле типа CheckBox.
если потом мона будет скопировать атачмент в какой нибудь из респонзов тогда ето хорошая идея если нет плох-ая.....
 

susinmn

Well-Known Member
16.10.2007
529
8
#4
Во view первая категоризированная калонка как считается?($ref?) и что написано в embededview в show single category?
Не пробовал doc, который открыл с помощью DialogBox, рефрешить (Call ws.CurrentDocument.Refresh)?
 

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#5
Во view первая категоризированная калонка как считается?($ref?) и что написано в embededview в show single category?
Не пробовал doc, который открыл с помощью DialogBox, рефрешить (Call ws.CurrentDocument.Refresh)?
да считается как $ref
show single category --- @Text(CustomerUNID)
нет рефрешить не пробовал щас попробую

P.S Refresh не помог
 

susinmn

Well-Known Member
16.10.2007
529
8
#6
А CustomerUNID у тебя как считается, после того, как ты ввел номер в поле для ввода номера документа "В"? CustomerUNID у тебя есть во время рефреша?
 

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#7
CustomerUNID считается после того как найден документ
CustomerUNID во время рефреша нету , но ето 100% не в етом суть
 
I

IsAvailable

Гость
#8
если потом мона будет скопировать атачмент в какой нибудь из респонзов тогда ето хорошая идея если нет плох-ая.....
Ну в чекбоксе же можно алиасами прописать юниды респонзов (как вариант)... А где юнид, там и документ. Т.е. доступ к документу получишь, ну и соответственно аттачи вложить там уже дело техники, как говорится.
 

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#9
Ну в чекбоксе же можно алиасами прописать юниды респонзов (как вариант)... А где юнид, там и документ. Т.е. доступ к документу получишь, ну и соответственно аттачи вложить там уже дело техники, как говорится.
геморойно очень как по мне.......
 

susinmn

Well-Known Member
16.10.2007
529
8
#10
To Cleric-Lviv, поправь меня, если я что-то не понимаю.
виваливается DialogBox в котором присутсвуют поле для ввода номера документа "В" и embededview которое должно отображать респонзи документа "В"
Вот от сюда: у тебя открывается форма в DialogBox*е(без кнопок ОК, Cancel) с полем *номер документа В* и embededview, где ты хочешь отображать ответные документы к B. (т.е. ты вводишь номер, получаем UNID документа В, запихиваем его в скрытое поле CustomerUNID и рефрешим форму) в embededview должны появиться ответные к В документы.
А что бы вставить в ответный документ аттач, жмем на ответный документ 2 раза в embededview, появляется вопрос *втавить аттач?(ok\cancel)*. Во вью
Sub Queryopendocument(Source As Notesuiview, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession

Dim newdoc As NotesDocument
On Error Resume Next

Set db = s.CurrentDatabase

Set newdoc=db.CreateDocument


If ws.DialogBox("название формы с вопросом",True,True,False,False,False,False,"коммент",newdoc,True,False,True) Then
'вставляем аттач
End If
continue=False
End Sub
 

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#11
susinmn

Да ви все правильно поняли.
в поле CustomerUNID вот здесь увидел только что не записивается UNID документа "В"!!!!!!!!!!! :)
 

Cleric-Lviv

Well-Known Member
Lotus team
03.01.2008
600
0
#12
Вобщем разобрался что по чем, но теперь вот вопрос как скопировать мой атачмент из письма которое мне пришло в базу в один из документов которие видни у меня в вю??? я на рисунке все показал;)

аттачмент из письма не находится ни в каком поле.... он просто в теле.... и вот сдесь у меня ступор... какой лутше метод вибрать для копирования??
 

Вложения

I

IsAvailable

Гость
#13
Возможно это?

notesEmbeddedObjectArray = notesDocument.EmbeddedObjects
 

susinmn

Well-Known Member
16.10.2007
529
8
#14
Если под виндой, то попробуй так.

doc-документ с аттачем; tecdoc-документ, куда нужно вставить

Dim WSHShell As Variant
Dim o As NotesEmbeddedObject
Dim objectnew As NotesEmbeddedObject

Set item = tecdoc.CreateRichTextItem("Название поля")

If doc.HasEmbedded Then
Forall o In doc.EmbeddedObjects
Set WSHShell = createObject("WScript.Shell")
FavoritesPath$ = WSHShell.SpecialFolders("Desktop")
FavoritesPath$ =FavoritesPath$+"\" & o.Name
Call o.ExtractFile(FavoritesPath$ )
Set objectnew= item.EmbedObject(EMBED_ATTACHMENT,"",FavoritesPath$ )

Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile FavoritesPath$, True
End Forall
End If