Динамически Изменять Computed Notesrichtext Поле Без Сохранения Докуме

Тема в разделе "Lotus - Программирование", создана пользователем Serduko, 16 дек 2013.

  1. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Как изменять Editable NotesRichText поле я разобрался, вроде, можно ли сделать, как нибудь, с Computed?
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    я таким полям, если у меня есть они, делаю формулу - имя этого поля.
    А все изменения в backEnd.
    В UI надо?
     
  3. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Да в UI, нужно добавлять ссылки на документы из других баз + текст с изменением стилей, не сохраняя и не закрывая документ.
     
  4. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    А не легче ли реализовать ссылочную систему через документ-ссылку?
    Встроенное представление, в нем документы, при открытии ссылки открывается документ из другой базы.
    Хранить документы-ссылки можно в другой базе, тогда добавление/удаление в режиме чтения возможно + двусторонние/односторонние ссылки можно сделать, категории по названию баз/типов документов.
    Преимуществ много, вплоть до запросов на доступ к отдельным документам.
    Можно хранить в этой же базе, если не требуется наращивать такой механизм где-то еще.

    Что касается решения с RT - без сохранения точно не получится)) и переоткрывать все равно придется, хоть и программно.
    Сам процесс добавления можно сделать через отдельную форму куда записывать документы и текст, а затем добавлять к текущему RT уже в бэке.
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    не понятно...
    если показывать - дык и создавайте программно и показывайте, надо сохранить - копируйте onDisk, по тому юниду, кот. нужен

    Добавлено: savl все будет нормально:( - просто документ не должен открываться оригинальный...

    Добавлено: я вовсе не понимаю всех заморочек с РТ - напуркуа он сдался?
    если юзер хочет фигачить нетленку в док - это клиника - ворд ему в... руки
     
  6. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Вот способ:
    Код (LotusScript):
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim DummyDoc As NotesDocument
    Dim DummyUIDoc As NotesUIDocument
    Dim DummyRT As NotesRichTextItem

    Set uidoc = ws.Currentdocument
    Set DummyDoc = uidoc.Document.Parentdatabase.Createdocument()
    DummyDoc.form = "DummyDoc"

    Set DummyRT = New NotesRichTextItem (DummyDoc,"DummyRT")
    Call DummyRT.Appenddoclink(uidoc.Document, "Comment", "")
    Call DummyDoc.Save(True, False, False)

    Set DummyUIDoc = ws.EditDocument(True,DummyDoc)
    Call DummyUIDoc.GotoField("DummyRT")
    Call DummyUIDoc.SelectAll
    Call DummyUIDoc.Copy

    Call uidoc.GotoField("LinksList")
    Call uidoc.Paste
    Call uidoc.Refresh

    Call DummyUIDoc.Close(True)
    Call DummyDoc.Remove(True)
    , но он меняет только Editable поле, можно ли как то сделать с не Editable, что бы юзер не мог менять его руками?

    P.S. Я пока не трогаю общий функционал, что бы не вызвать шок у юзеров, работавших в текущем режиме c RT, за альт. решения спасибо, но пока не до них.
     
  7. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Оставляй Editable, убирай границы, заведи поле, которое отвечает за то, можно ли в RT поле провалиться, на Entering RT проверяй, если пользователь, то делай Call uidoc.GotoField("Поле").
     
  8. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Есть некоторые сомнения, что можно будет нажать на ссылку.
     
Загрузка...

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