(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Книга по Lotus. Разработка приложений в среде Domino 7: Глава 4 (электронная книга)

Команда Авторов International Technical Support Organization, специалисты International Technical Support Organization, IBM

Глава 1 :: Глава 2 :: Глава 3

Новые функции и возможности Lotus Domino Designer 7 основаны на более тесной интеграции с развивающимися стандартами Web, увеличении функциональной совместимости с другими стандартами программного обеспечения IBM и упрощении использования приложений разработчиками и пользователями.

В этой главе мы проиллюстрируем, как новые функции  Lotus Domino 7 используются для улучшения приложения ITSO Electronics. Рассмотрим следующие функции:

  • команды контекстного меню;
  • свойство формы AutoSave;
  • общие столбцы;
  • Расширенные настройки для представлений и папок;
  • дополнения к языку формул;
  • дополнения к классам LotusScript, COM и OLE;
  • дополнения к классам Java и CORBA.

4.1 Команды контекстного меню

У разработчиков приложений теперь появилась возможность добавлять действия в меню, выпадающее по нажатии правой кнопки мыши (иначе их называют контекстными) в представлениях и папках. По правому щелчку мыши открывается быстрый доступ к функциям, к которым пользователи обращаются регулярно. Такой способ воздействует на выбранные документы в представлении и технически ничем не отличается от щелчка по кнопке в панели Action. С точки зрения пользовательского интерфейса, эта функция полезна, когда пользователь предпочитает обрабатывать одиночный документ на основе информации, имеющейся в представлении, например при отправке файла в часто используемую папку, удалении или выделении фрагмента текста. Добавление действий в контекстное меню может быть использовано как в качестве альтернативы, так и вместе с действиями в панели Action и меню Action. В контекстное меню могут быть добавлены и новые, и существующие уже действия.

В приложении ITSO Electronics в представлении «Sales Activity By Customer» существует командная кнопка Create New Sales Activity. Для того чтобы увеличить эффективность использования приложения, мы обновили параметр Display окна свойств Action и отметили галочкой свойство Include in right mouse button menu (Включить в контекстное меню) (рис. 4.1).

Рис. 4.1. Параметр Include in right mouse button menu
Рис. 4.1.  Параметр  Include in right mouse button menu

После щелчка правой кнопкой мыши в представлении появится контекстное меню, в котором будет только что добавленное действие (рис. 4.2). Мы также добавили и другие действия в контекстное меню.

Замечание. Контекстное меню не доступно для пользователей, ограниченных в правах. Все действия, выполняемые в контекстном меню, должны быть также доступны в меню Actions.

Рис. 4.2. Действие включено в контекстное меню
Рис. 4.2. Действие  включено в контекстное меню

4.2 Свойство формы AutoSave

AutoSave в клиенте Lotus Notes - это функция, с помощью которой осуществляется регулярное автоматическое сохранение документов Lotus Notes в локальную базу через определенные интервалы времени, определяемые пользователем. В случае сбоя программы, рабочей станции или перебоев в питании пользователь сможет восстановить документ, который редактировал, до того, как произошел сбой. Будучи профессиональными консультантами мы рекомендовали компании ITSO Electronics следовать инструкциям, приведенным в последующих разделах, и рассмотреть защиту приложений Lotus Domino с помощью новой функции AutoSave.

4.2.1 Включение поддержки функции AutoSave в клиенте Lotus Notes

При установке Lotus Notes 7 функция AutoSave не включена по умолчанию. Для ее включения необходимо выбрать соответствующий параметр в Lotus Notes Client User Preferences (Параметры пользователя клиента Lotus Notes).

  • Выберите File - Preference - User Preferences (Файл - Параметры - Параметры пользователя).
  • В подокне Basics в параметрах Startup Options (Параметры запуска) активируйте опцию AutoSave every 15 minutes (Производить автосохранение каждые 15 минут) (см. рис. 4.3).
  • (Дополнительно) увеличьте или уменьшите интервал выполнения AutoSave.
  • Щелкните по кнопке ОК.

Замечание. По умолчанию AutoSave производится каждые 15 минут. Интервал выполнения этой операции находится в пределах от 1 минуты до 999 минут.

Рис. 4.3. Активация функции AutoSave в User Preferences
Рис. 4.3. Активация функции AutoSave в User Preferences

Параметры AutoSave в окне User Preferences соответствуют трем переменным в файле NOTES.INI. Эти переменные приведены в табл. 4.1.

Таблица 4.1. Переменные в файле NOTES.INI

Переменная

Параметр в User Preference

AUTO_SAVE_ENABLE=n Функция AutoSave отключена, когда n=0
AUTO_SAVE_INTERVAL=<mins> <mins> устанавливает временные интервалы между выполнением AutoSave
AUTO_SAVE_USER,<Abbreviated User Name>=<Database name relative to data directory> Устраняет конфликты имен в базах данных с функцией AutoSave

4.2.2 Активирование AutoSave в форме

В Lotus Domino Designer использованы преимущества новой функции AutoSave, заключающиеся в поддержке функции AutoSave в форме, находящейся в приложении Lotus Notes. Если пользователи активируют функцию AutoSave в параметрах Lotus Notes, как показано в предыдущем разделе, документы, которые они создают или редактируют, будут сохранены в отдельную локальную зашифрованную базу данных с помощью формы, в которой активированы AutoSave. Для того чтобы активировать функцию AutoSave для формы, откройте форму в Domino Designer и поставьте галочку рядом с опцией Allow Autosave (Разрешить выполнение Autosave) в окне свойств Form (см. рис. 4.4). Если функция AutoSave активирована в клиенте Lotus Notes, ее выполнение каждый раз будет отображаться в строке состояния.

Рис. 4.4. Параметр Allow AutoSave в окне свойств Form
Рис. 4.4. Параметр Allow AutoSave в окне свойств Form

Разработчикам приложений следует убедиться в том, что функция AutoSave при активации в формах приложения корректно работает с их приложением. Во многих приложениях Lotus Notes и Domino присутствует код, создающий элементы по событиям Save (Сохранение) и Postsave (Постсохранение) или производящий проверку достоверности в момент загрузки. Из-за того что коды проверки достоверности и события формы не выполняются во время автоматического сохранения документа, автоматически сохраненный документ может не загрузиться после восстановления. Возможно, потребуется добавить код в событие Queryopen, чтобы установить значения по умолчанию для конкретных элементов, чтобы гарантировать правильную загрузку документов после восстановления.

Элемент $AutosaveRecovery можно использовать для работы с восстанавливаемыми документами. $AutosaveRecovery доступен для восстановленных документов до события PostOpen, а после этого события он удаляется. Например, форма может содержать код Queryopen, предотвращающий открытие документа в режиме редактирования, если поле Status не эквивалентно полю Draft. Если пользователь изменил статус на «Public» и произошло автоматическое сохранение, что повлекло за собой сбой в работе компьютера, то пользователю все еще необходимо открыть этот документ в режиме редактирования, несмотря на то, что значение поля Status кажется некорректным. Обратите внимание на следующий код:

  
  Sub Queryopen
  (Source As  Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
  Dim doc As NotesDocument
  If Mode And Not Isnewdoc  Then
  Set doc = Source.Document
  If doc.Status(0)  <> "Draft" Then
  Continue = False
  Messagebox "Only  Draft documents may be edited.", _
  MB_ICONSTOP, "Edit  Error"
  End If
  End If
  End Sub

Вместо этого можно написать:

  If doc.Status(0)
  <> "Draft" 
  And Not doc.HasItem("$AutosaveRecovered ")
  Then

Элемент $DontAutosave можно использовать для отключения функции AutoSave в  данном конкретном документе. Функция AutoSave может быть снова активирована путем удаления $DontAutosave.

4.2.3 Восстановление документов, сохраненных с помощью AutoSave

Автоматически сохраненные документы могут быть восстановлены либо сразу после загрузки, либо в любое другое время после запуска. При выполнении запуска после сбоя системы или перебоя в питании, после аутентификации пользователю предлагается восстановить несохраненный  документ (см. рис. 4.5).

Рис. 4.5. Предложение восстановить несохраненный документ
Рис. 4.5. Предложение восстановить  несохраненный документ

Если вы щелкнете по кнопке Yes (Да), откроется окно Recover Unsaved Documents (Восстановить несохраненные документы), в котором перечислены все документы, которые могут быть восстановлены (см. рис. 4.6).

Рис. 4.6. Окно Recover Unsaved Documents
Рис. 4.6. Окно Recover Unsaved Documents

В табл. 4.2 описаны функции каждой из четырех кнопок окна, представленного на рис. 4.6.

Таблица 4.2. Варианты, предлагаемые в окне Recover Unsaved Documents

Вариант

Описание

Recover (Восстановить) Восстановление выбранных документов и удаление их из списка.
Recover All (Восстановить все) Восстановление всех документов и удаление их из списка; в этом случае не нужно подтверждать выполнение операции для каждого элемента
Remove (Удалить) Удаление выбранных документов из базы данных AutoSave
Remove All (Удалить Все) Удаление всех документов из базы данных AutoSave

Если пользователь щелкнул по кнопке No, то восстановление документов, сохраненных автоматически, можно осуществить позже, выбрав File - AutoSave - Recover AutoSaved Documents (Файл - Автоматическое сохранение - Восстановить документы, сохраненные автоматически). После этого появится окно Recover Unsaved Documents, и пользователь сможет восстановить или удалить документы описанным выше способом.

Документ не может быть восстановлен, если не найдена точная копия базы данных документов. Он остается в базе данных AutoSave «как есть», и позже можно снова его восстановить. Если документ был модифицирован с момента автоматического сохранения, появится соответствующее сообщение и пользователю будет предложено либо переписать документ, используя сохраненный вариант, либо сохранить внесенные изменения. Если пользователь решит восстановить документ, полученный в результате автоматического сохранения, документ будет открыт в Lotus Notes в режиме редактирования. AutoSave не будет автоматически сохранять документ от лица пользователя после восстановления. Если документ восстановлен из базы данных AutoSave, он также удаляется из базы данных, которая позволяет поддерживать приемлемые размеры базы данных AutoSave.

4.2.4 Использование функции AutoSave вручную

Замечание. Этот вариант работает только в том случае, если в форме активировано автоматическое сохранение.

Иногда пользователю, редактирующему документ, требуется немедленно его сохранить. Текущий документ можно сохранить в базу данных AutoSave, выбрав File Ю AutoSave Ю Autosave Now (Файл Ю Автоматическое сохранение Ю Выполнить автоматическое сохранение немедленно).

4.2.5 Получение доступа к базе данных AutoSave

База данных AutoSave находится в пользовательской директории Data. После создания база данных AutoSave именует файлы так же, как файлы почты. К названию базы данных добавляется приставка as_. В нашем сценарии у пользователя Manny Santana база данных AutoSave будет называться: as_msantana.nsf. Если база данных с таким именем уже существует, то к названию будет добавлена цифра 1 и далее, до тех пор, пока не будет создано уникальное имя.

Учитывая особенности в присвоении имен в базе данных AutoSave будут возникать конфликты с такими именами пользователей, как John Doe, Jane Doe, James Doe и т. д. Чтобы быть уверенными в том, что AutoSave соответствует текущему пользователю, после создания базы данных необходимо проверить пользователя, указанного в файле NOTES.INI:

AUTO_SAVE_USER,<Abbreviated User Name>=<Database name relative to data directory>

В нашем приложении этот элемент будет добавлен к файлу NOTES.INI пользователя Manny Santana:

AUTO_SAVE_USER,Manny Santana/ITOSElectronics=as_msantana.nsf

Когда пользователь запускает Lotus, происходит проверка файла NOTES.INI на наличие элементов, относящихся к базе данных AutoSave. Если такие элементы найдены, название базы, заданное в элементе, используется  в качестве названия базы данных AutoSave. Если пользователь не обладает доступом к заданной базе данных AutoSave, он получит сообщение об ошибке и функция AutoSave будет отключена. Если заданной базы данных не существует, будет создана новая база данных, при этом будет использовано имя, заданное в элементе. Если соответствующий элемент с именем пользователя отсутствует в файле NOTES.INI, то он в нем создается, соответственно создается база данных с учетом правил присвоения имен, описанных выше.

4.3 Общие столбцы (Shared Columns)

Программа Lotus Domino Designer 7 предоставляет возможность создания общих столбцов, используемых в представлениях и папках. Общий столбец представляет собой отдельный элемент дизайна, однако, будучи вставленным в представление, он становится его частью. Разрабатываемый общий столбец обладает теми же свойствами и внешним видом, что и неотделяемый столбец в представлении и папке. Более того, общий столбец обладает специфичными  свойствами. В окне свойств Shared Column, (см. рис. 4.7)  можно задать название столбца (обязательно), псевдоним (не обязательно) и комментарий (не обязательно).

Рис. 4.7. Окно свойств Shared Column
Рис. 4.7. Окно свойств Shared Column

Представление или папка, содержащие общий столбец, обратно совместимы для доступа из Всемирной сети и Lotus Notes. Общие столбцы могут быть использованы в DB2 Query View, о чем уже упоминалось в п. 2.3 «Query View». Общие столбцы, подобно общим полям, не являются многоязычными элементами.

Использование общих столбцов позволяет разработчикам увеличить производительность, за счет создания общих столбцов, вставляемых во множество представлений и папок, находящихся в одной базе данных. То есть нет необходимости в создании одного и того же столбца несколько раз. Благодаря этой новой функции можно распространять изменения на все представления, используя один и тот же столбец.

4.3.1 Создание общего столбца

Чтобы создать новый общий столбец, выберите Column в меню Shared Code. Щелкните по кнопке New Shared Column (Создать общий столбец) или выберите Create - Design - Shared Column (Создать - Разработка - общий столбец). Также можно копировать и вставлять существующий разрабатываемый общий столбец.

Чтобы создать новый общий столбец, основываясь на разработке существующего столбца в представлении, откройте представление, выделите столбец, затем выберите Create - Copy As Shared Column (Создать - Скопировать как общий столбец). В качестве альтернативы можно выделить столбец, открыть контекстное меню и выбрать Copy As Shared Column (см. рис. 4.8).

Рис. 4.8 Использование контекстного меню для создания нового общего столбца
Рис. 4.8 Использование контекстного меню  для создания нового общего столбца

После этого появится окно, в котором надо ввести название нового общего столбца (см. рис. 4.9). В результате будет создан новый общий столбец, а текущий столбец останется без изменений. Существующий столбец полностью независим от только что созданного общего столбца, поэтому если пользователю захочется унаследовать изменения дизайна из нового общего столбца, ему необходимо удалить существующий столбец в представлении и вставить новый общий столбец, чтобы заменить тот неотделяемый столбец.

Рис. 4.9. Присвоение имени новому общему столбцу
Рис. 4.9. Присвоение имени новому общему  столбцу

В приложении ITSO Electronics существует представление «Sales People By Name», в котором есть столбец Sales Person (Торговый агент). Нам необходимо отобразить такую же информацию в представлении «Sales People By Number». Следовательно, столбец Sales Person будет использован для создания нового общего столбца, который мы назовем Sales Person. Представления, в которых использованы общие столбцы, могут быть открыты в предыдущих версиях клиента Lotus Notes.

4.3.2 Использование общего столбца

Для использования общего столбца в представлении, откройте представление и выберите Create - Insert shared column (Создать - Вставить общий столбец) или Create - Append shared column (Создать - Добавить общий столбец). Выберите общий столбец из представленного в окне списка (рис. 4.10). Отметьте галочкой опцию Use Formula Only (Использовать только язык формул), если хотите заменить свойства отображения колонки, такие как шрифт и расположение колонки в представлении. Не выбирайте этот параметр, если хотите зафиксировать свойства отображения. Programmatic Name (Программное имя) (в окне Properties - закладка Advanced) вставленного/присоединенного столбца не наследуется из общего столбца, вне зависимости от параметра опции Use Formula Only; следовательно, это значение всегда может быть изменено. Тем не менее, значение столбца (формула) не может быть изменено.

Рис. 4.10. Окно Insert Shared Column
Рис. 4.10. Окно Insert Shared Column

Чтобы использовать общий столбец Sales Person в представлении «Sales People By Number», мы открыли представление в Domino Designer и вставили общий столбец, выполнив последовательность действий, описанную выше. На рис. 4.11 представлено обновленное представление со вставленным общим столбцом.

Рис. 4.11. Обновленное представление Sales People By Number со вставленным общим столбцом Sales Person
Рис. 4.11. Обновленное представление Sales People By Number со вставленным  общим столбцом Sales Person

Для изменения дизайна общего столбца откройте список общих столбцов, щелкнув Shared Code - Columns (Общий код - Столбцы), и найдите нужный общий столбец в этом списке. Общий столбец также может быть изменен, для чего необходимо его выделить и щелкнуть Design - Edit Shared Column (Разработать - Изменить общий столбец). Предварительно будет предложено сохранить изменения, которые затрагивают описание общего столбца, а значит, автоматически отражаются в представлениях, использующих данный общий столбец, как видно из рис. 4.12. Эти обновленные представления повторно сохраняются, используя ID текущего пользователя, к тому же в представлениях, использующих опцию Use Formula Only (Использовать только формулу), обновляется только формула.

Рис. 4.12. Сохранение общего столбца
Рис. 4.12. Сохранение общего столбца

Чтобы удалить общие столбцы, выделите нужный столбец в списке общих столбцов и выберите Edit - Delete (Изменить - Удалить) или щелкните по нему правой кнопкой мыши и выберите из контекстного меню Delete (Удалить) (см. рис. 4.13). После того как будет удален общий столбец, он станет неотделяемым столбцом во всех представлениях, его содержащих.

Рис. 4.13. Удаление общего столбца
Рис. 4.13. Удаление общего столбца

Щелкнув по командной кнопке Who is using this Shared Column (Кто использует этот общий столбец) в списке Column design, можно увидеть, какие представления и папки в базе данных используют выбранный общий столбец. В приложении ITSO Electronics, если открыть базу данных в Domino Designer, выбрать Shared Code - Columns (Общий код - Столбцы), затем общий столбец SalesPerson из списка и щелкнуть по командной кнопке Who is using this Shared Column (Кто использует этот общий столбец), появится информация,  представленная на рис. 4.14.

Рис. 4.14. Информационное окно, отображающее все представления, использующие этот столбец
Рис. 4.14. Информационное окно,  отображающее все представления, использующие этот столбец

4.4 Расширенные настройки для представлений и папок

Свойство столбца, называемого user definable (определяемое пользователем), позволяет разработчикам создавать формулу столбцов на основе профильных документов базы данных. В предыдущих версиях программы Lotus Domino Designer использование этой функции было ограничено до цветового кодирования столбца. В Lotus Domino Designer 7 обеспечивается более широкая поддержка профильных документов в столбцах представлений и папок, что позволяет применять в приложениях большее количество параметров времени выполнения. Хорошим примером в данном случае является почтовый шаблон Lotus Notes 7. В папке Inbox (Входящие) содержится столбец с индикатором письма и скрытый столбец, управляющий цветовым кодированием. Содержимое и режим работы обоих столбцов определяются параметрами почты пользователя, которые пользователь устанавливает самостоятельно (см. рис. 4.15).

Рис. 4.15. Опция Column, определяемая пользователем
Рис. 4.15. Опция Column, определяемая пользователем

Мы хотим улучшить приложение ITSO Electronics с помощью добавления столбца, показывающий регион, выбранный в этом месяце, а также указывающий на то, относится ли документ к текущему пользователю. Иконка в виде звезды отображается в том случае, если данный регион выбран в текущем месяце. Синяя стрелка указывает на то, что данный документ относится к текущему пользователю. В противном случае в этом столбце ничего не отображается. Перед добавлением столбца профиля пользователя мы предполагаем, что приложение содержит профильный документ, который называется SalesProfile. Для столбца профиля пользователя может быть использован только один «общий» профильный документ; следовательно, при создании профильного документа дополнительный параметр uniquekey не используется. За более подробной информацией о профильных документах обратитесь к статье IBM developerWorks® «The hidden power of Profile documents» по адресу:
http://www.ibm.com/developerworks/lotus/library/ls-Profile_documents/
Для того чтобы добавить новый столбец профиля пользователя в представление «Sales Person By Name» приложения ITSO Electronics, сделайте следующее:

  1. Откройте представление в Domino Designer и вставьте новый столбец, щелкнув Create - Insert new column (Создать - Вставить новый столбец).
  2. Откройте окно свойств Column и убедитесь в том, что приведенные ниже значения определены (рис. 4.16):
    • Активируйте опцию Display values as icon (Отображать значения в виде иконок), так как столбец профиля пользователя будет отображать иконку, которая соответствует региону, выбранному в текущем месяце, или индикатор, показывающий отношение к текущему пользователю.
    • Активируйте опцию User definable (Определяемая пользователем).
    • Определите существующий профильный документ в базе данных SalesProfile в поле Profile Document.
    • Используйте @UserName в качестве формулы значения столбца (Column Value).
      Замечание. Формула значения столбца должна быть непостоянной, такой как @Username, @Created или @Random. В качестве формулы значения столбца можно использовать любую непостоянную формулу, так как ее значение не вычисляется. Если использована постоянная формула, такая как "", или специальная текстовая функция, такая как @DocNumber, профильный столбец пользователя не будет отображаться корректно, и для каждого документа в представлении появится сообщение Replication or Save Conflict (Конфликт репликации или конфликт сохранения).

      Рис. 4.16. Определение столбца профиля пользователя
      Рис. 4.16. Определение столбца профиля  пользователя

    • В закладке Advanced (см. рис. 4.17), в поле Name, содержится название поля, находящегося в этом документе. В нашем случае это поле $ToRegion. В поле профиля документа хранится формула, вычисляемая при отображении строки представления. Другими словами, поле value поля $ToRegion представляет собой закодированную формулу, выходное значение которой отображается в столбце. Формула Value , принадлежащая к $ToRegion, представляет собой формулу, выходное значение которой и есть формула, упомянутая.

      Рис. 4.17. Закладка Advanced в окне свойств Column
      Рис. 4.17. Закладка Advanced в окне свойств Column

      Конечный пользователь, редактирующий профильный документ, в большинстве случаев не сможет написать эту формулу. Вычисляемое поле, содержащее формулу, а в нашем случае это $ToRegion, обычно вычисляется для конечного пользователя, что необходимо для того, чтобы увидеть, какой должна быть формула. Вычисляемая формула поля должна сгенерировать формулу, которая хранится в поле. На рис. 4.18 представлен дизайн формы SalesProfile и показано значение поля в поле $ToRegion, которое генерирует значение формулы.

      Рис. 4.18. Форма SalesProfile в Domino Designer
      Рис. 4.18.  Форма  SalesProfile в  Domino Designer

  3. На рис. 4.19 представлен профильный документ SalesProfile. Введите значения в поля RegionSelection и HighlightUser. Формула поля $ToRegion вычисляет новую формулу, которая будет использована для столбца, определяемого пользователем. Например, если выбран регион South East и отмечена галочкой опция Highlight User, значение формулы $ToRegion будет следующим: @If(SName = @Username; 111; SRegion = "South East"; 159; 0)

    Рис. 4.19. Профильный документ SalesProfile
    Рис. 4.19. Профильный документ SalesProfile

    Опция, выбранная пользователем будет доступна всегда, а не только когда выбрано Use value as color (Использовать цвет в качестве значения). Таким образом, становится возможным использование столбца профиля документа в качестве иконки, а также других типов столбцов. Если профильный документ определен для множества столбцов в границах одного представления, необходимо, чтобы для всех столбцов был использован один и тот же профильный документ. В противном случае при сохранении представления появится сообщение об ошибке (см. рис. 4.20).

    Рис. 4.20. Сообщение об ошибке, касающееся столбца профиля пользователя
    Рис. 4.20. Сообщение об ошибке, касающееся  столбца профиля пользователя

    После того как представление будет сохранено, столбец профиля пользователя появится в представлении Sales People By Name (рис. 4.21).

    Рис. 4.21. Столбец профиля пользователя, отображающий иконки в представлении
    Рис. 4.21. Столбец профиля пользователя,  отображающий иконки в представлении

    Замечание. Будьте осторожны при использовании кавычек и обратных косых черт в вычисляемой формуле поля. Из-за того что множество макроформул содержат кавычки, а некоторые содержат обратные косые черты, вычисляемая формула значения поля профиля часто должна содержать кавычки (или обратные косые черты) внутри кавычек, что приведет к путанице. Поэтому следует делать вычисляемые поля видимыми только на время разработки, как мы и сделали в данном случае, что позволяет редактировать поля, видеть результирующую формулу и определять синтаксически правильные элементы. Также следует помнить о том, что когда вы вставляете данные из других полей в вашу формулу, в них могут содержаться кавычки или обратные косые черты. Поэтому вам придется использовать @ReplaceSubstring(название поля; «\\»:«\»; «\\\\»; «\\\»») для преобразования этих символов в правильные строковые литералы.

4.5 Дополнения к языку формул

Язык формул Lotus Notes обновлен в Domino Designer 7. Новые @-функции внедрены как для поддержки интеграции IBM DB2 и IBM Workplace Client TechnologyТМ, так и для поддержки средств безопасности политик и блокирования ECL. Также была добавлена новая @-команда, предназначенная для обнаружения всех папок, в которых располагается выбранный документ.

К новым командам относятся следующие:

  • @AdminECLIsLocked: новая функция, которая проверяет текущий статус Administration ECL в книге имен и адресов.
  • @DB2Schema: функция, которая по заданному в виде текстовой строки названию базы данных возвращает текстовую строку, содержащую схему DB2 заданной базы данных, если это база данных db2nsf, или же пустую строку, если это база данных не db2nsf. Эта функция полезна в формуле SQL Query в Query View, (см. п. 2.3, «Query View») где вы должны определить формулу, генерирующую SQL-запрос, который возвращает записи, необходимые вам. SQL-запрос должен использовать полное точное табличное имя, включающее название схемы, и желательно использовать именно функцию @DB2Schema, а не название жестко закодированной схемы, чтобы дизайн можно было переносить на другие серверы и приложения.
  • @IsDB2: новая функция, которая по заданному серверу и имени файла или серверу и копии ID базы данных сообщает о том, включена ли в данной базе данных поддержка DB2 или нет.
  • @IsEmbeddedInsideWCT: новая функция, которая определяет, встроена ли какая-либо часть текущей сессии Notes в клиент Workplace.
  • @PolicyIsFieldLocked: новая функция, которая определяет, когда поле заблокировано административной политикой и не может быть изменено.
  • @Command([DiscoverFolders]): команда, отображающая окно Folders containing current document (Папки содержащие текущий документ).

Замечание. функция @IfError вышла из употребления в Lotus Domino Designer 7.0, однако она полностью совместима с предыдущими версиями.

Для получения дополнительной информации об этих новых функциях и командах к см. Lotus Domino Designer 7 Help по адресу:
http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf

4.6 Дополнения к классам LotusScript, COM и OLE

К языку LotusScript были добавлены следующие улучшенные возможности:

  • поддержка новых средств профилирования кода, обсуждением которой мы займемся в п. 5.1, «Профилирование кода в приложении ITSO Electronics»;
  • улучшенные возможности сбора документов;
  • расширенная поддержка XML;
  • необходимая поддержка для интеграции технологии Workplace Client.

Также следует отметить одно новое свойство Lotus Domino Designer 7, добавленное к LotusScript. Это свойство класса NotesUIDocument называется ModifiedSinceSaved и выявляет изменения, произведенные в документе в режиме редактирования с момента последнего сохранения.

Для получения дополнительной информации об обновлениях в языке LotusScript в Lotus Domino Designer 7 перейдите к Lotus Domino Designer 7 Help по адресу:
http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf

4.7 Дополнения к классам Java и CORBA

Программное обеспечение Lotus Domino Designer 7 поддерживает новые версии Java, Java Virtual Machine (JVM™) 1.4.2 и новую версию программы синтаксического анализатора расширяемого языка разметки гипертекста (XML). Благодаря новой функции кнопок-флажков и преимуществ отладки Java, можно настраивать агенты Java, Web-сервисы и библиотеки скриптов для осуществления удаленной отладки с помощью клиента Lotus Notes.

К Lotus Domino Designer 7 добавлены следующие средства и функции:

  • документация к ядру Sun™ Java для классов Java и CORBA;
  • поддержка платформы Sun Java™ 2, Technology Edition, V1.4.2;
  • новый метод approveHostedOrgStorageDeletion класса AdministrationProcess;
  • новый метод getModifiedDocuments класса Database;
  • новое свойство UntilTime класса DocumentCollection;
  • поддержка Java Platform Debugger Architecture (JPDA) (Архитектура отладчика платформы Java).

Для получения дополнительной информации о поддержке Java и CORBA в Lotus Domino Designer 7 перейдите к Lotus Domino Designer 7 Help  по адресу:
http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 20.04.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
IBM Domino Messaging Client Access License Authorized User License + SW Subscription & Support 12 Months
IBM Domino Enterprise Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
IBM DOMINO ENTERPRISE CLIENT ACCESS LICENSE AUTHORIZED USER ANNUAL SW SUBSCRIPTION & SUPPORT RENEWAL
IBM DOMINO COLLABORATION EXPRESS AUTHORIZED USER ANNUAL SW SUBSCRIPTION & SUPPORT RENEWAL
IBM Domino Messaging Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
Delphi - проблемы и решения
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Помощь по MS Access (329)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
Разработка устройств на микроконтроллерах (19)
Профессиональный программист. Основная специализация: МИКРОКОНТРОЛЛЕРЫ, АССЕМБЛЕР для любых...
 
Ищу программиста для написания программы (30)
Ищу программиста ,владеющего Вижуал Бэйсик и программированием в Экселе, для написания...
 
Пишу программы на заказ профессионально (3075)
Пишу программы на заказ на языках Pascal (численные методы, списки, деревья, прерывания) под...
 
Пишу программы на заказ для студентов (207)
Пишу для студентов на с, с++, паскаль в средах ms visual studio, qt, builder, borland c, delphi....
 
 
 



    
rambler's top100 Rambler's Top100