создание Embedded View из другой базы

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

rusoldier

Гость
#1
Нужно создать в форме Embedded View с указанием вида из другой базы, но путь к базе относительный а не прямой (есть некая переменная в которой есть путь к базе). Как я понял нужно написать формулу, но как указать в этой формуле имя сервера и базы я не понял.
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#2
Это задача уже решалась. :)
В DXL у embedde view есть property "database", куда ты модешь вписать ReplicaID той базы, откуда тебе надо показывать embedded view.
Если property не указана - то текущая база.
Что-то вроде:
<embeddedview showactionbar='true' database='DESIRED_REPLICA_ID'>

Т.е. в нужный момент времени выгружаешь форму в DXL, проходишься DOM Parser'ом по нужным нодам и импортишь обратно (всё это можно сделать не лету, не выгружая ничё на диск).
 

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#3
<!--QuoteBegin-rusoldier+29:08:2007, 10:57 -->
<span class="vbquote">(rusoldier @ 29:08:2007, 10:57 )</span><!--QuoteEBegin-->Как я понял нужно написать формулу, но как указать в этой формуле имя сервера и базы я не понял.
[snapback]76693" rel="nofollow" target="_blank[/snapback]​
[/quote]
неправильно Вы поняли

Для: Omh
Изврат

з.ы. вставляние вложенных видов из другой базы - признак плохого тона
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#4
Для: Morpheus
В чём заключается изврат, если не секрет?
Если не считать, что это "признак плохого тона", быть может есть какие-либо другие пути?

DXL вообще отличная технология. Есть конечно свои глюки, но, кмк, многие девелоперы посмотрели на этот XML, подумали "что за херь" и забили.
 
R

rusoldier

Гость
#5
Для: Morpheus
Не совсем понятно "признак плохого тона", подскажите тогда вариант альтернативный вариант, есть база start с нее начинается работа с системой , когда пользователь открывает ее то мне нужно высветить новые документы из разных баз (что то типа новости, регламенты и т.п.).
Держать документы в одной базе не представляется возможным потому как их действительно скапливается огромное количество (а лотусовая база не резиновая)+ уже есть написанное ПО которое менять из за одного View на главной странице глупо.
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#6
Для: rusoldier
Кстати, у меня была именно такая задача: разместить на форме n embedded view из разных баз.
Это нормально реализеутся с помощью той технологии, что я описал в своём первом посте.
 
R

rusoldier

Гость
#7
Для: Omh
Сделал но есть еще одна проблема вид имеет формулу
SELECT Form = "Regulation" & @Contains(AccountExec; @Name([CN]; @UserName))
так вот если его смотреть из дизайнера то он показывает правильно (думаю если показывать из формы из этой же базы будет тоже нормально ), но когда я его тяну из другой базы ,то @UserName в этом виде - тот который сохранил этот вид, как его поменять ?
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#8
Не, @UserName не надо использовать в selection formul'e.
Тут, как вариант, модно сделать embedded view с формулой "@Name([CN]; @UserName)" в "Show single category".

Или, но это уже совсем нехорошо, попробовать к Selection formul'у переписать так:
SELECT Form = "Regulation" & @Contains(AccountExec; @Name([CN]; @UserName)) & @Today= @Today
Точно не уверен, что из этого выйдет, но можешь попробовать :)
 
K

K-Fire

Гость
#9
<!--QuoteBegin-Omh+29:08:2007, 10:57 -->
<span class="vbquote">(Omh @ 29:08:2007, 10:57 )</span><!--QuoteEBegin-->DXL вообще отличная технология. Есть конечно свои глюки, но, кмк, многие девелоперы посмотрели на этот XML, подумали "что за херь" и забили.
[snapback]76699" rel="nofollow" target="_blank[/snapback]​
[/quote]

Когда 6ка появилась я очень сильно был рад DXL и классам с ним работающим. Думал что ну вот - это новая эра работы с лотусом. Но потом поизучав его, прикнув так и эдак стало понятно, что применять DXL просто не для чего.
Эта фишка с эмбеднутыми вьюхами одна из очень немногих где DXL полезен. В остальном же - бесполезен. А если учесть что классы Importer, Exporter периодически глючат, DOM парсер отжирает такое кол-во памяти что лотус просто валится - даже когда хочется, использовать сложно.
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#10
Для: K-Fire
Не совсем не согласен, но возражения имею ;)

Через DXL можно сделать такие вещи, которые больше никак не реализуемы.
Ну, например:
1. отресайзить картинку в RT поле (эмулируя дёрганье за правый нижний угол)
2. расписание агентов править на лету.
3. все Base64 объекты выдрать из документов ;)
4. получить AddedToFile дату (это ещё и через API можно, насколько я знаю)
Ну и тому подобные извраты ;)

Есть конечно глюки, я, например, частенько нарывался на траблы с shared actions во view.
Нормальная технология, годиться.
 
A

Azrael

Гость
#11
<!--QuoteBegin-rusoldier+29:08:2007, 12:18 -->
<span class="vbquote">(rusoldier @ 29:08:2007, 12:18 )</span><!--QuoteEBegin-->подскажите тогда вариант альтернативный вариант, есть база start с нее начинается работа с системой , когда пользователь открывает ее то мне нужно высветить новые документы из разных баз (что то типа новости, регламенты и т.п.).
[snapback]76712" rel="nofollow" target="_blank[/snapback]​
[/quote]

Отказаться от формы. Сделать FrameSet c 2-мя фреймами, в левом вставить Page с Embedded OutLine, в котором сделать Entry'сы на доступ к конкретным видам в существующих БД. Сделать либо в свойствах базы - запускать при открытии, либо написать скрипт при открытии базы - вызывать этот фреймсет.
 
K

K-Fire

Гость
#12
Для: K-Fire
Не совсем не согласен, но возражения имею :)

Через DXL можно сделать такие вещи, которые больше никак не реализуемы.
Ну, например:
1. отресайзить картинку в RT поле (эмулируя дёрганье за правый нижний угол)
2. расписание агентов править на лету.
3. все Base64 объекты выдрать из документов :D
4. получить AddedToFile дату (это ещё и через API можно, насколько я знаю)
Ну и тому подобные извраты :)

Есть конечно глюки, я, например, частенько нарывался на траблы с shared actions во view.
Нормальная технология, годиться.
Хех, вы пишете "Ну и тому подобные извраты" и сразу же "Нормальная технология" :)
Это несколько несовместимые смыслы, согласитесь?

Нормальная технология, ИМО - это когда можно делать больше полезных действий, затрачивая меньше сил чем раньше используя предыдущие технологии.
А когда действий очень немного, причем большинство из них - это довольно редкие задачи, то нормальной технологией я бы постеснялся назвать это :)