• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

@command([mailaddress];"entersendto";"entercopyto";"enterblindcopyto") своими руками

imendan

Green Team
22.09.2010
159
4
BIT
0
Всем привет! Второй день пытаюсь создать функционал, для выбора пользователей из NotesView БД "Справочники". Нечто вроде DialogBox-а, который позволит выбирать в удобном интерфейсе. Один в один как в кнопке "Кому" при создании почтового сообщения (пример кода):
@Command([MailAddress];"EnterSendTo";"EnterCopyTo";"EnterBlindCopyTo").

Создал в отдельной базе Subform с двумя Embedded Views. В одном подключил вьюшку с БД "Справочники", в другой вьюшку с исходной базы (БД "Планирование"). В-общем, пробовал два метода. Везде свои минусы.
1. Создал кнопку во вьюхе БД "Справочник". Добавляет пользователей в нужный список, но никак с него не обновить другую встроенную Вьюху.
2. На сабформе создал кнопку, которая запускает агент с БД "Справочники". Но этот агент не может получить выделенные документы из первой ембедвьюшки.

Вот такая дилемма, друзья! Прошу помощи. Уж больно хочу добить то, к чему долго не приступал.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
малосвязанные элементы УИ можно заставить взаимодействовать через очереди (Дмитрия Акулова)
 

savl

Lotus Team
28.10.2011
2 600
311
BIT
204
@imendan, я пытался такую штуку сделать, но по факту бесполезно.
Сама форма прошита где-то в DLL лотуса...
Можно вашу Справочники, если там пользователи, подключить как еще одну DA и использовать ту же [MailAddress]
А если там не пользователи, а другие данные, я бы пошел в сторону Java.
Нарисовал бы там 2 ListBox и пару кнопок, затем передавал бы результаты обратно.
Через тот же LS2J или напрямую. На мой взгляд тут меньше проблем.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
1.
но никак с него не обновить другую встроенную Вьюху.
ws.URLOpen( "javascript:document.forms[0].RefreshButton.click()")
В кнопе - рефреш.
Будет работать, если док не во фрейме.
2.
На сабформе создал кнопку, которая запускает агент с БД "Справочники". Но этот агент не может получить выделенные документы из первой ембедвьюшки.
А вообще агент не нужен - на OnSelect View брать что надо из всего выделенного и писать сразу в UI док (в какойнить temp) для дальнейшей обработки (я, обычно, получаю список юнидов).
Так что, погулял по одной и другой вьюшке, и не навязчиво получил всё, что щупал. При желании, можно обрабатывать результаты селектов реалтайм.
3.
Не всегда нужны синхронные акции, тогда, поместив на форму JS таймер, проверять нужное событие (напр. изменение поля) и программно давить на кнопу с нужной акцией (200 - 250мс. комфортный повтор и не грузит проц).
Это универсально - работает и во фрейме. Хотя JS надо писать аккуратно - чтобы не было утечек памяти.
4.
Внешние формы на дельфях, сях и проч. (в exe или dll) вполне нормально - фри-библы, для более-менее комфортной работы с объектами Notes, есть. Да и без них один раз можно.
5. Java - no comment, тут всё ясно.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а чего не довести свой Справочник до дизайна АК?
 
Мы в соцсетях:

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