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

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

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

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

    Идея такова
    на вю где надобно в некоторие документи добавить поле hidden и присвоить етому полю значение припустим "1"
    пишу
    Код (Text):
    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)
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    как будет определяться документ в который надо вносить изменения?
    как будет производится запуск кода, который должен внести изменения?
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ух жесть!
    Проще всего сделать собачьего агента по выделенным документам с @SetField внутри.
    Если надо алогритм посложнее, то скритового с перебором по UnprocessedDocuments и обработкой.

    Ну и вопросы Akupak'и тоже в тему ;)
     
  4. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    1. только визуально
    2. только ручками, документов немного, удалять нельзя.

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    хм... загадочно ;)
    1) варианты ответов: выбором из вида, диалогом выбора документов (NotesUIWorkspace.PickListCollection), свой варинат;
    2) запускаться агентом на выделенных доках, кнопкой из вида, свой вариант.
     
  6. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    по ричтекстовому полу отфильтровать не удастся, т.к. по-умолчанию оно не имеет флага SUMMARY. Пользуй просто doc.ReplaceItemValue("hidden", "1").
    Документ не надо открывать в UI. Получай его просто как NotesSession.DocumentContext
     
  7. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

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

    Подколол;)
    вибором из вида
    кнопкой из вида
     
  8. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    ответ:
    set col = db.unprocesseddocumtnts
    call col.stampall("hidden", "1")
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    я бы предложил обрабатывать доки агентом по выделенным в виде докам.
    удобнее, и кнопками лишними вид не нагружает, особенно, если задача нерегулярная (нечастая)
     
  10. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

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

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

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

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    Cleric-Lviv
    да е моё, ты что хелп не можешь посмотреть?
    я же пишу по памяти и с очепятками
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    я смотрел, там нету метода "unprocesseddocumtnts" )))

    Код (Text):
    dim s as new notessession
    dim col as notesdocumentcollection
    set col = s.currentdatabase.unprocesseddocuments
    call col.stampall("itemname", "itemvalue")
     
  13. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Надеюсь, селекшен-формула во вьюхе уже проверяет непустоту поля hidden и doc.save выполняется?

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    к стати, а если он на форму поместил поле типа RT, то не будет глючить выборка, не смотря на то, что тип поля уже summary?..

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

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Без UI-сохранения или ComputeWithForm поле не станет само RT.
     
  16. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    это да, но я че-то "слышал", что если в дизайнере сохранили форму с полем, то в таблице полей базы появляется инфа о его типе, и буд-то бы это влияет на FT-поиск... а на Select не вляет?..
    хотя, вроде вспомнил, пока писал )) вроде, поле нельзя выбрать в списке полей в стандартном диалоге поиска по полю... наверное, это ни при чем...
     
  17. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Akupaka
    Всё правильно. Добавлю, что флаг SUMMARY в таблице полей не хранится. Только имя и тип.
     
  18. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

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

    благадарю все работает!
    ToxaRat
    не сердись;)
     
Загрузка...

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