• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Программное копирование элементов из формы 1 в форму 2

  • Автор темы RooS
  • Дата начала
R

RooS

Есть задача, создать документ напр, form 2, нужно из документа form 1 скопировать прикрепленные файлы (атачменты) и сабформу, которые находятся на форме form 1.
каким способом это можно сделать?
спасибо заранее..
 
R

RooS

мне не надо копировать все поля формы... copyitems тоже не пойдет....
мне надо скопировать subform в другой документ, в другой бд, где в дизайне этой подформы нет, просто скопировать сабформу со всеми данными в richtext поле....
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Метод notesDocument.RenderToRTItem.

Это если я правильно понял, что скопировать надо в ричтекст-поле, а не с ричтекст-полем.
 
R

RooS

да, скопировать в ричтекст поле.... но как мне получить subfom?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
RooS
Зачем тебе?
Делается просто. Заменяешь форму на нужную перед вызовом метода:
Call notesDocument.ReplaceItemValue("Form", "Форма с необходимыми полями")
Call notesDocument.RenderToRTItem(...)

И документ копируется по этой форме.
Главное, notesDocument не сохранить потом. Или форму обратно вернуть.
 
R

RooS

Либо я чиво то не понимаю, либо я неправильно выразился...
вобщем есть form1 на ней есть subform1.
нужно из form1 скопировать subform1 на form2 в richtext поле.
этот механизм есть, но написан был старыми разработчиками, они хранили код в LSS, которого к сожалению нет.


Формы в разных БД..
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Я не понимаю, что скопировать надо. Дизайн или данные?
 
R

RooS

данные... только сабформы во второй бд нет.
грубо говоря так: выделить сабформу, скопировать ее и вставить в другом доке в ричтекст поле...
визуально с их кодом так и происходит: выделение сабформы, и вставка в поле..
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Тогда делаешь форму(не subform) - копию subform1. Называешь её, например, subform1.
Потом:
Call notesDocument.ReplaceItemValue("Form", "subform1")
Call notesDocument.RenderToRTItem(ричтекст-поле)
 
S

Sandr

Вот тока не получится этиданные обрабатывать... РендерТуРичТекст - аболютно бесполезная фича... Еще не находил применения ей.. и врядли найду...

Или я её готовить не умею? Дайте рецепт, кто умеет...
 
R

RooS

я так сделал, и не работает:

Dim sod as NotesRichTextItem
Set sod = New NotesRichTextItem(NewDoc, "Sod") ' NewDoc - документ, в который надо скопировать. sod - ричтекст поле
Call curdoc.ReplaceItemValue("Form","RDHead1") ' CurDoc - док, где храниться данные.
Call CurDoc.RenderToRTitem(sod)
 
S

Sandr

RooS
переоткройте документ, в который пихаете форму...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
А дальше что?
Надо бы еще добавить Call sod.Update
 
R

RooS

тот док, куда копируем создается до вызова метода...
а уже в конце открывается: Call ws.EditDocument(False , NewDoc)
 
Y

Yakov

"Ручной" вариант. Пользователь выделяет нужный фрагмет, нажимает кнопку с кодом типа:
Код:
Dim uiWorkspace As NotesUIWorkspace
Dim source As NotesUIDocument
Dim target As NotesUIDocument
Set source = uiWorkspace.CurrentDocument
Call source.Copy()
Set target = uiWorkspace.ComposeDocument("", "", "Form2")
Call target.GotoField("Body")
Call target.Paste()
 
Мы в соцсетях:

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