У меня проблема с установкой числового поля в скрипте Lotus Notes из uidoc, я уже пробовал:
- call uidoc.fieldsettext ("поле", значение)
Но если «поле» - это числовое поле, а значение - это число (или переменная, содержащая число), я не могу использовать метод fieldsettext, потому что поле инициализируется как текст, и я хочу числовое.
Есть такой метод, как fieldsetnumber или он тоже нравится?
Я не хочу переключать документ с uidoc на doc. Благодарность
3 ответа
uidoc.FieldSetText()
- лучший вариант, и при сохранении значение будет преобразовано в соответствующий тип данных, по крайней мере, в соответствии с документация.
При использовании FieldSetText необходимо соблюдать осторожность, чтобы отформатировать значение таким образом, чтобы это соответствовало предпочтениям пользователя и / или настройкам поля (например, является ли десятичный разделитель «,» или «.»). Чтобы избежать этого источника ошибок, лучше использовать объект NotesDocument для такого рода вещей. Вам нужна более веская причина, чем «Я не хочу», чтобы не делать этого.
Вы можете использовать NotesDocument для этой одной операции и NotesUIDocument для всего остального, например написать:
Uidoc.Document.ReplaceItemValue "имя поля", число-значение
Если вы намеренно не установили параметр, чтобы не перезагружать пользовательский интерфейс автоматически, это будет делать то, что вы хотите. Если вы установили эту опцию, вам понадобится второй вызов для выполнения этого обновления.
Стоит помнить, что на самом деле вы не переключаетесь между NotesUIDocument и NotesDocument - это одна и та же сущность, только с другим набором классов.
Действие, которое вы хотите выполнить, никогда не будет на 100% надежным, поскольку конечные пользователи смогут изменить формат поля даты / времени по своему усмотрению. Намного лучше взаимодействовать с серверной частью и перезагружать UIDoc.
По какой причине вы не хотите использовать NotesDocument?
Ник
Похожие вопросы
Новые вопросы
lotus-notes
Тег для вопросов программирования, связанных с Lotus Notes & Domino