1

Тема: LotusScript (Notes) - свойство IsSummary.

В LotusScript / Notes свойство IsSummary определяет, будет ли поле записано в summary-данные документа.

IsSummary  = True (по умолчанию). Поле попадает в summary-часть документа.

Плюсы:
Можно отображать в представлениях (Views).
Можно сортировать и отбирать документы по этому полю.

Поле участвует в формулах вида:

SELECT MyField="Test"

Поле доступно быстрее при поиске.


Минусы:
Summary-данные ограничены по размеру (примерно до 32 КБ на документ для старых форматов).
Большие поля замедляют работу базы.
IsSummary = False

Поле хранится только в теле документа.

Плюсы:
Можно хранить большие объёмы текста:логи,JSON,XML,HTML,большие списки значений,вложенные данные.

Минусы:
Поле нельзя использовать в колонках представлений.
Нельзя сортировать и выбирать документы по этому полю.
Формулы вида SELECT его не видят.

Поделиться

2

Re: LotusScript (Notes) - свойство IsSummary.

Когда пользователь сохраняет документ через форму, обычные поля создаются как Summary = True.
Так же...
установка IsSummary=False должна выполняться после каждого ReplaceItemValue()

разработчики часто делают небольшую вспомогательную процедуру, которая создаёт поле и сразу устанавливает нужное свойство, чтобы не забывать об этом

Sub ReplaceItemNoSummary(doc As NotesDocument,   itemName As String,                 itemValue As Variant)
    Dim item As NotesItem
    Set item = doc.ReplaceItemValue(itemName, itemValue)
    item.IsSummary = False
End Sub

Использование:

Call ReplaceItemNoSummary(doc, "DocLog", txt)

Поделиться