• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

программно вложить файл

  • Автор темы Автор темы sam23
  • Дата начала Дата начала
S

sam23

Как сделать что бы некий заранее известный документ можно было прицепить в заранее известное поле.
Например C:/myfile.doc
Нужно прицепить в поле Brif
 
Ну при создании документа цепляй документ в поле. как приатачить документ смотри в поиске, примеров довольно много было на форуме.
 
Взято из хэлпа

Код:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
Call doc.Save( True, True )
 
Может я что то не так делаю. только начал изучать Lotus.
Вставляю код в Initialize формы
вот код - Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
Call doc.Save( True, True )

и ничего неполучается. захожу в форму, а документ не влаживается.
Подскажите как сделать
 
Повесь код на PostOpen. Но поставь условие:

if (Source.IsNewDoc) Then
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = source.document
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
Call doc.Save( True, True )
endif

В твоем коде ты новому документу приатачиваешь файл, а не к текущему.
 
Ты же каждай раз создаёш документ помимо открываемого, да ещё и без указания формы.
Используй событие PostOpen, а до документа доберайся через Source (set doc = Source.Document)
 
sam23
савсем всё не так делаете...
начните с азов

в Вашем случае надо делать код на кнопку
Код:
Dim ws as New NotesUIworkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = ws.CurrentDocument.Document
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
call ws.CurrentDocument.Refresh(true)

Не партесь и зделайте кнопку на @-Formula
Код:
@Command( [EditGotoField]; "Brif" )
@Command( [EditInsertFileAttachment]; "C:\myfile.doc"" )

з.ы. учите азы. Открывайте книги и штудируйте
 
ничего не получается объясните если можете все подробно
 
1. что не получаеться?
2. что должно получиться (описание действий пользователя и системы )
 
пробывал сделать кнопку.
пишу в PostOpen код
Dim ws as New NotesUIworkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = ws.CurrentDocument.Document
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
call ws.CurrentDocument.Refresh(true)

и создаю кнопку. в Click пишу формулу
@Command( [EditGotoField]; "Brif" )
@Command( [EditInsertFileAttachment]; "C:\myfile.doc"" )
пытаюсь сохранить,он ругается
"конец формулы наступил до того как встретилась строка"
 
и создаю кнопку. в Click пишу формулу
@Command( [EditGotoField]; "Brif" )
@Command( [EditInsertFileAttachment]; "C:\myfile.doc"" )
зделайте тип кнопки Formula ( сверху поля в котором Вы пишите код стоит вилимо LotusScript, его надо сменить на Formula )
 
пытаюсь сохранить,он ругается
"конец формулы наступил до того как встретилась строка"
Просто кто-то забыл точку с запятой поставить. :rolleyes:

И кавычка лишняя. И два слеша надо.
Короче:
Код:
@Command( [EditGotoField]; "Brif" );
@Command( [EditInsertFileAttachment]; "C:\\myfile.doc" )
 
теперь все нормально сохранилось. но при нажатии на кнопку ничего не происходит
 
все я разобрался,косяк мой был. а интересно можно програмно нажать клавишу
 
Как-как... Читайте хелп, он рулез. Там многое есть. Собственно, почти всё, кроме недокументированных возможностей и некоторых неочевидностей.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab