#xpages
#xpages
Вопрос:
Я просто хочу кое-что проверить о получении универсального идентификатора:
Я создаю вычисляемое поле:
<xp:text escape="true" id="computedField3"
value="#{javascript:Cdoc.getDocument().getUniversalID()}">
</xp:text>
Когда я составляю документ. содержимое, которое находится на Xpage, вычисляемое поле уже имеет некоторый идентификатор UNID, и оно меняется, если я нажимаю обновить. В программировании lotus notes идентификатор UNID может быть получен, только если текущий документ был сохранен со значением по умолчанию @Text(@DocumentUniqueId)
.
Должен ли я сначала сохранить источник данных Cdoc, чтобы получить правильный идентификатор UNID? Я знаю, что чего-то не хватает.
Спасибо за ваше время
Ответ №1:
Если вы обновите свою страницу в браузере, то фактически будет создан новый документ. Вот почему вы получаете другой идентификатор UNID.
Из ваших предыдущих вопросов я знаю, что вы определяете свой Cdoc как источник данных с
<xp:this.data>
<xp:dominoDocument
var="Cdoc"
formName="fmPersContact">
</xp:dominoDocument>
</xp:this.data>
и это означает, что этот Cdoc создается каждый раз, когда вы открываете эту XPage.
Обновить:
Кроме того, вы также получаете другой UNID каждый раз, когда ваше поле вычисляется на сервере, когда вы выполняете частичное обновление, а документ еще не сохранен.
Комментарии:
1. Спасибо за ваш ответ. Итак, при разработке xpages нет необходимости сохранять источник данных (как это было в lotus notes: форма), чтобы получить его UNID ?
2. Нет, в этом нет необходимости. Вы также получаете UNID для нового созданного и еще не сохраненного документа в LotusScript. Только для получения Noteid вам нужно предварительно сохранить документ.
3. Я заметил, что этот идентификатор UNID также изменяется, когда я просто использую некоторый GetComponent(‘MyHeadacheDialog’).show() … почему?
4. Вероятно, потому, что это вызывает полное обновление. Но не .show(), а кнопка, которая включает этот код.
5. Я попробовал частичный параметр из свойства RefreshMode для кнопки, но все же мое вычисленное значение поля (UNID ), описанное в моем вопросе, меняется, когда я нажимаю кнопку.