• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

визов библиотеки

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

Cleric84

Well-known member
03.01.2008
599
0
всем привет:)
задача следующая.
нахожусь в базе А. с бази А делаю следующую процедуру: даю команду о создании документа Х в базе Б. Когда я создал документ нужно запустить библиотеку которая находится в базе Б.
Вопрос как ето сделать?
 
Запускать библиотеки нельзя, они не запускаются :)
 
всем привет:(
задача следующая.
нахожусь в базе А. с бази А делаю следующую процедуру: даю команду о создании документа Х в базе Б. Когда я создал документ нужно запустить библиотеку которая находится в базе Б.
Вопрос как ето сделать?

В базе Б создать агента и вызывать его?
 
K-Fire
ну не придирайся :(

Omh
как скриптом запустить агента из другой бази? можно пример? там используется команда из администратора? чтото типу
tell amgr run "назва бази" 'имя агента'
 
хе-хе а NoteID документа мне не дает так как документ еще не сохранен......как из такой ситуации вибратся?

EnvelopeID=dstdoc.NoteID --- тут "0"
Set agent = db.GetAgent("Agent name")
call agent.Run(EnvelopeID)
 
1 вариант - сохранить документ.
2 вариант - не сохраняя, задать документу форму, открыть документ в УИ и выполнить нужный код, например, на PostOpen.
 
Запускать библиотеки нельзя, они не запускаются
вообще-то можно ;)
но хитро ;)


ко всему прочему что я сказал тебе по аське есть еще один чумовой вариант ;)
в той сторонней базе сделай обычный док с обычными полями и внутрь него забей всю библиотеку
тогда из любой другой базы ты сможешь через execute(код в виде стринга из той базы) использовать любые её функции ;)
 
в той сторонней базе сделай обычный док с обычными полями и внутрь него забей всю библиотеку
Потом это суппортить - застрелиться.
Особенно, если ты слиняешь на более высокооплачиваемую работу ;)
 
OKEN
второй вариант какби подходит;) буду провать разние варианти. пока спасибо за совети бум провать
 
в той сторонней базе сделай обычный док с обычными полями и внутрь него забей всю библиотеку
тогда из любой другой базы ты сможешь через execute(код в виде стринга из той базы) использовать любые её функции

Есть существенное различие -- контекст выполнения скрипта. Скажем, NotesSession.CurrentDatabase будет уже другим, нежели при выполнении в самой БД "Б". Ежели код не чувствителен к контексту БД, тогда можно напрямую получать ноту библиотеки и экзекутить то что в $ScriptLib (ессно код д.б. открыт).
Плюс подхода экзекута в том же модуле, что и создал документ -- не обязательно сохранять новый документ, если его объект передавать через public-переменную.
 
TIA
во, есть те кто меня понимать :o
 
А приведите пример кода, как это использовать, пожалуйста.
 
Напишу в теме краткое решение проблемы, которое мне помогло.

0. Забыкапился, а то мало ли
1. Создал дополнительную БД и в Script Lib скопировал все библиотеки скриптов
2. В свойствах БД указал, что она является шаблоном
3. Выбираю нужный скрипт, копирую его в буфер обмена (прямо в дереве объектов выбираю) и вставляю в Script Libraries в нужной БД. Система спрашивает, синхронизировать библиотеки - отвечаю Да.
4. Делаю Refresh Design у нужной БД - скопированные скрипты синхронизируются.

Теперь все скрипты в одной БД и решается проблема с вызовом функций.

ЗЫ: Во всех БД-привязанных командах (типа @dblookup) жестко прописывал БД.
 
ЗЫ: Во всех БД-привязанных командах (типа @dblookup) жестко прописывал БД.
Дурной тон так делать. Лучше в настроечных документах пути к базам прописывать, а то потом сопровождать замучаетесь.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы