Embededview

Тема в разделе "Lotus - Программирование", создана пользователем Cleric-Lviv, 13 июл 2009.

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Всем привет!

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

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

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

    IsAvailable Гость

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

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    если потом мона будет скопировать атачмент в какой нибудь из респонзов тогда ето хорошая идея если нет плох-ая.....
     
  4. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Во view первая категоризированная калонка как считается?($ref?) и что написано в embededview в show single category?
    Не пробовал doc, который открыл с помощью DialogBox, рефрешить (Call ws.CurrentDocument.Refresh)?
     
  5. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    да считается как $ref
    show single category --- @Text(CustomerUNID)
    нет рефрешить не пробовал щас попробую

    P.S Refresh не помог
     
  6. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    А CustomerUNID у тебя как считается, после того, как ты ввел номер в поле для ввода номера документа "В"? CustomerUNID у тебя есть во время рефреша?
     
  7. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    CustomerUNID считается после того как найден документ
    CustomerUNID во время рефреша нету , но ето 100% не в етом суть
     
  8. IsAvailable

    IsAvailable Гость

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

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    геморойно очень как по мне.......
     
  10. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    To Cleric-Lviv, поправь меня, если я что-то не понимаю.
    Вот от сюда: у тебя открывается форма в 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
     
  11. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    susinmn

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

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Вобщем разобрался что по чем, но теперь вот вопрос как скопировать мой атачмент из письма которое мне пришло в базу в один из документов которие видни у меня в вю??? я на рисунке все показал;)

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

    Вложения:

    • Attachment.JPG
      Attachment.JPG
      Размер файла:
      64,4 КБ
      Просмотров:
      37
  13. IsAvailable

    IsAvailable Гость

    Возможно это?

    notesEmbeddedObjectArray = notesDocument.EmbeddedObjects
     
  14. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Если под виндой, то попробуй так.

    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
     

Поделиться этой страницей