Применение выбора в полях с использованием View в веб-приложении Lotus Domino - PullRequest
0 голосов
/ 22 августа 2011

Я не могу найти обходной путь для использования «Использовать диалог просмотра для выбора» в веб-приложении.

Мой вопрос: как я могу преобразовать эти настройки в моем поле на вкладке «Управление», затем «Варианты», в вариантах «Использовать диалоговое окно представления для выбора», затем «Использовать текущую базу данных и представление доступа и определенный столбец».1004 * Заранее спасибо:)

Ответы [ 2 ]

0 голосов
/ 05 февраля 2012

К сожалению, вы должны разработать его самостоятельно.

http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=AJAX%20Name%20Picker

Выбор имени на основе AJAX - хорошее начало, я думаю.

0 голосов
/ 26 августа 2011

«Использовать диалог просмотра для выбора» - это почти всегда способ обойти ограничения на возвращаемое значение формулы. Например, вы будете использовать его, когда @DbColumn в формуле выбора для списка или формулы выбора диалогового окна вызовет ошибку.

Результатом этого является то, что в сети не существует обходного пути. Непосредственной функциональной заменой было бы открыть представление во всплывающем окне или наложенном элементе div и добавить к нему некоторый JavaScript-код, чтобы переопределить стандартное веб-поведение и принудительно вернуть значения в поле основного документа. Этот подход будет работать хорошо, но он может потребовать настройки сервера, которые позволяют обслуживать весь вид одновременно (максимальное количество строк для отображения на странице, вероятно, будет меньше, чем вам нужно), и он может быть поврежден, если HTML-код, используемый для отображения вид постоянно меняется.

Вы можете использовать LotusScript или Java в агенте WebQueryOpen для заполнения обычного виджета (списка элементов) в поле Rich Text, используя либо PassThru HTML, либо форму «Обрабатывать содержимое как HTML». Это потребует получения представления, а затем выполнения документа по документам (или категории по категориям) через индекс представления для получения нужных значений столбцов. (Если вы воспользуетесь этим подходом, используйте ColumnValues ​​вместо имени поля документа для получения значений - стоимость открытия документа для чтения значений высока, а запуск вашего кода займет много раз.)

При необходимости вы также можете получить представление, используя запрос AJAX и запрос? ReadViewEntries, который вернет представление представления в формате XML. Опять же, вам может потребоваться увеличить максимальное количество строк на страницу, чтобы получить необходимый объем данных. Однако вы можете обойти это, используя метод «предложить», который не начинает извлекать данные, пока пользователь не введет хотя бы один символ в поле.

Все эти подходы подразумевают использование отдельной формы для Интернета. Это достаточно просто - вы просто создаете форму с тем же псевдонимом (или именем, если вы не используете псевдонимы), который вы используете для клиента Notes. В списке форм в Designer вы можете использовать вкладку hidewhen, чтобы скрыть одну из клиента Notes, а другую - из Интернета. (Обратите внимание, что вы можете создать дополнительную форму для мобильных устройств таким же образом, если это необходимо.)

Я не могу получить более конкретную информацию, чем эта, под рукой. Если этого недостаточно, чтобы указать правильное направление, отредактируйте свой вопрос, чтобы он был более конкретным (и оставьте комментарий к этому ответу - я не трачу много времени на SO, но я трачу время на другие StackExchange сайты, так что я буду уведомлен).

...