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

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

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

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

вставка ссылок кодом

  • Автор темы oxystile
  • Дата начала
O

oxystile

1-й документ по специальной кнопке выполняет создание док-та в другой базе
Set db =s.GetDatabase("" ,"forPOKassa1.ntf")
Set doc = db.CreateDocument()
doc.Form = "newDoc"


пусть созданный док, -это док №2
в доке №2 юсер заполняет поля, сохраняет, в коде на сохранении ссылка на этот док заносится в рич поле дока №1 Set rt = New NotesRichTextItem(doc1, "doc_link") , -№1
*****
Call rt.AppendDocLink(doc, FromMail)
Call rt.Update()

НО: если из документа №1 формировать 1 или более документов типа док№2, то ссылки увидим только после переоткрытия дока №1
можно ли как-то организовать динамическое появление ссылок, т.е. нажали сохранить и ссылка сразу видна в поле дока №1, пока просто идей 0?
 
O

Omh

Ну, по-моему, давно известно, что при апдейте RT поля документ надо переоткрывать.

Как вариант: можно, например, RT заменить на Embedded view и каждую ссылку хранить отдельным мелким залинкованным доком, который на QO откроет то, что нас интересует.
И мантейнить такую штуку гораздо удобнее, нежели RT.
 
O

oxystile

to Medevic
в коде случай другой, там находясь в докумете, ссылку надо поместить в этот же документ, поэтому возможно использование uidoc. У меня же находясь на одном документе ссылку надо вставить в другой док(расположен он в другой базе) т.о. Set uidoc = ws.EditDocument(True, uidoc.Document, False) вроде как не прокатит.

to Omh
Embedded view ,будет конечно понадежнее чем rich text поле (его не собъешь)
(в Embedded view я храню документы, кот. создаются при сохранении документа типа 2, и хранят в себе UniversallD этих созданных документов, линки и пр. нужную инфу, т.о. одному документу типа №2 в некоторой базе*базы могут быть различны* соответсвует один документ в базе для документа типа №1 ). Надеюсь, не сильно запутала.
Так вот, этот Embedded view на форме обновляется тоже не сразу, добавленный док вижу только после переоткрытия, Call viewR.Refresh тоже не помогает
 
O

Omh

Для: oxystile
Ну это только про создании первого дока в embedded view.
Начиная со второго всё нормально.
Так что это можно списать на фичу, а не на баг <_<
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--QuoteBegin-oxystile+29:10:2007, 18:30 -->
<span class="vbquote">(oxystile @ 29:10:2007, 18:30 )</span><!--QuoteEBegin-->в коде случай другой, там находясь в докумете, ссылку надо поместить в этот же документ, поэтому возможно использование uidoc. У меня же находясь на одном документе ссылку надо вставить в другой док(расположен он в другой базе) т.о. Set uidoc = ws.EditDocument(True, uidoc.Document, False) вроде как не прокатит.
[snapback]83465" rel="nofollow" target="_blank[/snapback]​
[/quote]
Тогда я что-то не понял это:
<!--QuoteBegin-oxystile+29:10:2007, 13:25 -->
<span class="vbquote">(oxystile @ 29:10:2007, 13:25 )</span><!--QuoteEBegin-->если из документа №1 формировать 1 или более документов типа док№2, то ссылки увидим только после переоткрытия дока №1
[snapback]83397" rel="nofollow" target="_blank[/snapback]​
[/quote]
 
O

oxystile

to Omh
нет, сколько бы не добавила, все равно увижу только после преоктрытия

to Medevic
из №1 формирую №2, при сохранении №2, хочу поместить на него ссылку в поле дока №1.
результат: 2 различных дока из различных БД содержат внутри себя ссылки друг на друга
 
O

Omh

Для: oxystile
Не надо view.Refresh - это для background объекта.
Попробуй workspace.ViewRefresh куда-нить воткнуть.
 
S

serEJa Shabalin

UNID - документа мы знаем сразу после создания, в т.ч. ReplicaID и viewID
Т.е. можно например засовывать на перехватчике события QuerySave второго дока NotesURL ссылку в многозначное текстовое поле первого дока
Далее варианты Computed поля с Hotspot или ListBox с отловом события Change и открытием ссылки, или в 2 действия: выбрать ссылку в ListBox и нажать на кнопку для ее открытия
 
S

susinmn

отличный вариант с Hotspot. привязываешь на текст и по clik в процедуре по unid получаешь doc...
 
M

morpheus

Для: oxystile
Я бы попробовал комбинировать вариант перехвата события QuerySave 2го докумета и переоткритие первого.

Или же зделать просто напросто ссылки - вручную, а не в РТ полях
 
O

oxystile

тут еще следует предусмотреть тот случай, когда захотят "старые доки"(давно выполненные и уже неиспользуемые) перекинуть в архив. Т.О. перенося документ в архив следует запомнить его новый id, найти все доки, кот. на него ссылаются и поменять в них ссылки...
т.о. ссылки должны быть сделаны так, чтобы их впоследствии было легко найти и изменить ;)
 
D

D!m@n

Если делать вот это:
Код:
Call rt.AppendDocLink(doc, FromMail)
на QueryOpen документа (проверив предварительно, что документ - новый), то ничего закрывать и переоткрывать не придется.
Для данной задачи такое решение вроде бы подходит.
 
Мы в соцсетях:

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