Использование DynamicControl с источником данных во внешней базе данных

У меня проблема с загрузкой документов с этим кодом.

var c = getComponent("dynp")
c.show("contact",{action:'editDocument',documentId:unid})

Или на самом деле это просто раздражающая проблема.

мой var unid указывает на документ в другой базе данных, но c.show ожидать, что документ будет находиться в той же базе данных, что и код DynamicContent. Поэтому я каждый раз получаю сообщение об ошибке c.show("contact",{action:'editDocument',documentId:unid})

Ошибка

ошибка dynp mydynamic.xsp Возникла исключительная ситуация при вызове метода NotesDatabase.getDocumentByUNID(java.lang.String)

Источник данных customcontrols

<xp:dominoDocument formName="myForm" var="doc1" databaseName="#{javascript:getExternaldb()}" />

и поэтому документ загружается правильно. Но я все равно получаю досадную ошибку (Админ не доволен)

Есть ли способ избежать этой ошибки?

2 ответа

Решение

Вы не передаете имя базы данных в качестве параметра. Без ignoreRequestParams я почти уверен, что это примет текущую базу данных, перезаписывая все, что вы поместили в источник данных.

Это работает, если вы передаете его в параметрах?

Я никогда не пытался делать то, что ты делаешь. Я не понимаю, что вы пытаетесь сделать на самом деле. Я никогда не видел часть действия c.show. И только изредка я использую getComponent.

У вас есть динамическая панель и рабочий пользовательский элемент управления? Вы пытаетесь контролировать режим редактирования против режима чтения, верно? Почему бы вам просто не установить переменную viewScoped с чем-то вроде editMode=true / false. И затем пользовательский элемент управления считывает это, чтобы определить режим. Не нужно, что этот бизнес действий...

Другие вопросы по тегам