• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Xalet

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

Спасибо.
 
O

Omh

CopyItemToDocument?
Может переоткрыть надо что-то?
Подробнее плз :rolleyes:
 
X

Xalet

В общем потупил чктка =) Сделал сам. Надо было всего лишь:

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

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

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

Akupaka

а зачем переносить-то?..
такой вариант не подойдет?
сделай вид, в котором будут отображаться доки на печать, т.е. оригинальные, созданные по форме1 (форма для заполнения)
в виде есть FormFomula, в ней пропиши формулу, результат которой будет равен имени/алиасу формы2 (форма для печати)
а на форме2 размести поля как надо...
при открытии дока из этого вида, будет использована форма2...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
В общем потупил чктка =) Сделал сам. Надо было всего лишь:

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) сделать.
 
X

Xalet

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

Буфер портить еще.
Достаточно получить NotesRichTextItem и скопировать в новый документ. Можно еще Refresh(True) сделать.
пример в студию =)
 
A

Akupaka

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

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
пример в студию =)
Да без проблем. :rolleyes:

Код:
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)
 
O

Omh

xalet
C прибалтики чтоль?
Какие-то названия у форм латышско-литовские...
 
A

Akupaka

ну щас начнут целоваться-обниматься... ;)
 
X

Xalet

Medevic
Спасибо, всё работает...
Хотя я вроде точно так же изначально и пытался, но ничего не получилось =) Видимо опыта маловато.
 
Мы в соцсетях:

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