Создать поле и прописать значение

Cleric-Lviv

Lotus team
03.01.2008
600
0
#1
Всем привет

Идея такова
на вю где надобно в некоторие документи добавить поле hidden и присвоить етому полю значение припустим "1"
пишу
Код:
Dim ses As New NotesSession
Dim ws As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim item As NotesRichTextItem
Dim dc As NotesDocumentCollection
Dim db As NotesDatabase

Set ws = New NotesUIWorkspace
Set uidoc = ws.EditDocument( True ) - откривает документ, а мона сделать так чтоб дока не откривалась? 
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document - почемуто не определяет документ хотя он открился:( 
Set item = doc.CreateRichTextItem("hidden")
Call item.AppendText("1")
Call doc.Save( False, True )
Call uidoc.Close(True)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#2
как будет определяться документ в который надо вносить изменения?
как будет производится запуск кода, который должен внести изменения?
 

Omh

Lotus team
04.07.2007
2 210
1
#3
Ух жесть!
Проще всего сделать собачьего агента по выделенным документам с @SetField внутри.
Если надо алогритм посложнее, то скритового с перебором по UnprocessedDocuments и обработкой.

Ну и вопросы Akupak'и тоже в тему ;)
 

Cleric-Lviv

Lotus team
03.01.2008
600
0
#4
как будет определяться документ в который надо вносить изменения?
как будет производится запуск кода, который должен внести изменения?
1. только визуально
2. только ручками, документов немного, удалять нельзя.

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

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#5
1. только визуально
2. только ручками, документов немного, удалять нельзя.
хм... загадочно ;)
1) варианты ответов: выбором из вида, диалогом выбора документов (NotesUIWorkspace.PickListCollection), свой варинат;
2) запускаться агентом на выделенных доках, кнопкой из вида, свой вариант.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#6
по ричтекстовому полу отфильтровать не удастся, т.к. по-умолчанию оно не имеет флага SUMMARY. Пользуй просто doc.ReplaceItemValue("hidden", "1").
Документ не надо открывать в UI. Получай его просто как NotesSession.DocumentContext
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#8
ответ:
set col = db.unprocesseddocumtnts
call col.stampall("hidden", "1")
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#9
я бы предложил обрабатывать доки агентом по выделенным в виде докам.
удобнее, и кнопками лишними вид не нагружает, особенно, если задача нерегулярная (нечастая)
 

Cleric-Lviv

Lotus team
03.01.2008
600
0
#10
TIA
твой совет тоже помог;) а то я думаю почему доки дальше в етой вю видни:)
но вот NotesSession.DocumentContext не помагает, поле делает и значение прописивает но вон дока дальше в етой вю,.....

Akupaka
я думаю (надеюсь) задача разовая!

ToxaRat
твой вариант ----not a member unprocesseddocumtnts
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#11
Cleric-Lviv
да е моё, ты что хелп не можешь посмотреть?
я же пишу по памяти и с очепятками
 

TIA

:-)
Lotus team
15.05.2009
790
3
#13
но вот NotesSession.DocumentContext не помагает, поле делает и значение прописивает но вон дока дальше в етой вю,.....
Надеюсь, селекшен-формула во вьюхе уже проверяет непустоту поля hidden и doc.save выполняется?

Но documentContex - это замена для вашего первоначального варианта. Там только в текущий документ поле прописывалось. Для получения выделенных документов надо, как советуют, пользовать UnpocessedDocuments и StampAll
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#14
Надеюсь, селекшен-формула во вьюхе уже проверяет непустоту поля hidden и doc.save выполняется?
к стати, а если он на форму поместил поле типа RT, то не будет глючить выборка, не смотря на то, что тип поля уже summary?..

Cleric-Lviv, на форме нету RT-поля "hidden"?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#16
это да, но я че-то "слышал", что если в дизайнере сохранили форму с полем, то в таблице полей базы появляется инфа о его типе, и буд-то бы это влияет на FT-поиск... а на Select не вляет?..
хотя, вроде вспомнил, пока писал )) вроде, поле нельзя выбрать в списке полей в стандартном диалоге поиска по полю... наверное, это ни при чем...
 

TIA

:-)
Lotus team
15.05.2009
790
3
#17
Akupaka
Всё правильно. Добавлю, что флаг SUMMARY в таблице полей не хранится. Только имя и тип.