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

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

Cleric84

Well-known member
03.01.2008
599
0
BIT
17
Всем привет

Идея такова
на вю где надобно в некоторие документи добавить поле 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)
 
как будет определяться документ в который надо вносить изменения?
как будет производится запуск кода, который должен внести изменения?
 
Ух жесть!
Проще всего сделать собачьего агента по выделенным документам с @SetField внутри.
Если надо алогритм посложнее, то скритового с перебором по UnprocessedDocuments и обработкой.

Ну и вопросы Akupak'и тоже в тему ;)
 
как будет определяться документ в который надо вносить изменения?
как будет производится запуск кода, который должен внести изменения?

1. только визуально
2. только ручками, документов немного, удалять нельзя.

В базе обнаружено несколько документов клонов. надобно их оттуда забрать, решил что мона добавить поле вставить значение "1" и на вю уже отфильтровать.
 
1. только визуально
2. только ручками, документов немного, удалять нельзя.
хм... загадочно ;)
1) варианты ответов: выбором из вида, диалогом выбора документов (NotesUIWorkspace.PickListCollection), свой варинат;
2) запускаться агентом на выделенных доках, кнопкой из вида, свой вариант.
 
по ричтекстовому полу отфильтровать не удастся, т.к. по-умолчанию оно не имеет флага SUMMARY. Пользуй просто doc.ReplaceItemValue("hidden", "1").
Документ не надо открывать в UI. Получай его просто как NotesSession.DocumentContext
 
ответ:
set col = db.unprocesseddocumtnts
call col.stampall("hidden", "1")
 
я бы предложил обрабатывать доки агентом по выделенным в виде докам.
удобнее, и кнопками лишними вид не нагружает, особенно, если задача нерегулярная (нечастая)
 
TIA
твой совет тоже помог;) а то я думаю почему доки дальше в етой вю видни:)
но вот NotesSession.DocumentContext не помагает, поле делает и значение прописивает но вон дока дальше в етой вю,.....

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

ToxaRat
твой вариант ----not a member unprocesseddocumtnts
 
Cleric-Lviv
да е моё, ты что хелп не можешь посмотреть?
я же пишу по памяти и с очепятками
 
но вот NotesSession.DocumentContext не помагает, поле делает и значение прописивает но вон дока дальше в етой вю,.....
Надеюсь, селекшен-формула во вьюхе уже проверяет непустоту поля hidden и doc.save выполняется?

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

Cleric-Lviv, на форме нету RT-поля "hidden"?
 
это да, но я че-то "слышал", что если в дизайнере сохранили форму с полем, то в таблице полей базы появляется инфа о его типе, и буд-то бы это влияет на FT-поиск... а на Select не вляет?..
хотя, вроде вспомнил, пока писал )) вроде, поле нельзя выбрать в списке полей в стандартном диалоге поиска по полю... наверное, это ни при чем...
 
Akupaka
Всё правильно. Добавлю, что флаг SUMMARY в таблице полей не хранится. Только имя и тип.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!