Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Копирование ричтекст полей
Форум программистов > Базы данных и администрирование > Lotus > Lotus - Программирование
xalet
Есть две формы с ричтекст полями. Одна для заполнения, другая для печати. Надо перенести значения полей с первой во вторую. Со всеми полями проблем нет, а с ричтекстом никогда не работал и как-то не получается. Помогите =)

Спасибо.
Omh
CopyItemToDocument?
Может переоткрыть надо что-то?
Подробнее плз smile.gif
xalet
В общем потупил чктка =) Сделал сам. Надо было всего лишь:

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

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

Call prt.GotoField( "prtUzklTekstas" )
Call prt.Paste
Akupaka
а зачем переносить-то?..
такой вариант не подойдет?
сделай вид, в котором будут отображаться доки на печать, т.е. оригинальные, созданные по форме1 (форма для заполнения)
в виде есть FormFomula, в ней пропиши формулу, результат которой будет равен имени/алиасу формы2 (форма для печати)
а на форме2 размести поля как надо...
при открытии дока из этого вида, будет использована форма2...
Medevic
Цитата(xalet @ 20:08:2008 - 15:08) *
В общем потупил чктка =) Сделал сам. Надо было всего лишь:

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

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

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

Буфер портить еще.
Достаточно получить NotesRichTextItem и скопировать в новый документ. Можно еще Refresh(True) сделать.
xalet
В общем смысл такой, документ просто заполняется и в нем есть кнопка распечатать. Документ, для заполнения выглядит не так, как на печати, соответственно печатная форма другая. По нажатии кнопочки, поля копируются во вторую, она распечатывается и закрывается (не сохраняясь естественно). Есть вариант, что позже будет по тому же сценарию вываливаться сразу в вордовский шаблон и тот в свою очередь печататься.
Ну и кроме печатанья на ту же кнопку вешаются еще дополнительные действия...
Пока я делаю для печатанья всегда так, но я в ноутсах новичек, и если есть более простые способы, я с удовольствие о них почитаю...
Отписывайтесь. Спасибо.

Цитата(Medevic @ 20:08:2008 - 14:19) *
Буфер портить еще.
Достаточно получить NotesRichTextItem и скопировать в новый документ. Можно еще Refresh(True) сделать.

пример в студию =)
Akupaka
дык, я тебе о том и говорю smile.gif что не за чем переносить поля туда-сюда, достаточно чтобы было две формы - одна для заполнения, вторая для печати. та, что для печати, должна иметь вид печатной формы, и содержать те поля (с теми же именами, что на первой форме), что должны быть распечатаны...

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

должно работать как надо smile.gif
Medevic
Цитата(xalet @ 20:08:2008 - 15:22) *
пример в студию =)

Да без проблем. smile.gif

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)
Omh
xalet
C прибалтики чтоль?
Какие-то названия у форм латышско-литовские...
xalet
Цитата(Omh @ 20:08:2008 - 14:35) *
C прибалтики чтоль?
Какие-то названия у форм латышско-литовские...


Да, из Литвы

Цитата(Medevic @ 20:08:2008 - 14:28) *
Да без проблем.

спасибо, сейчас попробую =)
Akupaka
ну щас начнут целоваться-обниматься... wink.gif
xalet
Medevic
Спасибо, всё работает...
Хотя я вроде точно так же изначально и пытался, но ничего не получилось =) Видимо опыта маловато.
Medevic
Цитата(xalet @ 20:08:2008 - 16:07) *
Хотя я вроде точно так же изначально и пытался, но ничего не получилось =) Видимо опыта маловато.

Рефреш, наверное, не делал.
xalet
Цитата(Medevic @ 20:08:2008 - 15:10) *
Рефреш, наверное, не делал.

Опа, я его и сейчас не делаю. Надо добавить на всякий случай.

Не, без рефреша (т.е Call uidoc.Refresh(True) ) всё вроде работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.