ОБСУЖДЕНИЕ

Помогите с агентом

9 ответов 6,7 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Помогите, если можете! Мне необходимо, чтобы через агента можно было менять фото человека. Чтобы меня его данные я использовала: [codebox]@If((Form = "f2")|(Form="f2_1"); ""; @Do(@Prompt([Ok]; "Внимание !"; "Необходимо выбрать досье!"); @Return("")));
m := "Изменение информации";
ENVIRONMENT extcont_a :=@Prompt([OkCancelEdit]; m; "Новая фамилия:";name);
ENVIRONMENT extcont_n := @Environment("extcont_a") ;
@If(extcont_a = name ; ""; @PostedCommand([ToolsRunMacro]; "(nameupdate)"));
@PostedCommand([ToolsRunMacro]; "(message1)");
@All;
@All[/codebox]

файл nameupdate имеет код: [codebox]SELECT @All;
@If(@IsAvailable("Name"); @Do(@SetField("name"; @Environment("extcont_a"))); "");
@If(@IsAvailable("ContName"); @SetField("ContName"; @Environment("extcont_n")); "");
@If(Form = "f2"; @Do(@SetField("ff"; name));"")[/codebox]

а как сделать, чтобы можно было выбирать фото из моих документов? В самой форме я выбирала фото с помощью: [codebox]@Command([EditGotoField];"attach");
@Command( [FileImport] )[/codebox]
 
Перепишите все на LS... Таким образом сможете избавится от использования Environment (хотя и тут без них обойтись можно) и к тому же сможете использовать OpenFileDialog, чего не сделать в агенте собачном...
 
Если в LS делать, то у меня получилось:[codebox] Dim ws As New NotesUIWorkspace
Dim uidocST As NotesUIDocument
Set uidocST=ws.CurrentDocument
Dim RTItem As NotesRichTextItem
fn= ws.OpenFileDialog(False, "Выбрать файл", "JPEG Image|*.jpeg", "c:\My Documents")
Forall FileName In fn
Call uidocST.GotoField("Foto")
Call uidocST.Import("jpeg Image", FileName)

Set RTItem= New NotesRichTextItem(uidocST.Document, "f2" )
Call RTItem.EmbedObject(EMBED_ATTACHMENT, "", FileName)
End Forall[/codebox]
появляется рисунок, но как его теперь сохранить к человеку, который выбран из представления????
 
появляется рисунок, но как его теперь сохранить к человеку, который выбран из представления????

uidocST - это разве не документ из представления? ... если да, то тогда просто его сохранить...
 
Если в LS делать, то у меня получилось:[codebox] Dim ws As New NotesUIWorkspace
Dim uidocST As NotesUIDocument
Set uidocST=ws.CurrentDocument
Dim RTItem As NotesRichTextItem
fn= ws.OpenFileDialog(False, "Выбрать файл", "JPEG Image|*.jpeg", "c:\My Documents")
Forall FileName In fn
Call uidocST.GotoField("Foto")
Call uidocST.Import("jpeg Image", FileName)

Set RTItem= New NotesRichTextItem(uidocST.Document, "f2" )
Call RTItem.EmbedObject(EMBED_ATTACHMENT, "", FileName)
End Forall[/codebox]
появляется рисунок, но как его теперь сохранить к человеку, который выбран из представления????

Если это не тот документ в который Вы вставили рисунок, то прост оскопируйте итем с рисунком в нужный Вам документ. Желательно что бы на форме было РТ поле с тем именем итема который Вы скопировали...

Код:
dim persDoc as notesDocument
dim db as notesDatabase
dim s as new notessession
set db = s.currentDatabase
set persDoc = db.UnprocessedDocuments.getFirstDocument
Call RTItem.CopyItemToDocument( persDoc, "Body" )

Body - имя РТ поля в документе пользователя (в том, которое выделено в представлении)

Хотя все это не будет работать, если у Вас на уи открыт документ, так как Вы не получите выделенный документ во вьюхе при открытом на уи другом документе.
 
Спасибо.... что-то намудрила, но вроде работает нормально! А что в агенте с помощью @-формул нельзя открывать файлы? (Это так для общего развития)
 
Кстати, фото получается наверное как иконка отображается в документе? Или как картинка?
 

Похожие темы

Статистика тем

Создано
IrinaK,
Последний ответ от
Archi2001,
Ответы
9
Просмотры
6 667