Копирование ричтекст полей

Тема в разделе "Lotus - Программирование", создана пользователем Xalet, 20 авг 2008.

  1. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Есть две формы с ричтекст полями. Одна для заполнения, другая для печати. Надо перенести значения полей с первой во вторую. Со всеми полями проблем нет, а с ричтекстом никогда не работал и как-то не получается. Помогите =)

    Спасибо.
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    CopyItemToDocument?
    Может переоткрыть надо что-то?
    Подробнее плз :rolleyes:
     
  3. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    В общем потупил чктка =) Сделал сам. Надо было всего лишь:

    Call uidoc.GotoField( "uzklTekstas" )
    Call uidoc.SelectAll
    Call uidoc.Copy

    Set prt = workspace.ComposeDocument("", "", "PrintFormUzklausa")

    Call prt.GotoField( "prtUzklTekstas" )
    Call prt.Paste
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    а зачем переносить-то?..
    такой вариант не подойдет?
    сделай вид, в котором будут отображаться доки на печать, т.е. оригинальные, созданные по форме1 (форма для заполнения)
    в виде есть FormFomula, в ней пропиши формулу, результат которой будет равен имени/алиасу формы2 (форма для печати)
    а на форме2 размести поля как надо...
    при открытии дока из этого вида, будет использована форма2...
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Буфер портить еще.
    Достаточно получить NotesRichTextItem и скопировать в новый документ. Можно еще Refresh(True) сделать.
     
  6. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    В общем смысл такой, документ просто заполняется и в нем есть кнопка распечатать. Документ, для заполнения выглядит не так, как на печати, соответственно печатная форма другая. По нажатии кнопочки, поля копируются во вторую, она распечатывается и закрывается (не сохраняясь естественно). Есть вариант, что позже будет по тому же сценарию вываливаться сразу в вордовский шаблон и тот в свою очередь печататься.
    Ну и кроме печатанья на ту же кнопку вешаются еще дополнительные действия...
    Пока я делаю для печатанья всегда так, но я в ноутсах новичек, и если есть более простые способы, я с удовольствие о них почитаю...
    Отписывайтесь. Спасибо.

    пример в студию =)
     
  7. Akupaka

    Akupaka А че я?.. О.о

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

    вид для печати - как описано выше...

    должно работать как надо :blink:
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Да без проблем. :rolleyes:

    Код (Text):
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim ni As NotesItem

    Set db = session.CurrentDatabase
    Set uidoc = ws.CurrentDocument
    Call uidoc.Refresh(True)
    Set ni = uidoc.Document.GetFirstItem("uzklTekstas")
    Set doc = db.CreateDocument()
    Call doc.ReplaceItemValue("Form", "PrintFormUzklausa")
    Call ni.CopyItemToDocument(doc, "prtUzklTekstas")
    Call ws.EditDocument(False, doc, False)
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    xalet
    C прибалтики чтоль?
    Какие-то названия у форм латышско-литовские...
     
  10. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Да, из Литвы

    спасибо, сейчас попробую =)
     
  11. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ну щас начнут целоваться-обниматься... ;)
     
  12. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Medevic
    Спасибо, всё работает...
    Хотя я вроде точно так же изначально и пытался, но ничего не получилось =) Видимо опыта маловато.
     
  13. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Рефреш, наверное, не делал.
     
  14. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Опа, я его и сейчас не делаю. Надо добавить на всякий случай.

    Не, без рефреша (т.е Call uidoc.Refresh(True) ) всё вроде работает.
     
Загрузка...

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