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

Тема в разделе "Lotus - Программирование", создана пользователем rusoldier, 29 авг 2007.

  1. rusoldier

    rusoldier Гость

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Это задача уже решалась. :)
    В DXL у embedde view есть property "database", куда ты модешь вписать ReplicaID той базы, откуда тебе надо показывать embedded view.
    Если property не указана - то текущая база.
    Что-то вроде:
    <embeddedview showactionbar='true' database='DESIRED_REPLICA_ID'>

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--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
    Изврат

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Morpheus
    В чём заключается изврат, если не секрет?
    Если не считать, что это "признак плохого тона", быть может есть какие-либо другие пути?

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

    rusoldier Гость

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: rusoldier
    Кстати, у меня была именно такая задача: разместить на форме n embedded view из разных баз.
    Это нормально реализеутся с помощью той технологии, что я описал в своём первом посте.
     
  7. rusoldier

    rusoldier Гость

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Не, @UserName не надо использовать в selection formul'e.
    Тут, как вариант, модно сделать embedded view с формулой "@Name([CN]; @UserName)" в "Show single category".

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

    K-Fire Гость

    <!--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 парсер отжирает такое кол-во памяти что лотус просто валится - даже когда хочется, использовать сложно.
     
  10. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: K-Fire
    Не совсем не согласен, но возражения имею ;)

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

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

    Azrael Гость

    <!--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'сы на доступ к конкретным видам в существующих БД. Сделать либо в свойствах базы - запускать при открытии, либо написать скрипт при открытии базы - вызывать этот фреймсет.
     
  12. K-Fire

    K-Fire Гость

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

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

Поделиться этой страницей