@-формулы, LotusScript, встроенные классы LotusScript и Java




Название@-формулы, LotusScript, встроенные классы LotusScript и Java
страница1/36
Дата10.02.2013
Размер4.46 Mb.
ТипДокументы
  1   2   3   4   5   6   7   8   9   ...   36


Lotus Domino R- 5; @-формулы, LotusScript, встроенные классы LotusScript и Java 1

Глубокоуважаемый читатель!

Мы предлагаем вашему вниманию книгу, посвященную вопросам разработки приложений на базе новой версии программного продукта Компании Lotus Development Corporation, an IBM Company: Lotus Domino/Server 5.0a. Книга в первую очередь предназначена нашим многочисленным коллегам - разработчикам приложений на Notes/Domino. Она также будет, безусловно, полезна и администраторам сетей Lotus Domino.

В 1995 г. мы подготовили и издали первую в нашей стране книгу «Разработка приложений и администрирование в Lotus Notes К.З.х». Книга, которую Вы держите сегодня в руках, уже седьмая, за прошедшие пять лет.

Наша Компания росла и развивалась вместе с технологией Lotus Notes и вместе с ней утверждала себя на российском рынке и сегодня, в год нашего пятилетнего юбилея, я думаю, она, как и технологии Lotus Notes/Domino уже не нуждается в особых рекомендациях. Тем не менее, понимая к какой большой аудитории мы обращаемся, я не могу не сказать несколько слов о Компании «ИнтерТраст».

Компания специализируется на разработке прикладного программного обеспечения на базе коммуникационных технологий Lotus и Microsoft, l*net и Java-технологий, а также на создании систем информационной поддержки деловых процессов, управления знаниями, систем электронного документооборота, автоматизации организационно-распорядительной и производственно-хозяйственной деятельности предприятий и организаций. В сферу наших интересов входит интеграция Lotus Domino с реляционными СУБД DB\2, Oracle MS SQL Server, создание бизнес-систем на базе аппаратных платформ AS\400, S390.

Достаточно широк спектр готовых - «типовых» решений, которые предлагает наша Компания. Начиная, с первого в России комплекта для автоматизации докумешационного обеспечения управления «OfficeMedia», появившегося на рынке в 1994 г. и заканчивая корпоративной системой электронного документооборота и делопроизводства «CompanyMedia». Появившиеся в последнее время в составе наших решений, технологии: AciivcFrame, Change Pump и Knowledge Pump закрепляют технологическое лидерство нашей Компании на российском рынке и позволяют нам уверенно смотреть в будущее. Много и, по оценкам наших клиентов, успешно «пишем» на заказ. Уровень качества программных продуктов и квалификация наших специалистов отмечены сертификатами Госстандарта РФ и Госте хко мисси и РФ, такой оценкой может похвастаться не каждая отечественная компания.

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

Мне хотелось бы высказать слова особой благодарности моим коллегам, авторам этой книги: Н.Н. Ионцеву, Е. В. Полякову и О. Г. Таранченко за их самоотверженный и напряженный труд. Хочу также поблагодарить Н.С. Березину за помощь в подготовке этой книги к изданию.

Всех читателей, заинтересованных в более глубоком изучении практических вопросов администрирования и разработки приложений в Lotus Notes/Domino мы приглашаем в наш Авторизованный центр обучения Lotus Development Corp. (LAEC). Разобраться с лехническими вопросами эксплуатации программных продуктов компании IBM/Lotus Вам также могут помочь специалисты Центра гарантийной технической поддержки Компании «ИнтерТраст».

Предыдущая книга, адресованная разработчикам приложений «Lotus Notes R.4x.: разработка приложений, язык LotusScript, встроенные классы», выдержала 4 переиздания! На ней фактически выросло первое поколение российских разработчиков приложений Lotus Notes и, я очень надеюсь, что предлагаемую Вашему вниманию новую книгу, подготовленную специалистами Компании «ИнтерТраст» ждет такая же счастливая судьба.

С уважением,

Генеральный директор компании ИнтерТраст Л.А. Лннев

© InterTmst Со, Тел. (095) 9567928


2 Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java

Предисловие авторов

Книга, которую Вы держите в руках, посвящена вопросам программирования при создании приложений для Lotus Domino/Notes версии 5.0а - программного продукта компании Lotus Development Corporation, An IBM Company.

Материал книги состоит из четырех частей и сегмента приложений. В первой части подробно рассмотрен язык @-формул, порядок их выполнения, основные имеющиеся @-функции и @-команды. Во второй части дается описание языка LotusScript, его встроенных операторов и функций, а так же имеющихся ограничений и межплатформной специфики. В третьей части рассмотрены основные моменты разработки Java-приложений для Domino/Notes (агенты, стандартные Java-программы, CORBA-апплеты и сервлеты) и приведено полное описание всех документированных встроенных классов Domino/Notes версии 5.0а для создания приложений на LotusScript и Java. Специфика этой части -«параллельность» изложения методов и свойств классов LotusScript и Java. Четвертая часть охватывает один из подходов к интеграции Domino/Notes с реляционными базами данных -классы для работы с внешними базами данных через ODBC-интерфейс. Большинство рассмотренных вопросов иллюстрируется примерами, работоспособность которых была проверена на Domino/Notes версии 5.0а. Сегмент приложений включает полные алфавитные списки @-функций, @-команд, встроенных операторов и функций языка LotusScript, указатель по встроенным классам LotusScript и Java и глоссарий

При подготовке данной книги использовались материалы книги Н.Н. Ионцев, В.К. Кулаков, В.А. Панов «Lotus Notes R.4x.: разработка приложений, язык LotusScript, встроенные классы», Интер Траст Лтд.,1996 и справочная литература по Lotus Domino/Notes 5.0а. К сожалению, основная среда разработки приложений Domino/Notes - Domino Designer -осталась за рамками данной книги, что делает книгу относительно трудной для начинающих разработчиков. Авторы отдают себе отчет в том, что книга не лишена и других недостатков, и имеют к себе претензии по стилю изложения и оформления материала. Ряд ее разделов хотелось бы улучшить и дополнить более интересными примерами. Однако в условиях необычайно быстрого развития продукта авторы решили, что лучше скорее дать в руки читателей информацию в том виде, как она есть сейчас, чем отложить выпуск книги еще на один-два месяца.

Материал книги подготовили: ч. 3, прил. 5.4 - Н. Ионцев; ч. 1, ч. 2 гл. 2.1-2.7, ч. 4, прил. 5.1-5.2, 5.5 - Е. Поляков; ч. 2 гл. 2.8-2.11, прил. 5.3 - О. Таранченко. Авторы будут искренне рады Вашим замечаниям и предложениям по содержанию книги и любой информации технического характера по затронутым в книге вопросам. Направляйте их по e-mail: NIontsev@inttrust.ru (Н. Ионцев), EPolyakov@inttrust.ru или EPpolyako@centertv.ru (Е. Поляков), OTaranch@inttrust.ru (О. Таранченко) или «оставляйте» на WWW-сервере нашей компании http://www.inttrust.ru.

Авторы выражают искреннюю благодарность и признательность всем, кто оказывал им прямую или косвенную помощь в работе над книгой:

• Березиной Наталье Сергеевне, выполнившей большую работу по доводке оригинал-макета;

• Н. Ионцев - всем разработчикам нашей компании, а особенно Иванову Денису Юрьевичу, за консультации в процессе работьг над книгой: жене Ионцевой Евгении Михайловне и дочери Марии за терпение и сочувствие во время работы над книгой;

• Е. Поляков - Бреусу Игорю Борисовичу, Поляковой Галине Дмитриевне и Полякову Виталию Григорьевичу за существенную помощь, оказанную при написании настоящей

книги;

• О. Таранченко - коллегам по работе Панову Владимиру Александровичу, Иванову Денису Юрьевичу и Будылеву Сергею Валериевичу за консультации и помощь в работе над книгой; жене Таранченко Ольге Михайловне за терпение и сочувствие во время работы над книгой.

С уважением, Н. Ионцев, Е. Поляков, О. Таранченко. © InterTrust Co. Тел. (095) 956792


Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java 3

1. Язык формул в Domino

Формулы или @-формулы состоят из одного или более предложений - операторов (statements), которые обычно выполняются по порядку (более подробнее это будет рассмотрено в пункте "1.3.4"). Префикс @- происходит от частого использования в таких формулах вызовов @-функций. В приложениях Domino формулы широко используются в следующих целях:

• отбор документов при селективных репликациях;

• отбор документов для включения в вид;

• вычисление значений для показа в документах, видах и папках;

• определение видимости абзаца формы, абзаца в RichText-поле документа, объекта в области размещения, акции в форме или виде;

• вычисление, преобразование и проверка значений полей документов;

• добавление и удаление полей в документах;

• определение формы, используемой для открытия документа в виде;

• определение вычисляемых субформ в форме;

• выполнение последовательности действий при запуске агента, выборе активной пиктограммы, акции в виде, активного участка в навигаторе, акции, кнопки или активного участка в форме.

В Notes версий 3.x @-формулы были практически единственным средством для вычислений и автоматизации обработки информации. В 4-й версии появились, по крайней мере, еще два способа: один более простой, но ограниченный - простые действия (simple actions), другой более сложный, но богатый по своим возможностям - объектно-ориентированный язык программирования LotusScript. Пятая версия Domino в дополнении (а можно сказать и в качестве альтернативы) к языку LotusScript дала разработчикам возможности использования объектно-ориентированного языка Java, который в последнее время стал фактически стандартом для создания Internet-приложений.

Java и LotusScript обеспечивают множество операций, невозможных для @-формул. Например, модификацию списка управления доступом к базе (ACL), но часто использование @-формул бывает проще и эффективнее, а во многих местах @-формулы остались единственным вариантом. Например, в активных пиктограммах, при селективных репликациях, для определения видимости объектов, в колонках, критериях отбора и формулах формы видов, в формулах полей.

1.1. Синтаксис формул

ч

Формула состоит из одного или более операторов (statements), разделяемых символом ";". Синтаксис формул должен подчиняться следующим правилам:

• формула должна начинаться с ключевого слова, вызова @-функции, переменной или константы;

• формула должна заканчиваться переменной, константой или @-функцией;

• аргументы @-функций отделяются друг от друга с помощью символа ";";

• список аргументов функций заключается в скобки. Если аргументы не требуются, скобки можно опустить;

• допускается размещать произвольное количество пробелов и переводов строки (в том числе ни одного) между операторами формул и выполнения операций;

© InterTrust Co. Тел. (095) 9567928


4 Язык формул

• за ключевым словом должен следовать хотя бы один пробел;

• регистр (прописные или строчные буквы) не имеет значения, кроме как внутри текстовых констант. Ключевые слова автоматически преобразуются в верхний регистр при сохранении формулы.

1.2. Лексические элементы формул

Каждый оператор формулы может состоять из:

• переменных;

• констант;

• операторов выполнения операций (operators), не путать с операторами формул (statements);

• встроенных @-функций;

• ключевых слов.

1.2.1. Переменные

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

1.2.1.1. Поля

Поля - наиболее часто используемые переменные в формулах. Формула имеет доступ к полям обрабатываемого документа. Дня ссылки на значение поля нужно вставить в формулу название поля. При этом важно не забывать о типе данных поля. Большинству функций требуются определенные типы аргументов, а операторам - определенные типы операндов. Для определения типа и имени поля можно обратиться к дизайну конкретной базы данных.

При использовании полей в качестве переменных в формулах, наиболее часто встречаются ошибки для полей типа RichText и полей с множественными значениями (multi-values field).

RichText-поля, как правило, не могут использоваться как переменные. Тем не менее, в формуле агента можно присвоить значение такому полю с помощью ключевого слова FIELD, а функция @DbLookup может получить содержимое RichText-поля из другого документа.

Функцию @IsAvailable( FieldName ) можно использовать для установления факта наличия в документе поля (в том числе RichText) с таким именем.

Для multi-values-полей следует помнить, что только достаточно ограниченное число @-функций и операторов работают со списками. Для определения является ли значение поля списком можно воспользоваться функцией @Elements( FieldName ). Если возвращаемое значение больше единицы, это говорит о том, что значение поля действительно список.

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

Имена полей в формулах могут использоваться различными путями:

• для определения значений по умолчанию. При создании нового документа, если в форме установлено "наследование" полей, возможны ссылки на поля в документе, который был открыт или выделен в момент создания. Эта возможность широко используется в Domino при разработке форм для документов-ответов, при создании новых документов "по образцу";

© InterTrust Co. Тел. (095) 9567928 8

Lotus Domino R. 5: @гформулы, LotusScript, встроенные классы LotusScript и Java 5

• в выражениях для получения новых значений с помощью операторов. Например, формула в колонке вида: FirstName + " " + LastName, где FirstName и LastName - поля в документах, содержащие фамилию и имя;

• для задания аргументов функций. Здесь возможны два принципиально различных варианта:

• название поля используется для ссылки на значение, содержащееся в поле, например, @Text( BirthDate );

• название поля используется как текстовая строка, например формула возвращает содержимое поля Status в документе, найденном по ключу "Virus Check":

@DbLookup( "" : "NoCache"; "RESEARCH" : "SMITH\\PROJECTS.NSF"; "In Progress"; "Virus Check"; "Status" )

• для задания значения поля:

FIELD FieldName : =•• Value; (например, FIELD Status := "На контроле";)

ИЛИ

@SetField( "FieldName"; Value ); (например, @SetField( "Status";

"На контроле" );

Оператор с ключевым словом FIELD присваивает значение полю, если оно уже существует в документе, в противном случае создается новое поле с таким именем. Его тип данных определяется типом присваиваемого значения. Таким же образом можно и удалить поле из документа:

FIELD FieldName := @DeleteField;

Функция @SetField может только изменить значение существующего поля, но зато ее можно использовать в выражениях, в качестве аргумента функций, особенно @Do и @If.

Поля, значения которых не определены, имеют значение пустой строки (""). Это правило справедливо для полей любых типов, включая и нетекстовые поля. В связи с этим возникает достаточно много ошибок несовместимости типов данных. Для решения этой проблемы рекомендуется для нетекстовых полей определять формулу значения поля по умолчанию.

1.2.1.2. Предопределенные поля

В документах Domino могут присутствовать поля, содержащие определенную служебную информацию. Например, SUpdatedBy, SRevisions, SRef, $Conflict, Form и т.д. Не все из этих полей (и не во всех контекстах) могут быть использованы в качестве переменных @-формул (для каждого конкретного случая необходимо обращаться к документации). Так, например, в акции формы формула @Prompt( [Ok]; "First Editor"; @Subset( SUpdatedBy; 1 )) действительно выдаст окно с именем первого автора документа, однако формула @SetField( "SUpdatedBy"; "Ivan I Ivanov" ) не изменит значения поля SUpdatedBy. Следует заметить, что сразу после выполнения данной формулы, если посмотреть значение поля SUpdatedBy (например, через окно свойств), то его значение действительно будет "Ivan I Ivanov", но по выходу из режима редактирования Lotus сам восстановит значение указанного поля.

Наиболее часто из предопределенных полей в (Э-формулах используется поле Form. Данное поле для документов, форма создания которых не сохраняется в самом документе, содержит имя формы, по которой этот документ должен отображаться/модифицироваться. Поле Form может использоваться в @-формулах так же как и любое другое не предопределенное поле.

© InterTrust Co. Теп. (095) 9567928

6 Язык формул

1.2.1.3. Временные переменные

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

VariableName :— Value; ......

Тип данных временной переменной соответствует типу значения в правой части оператора присваивания. Этот тип может быть Text, Time, Number или Boolean. Последний -логический - возвращается некоторыми @-функциями и может принимать значения True (Истина - эквивалентно числу I) или False (Ложь - эквивалентно числу 0).

В пределах одной формулы переменная с одним и тем же именем не должна более одного раза встречаться в левой части оператора присваивания. Это приводит к ошибке. Для изменения значение переменной в процессе выполнения формулы используется функция @Set:

@Set( VariableName; Value )

1.2.2. Константы

В формулах можно использовать константы трех типов: текстовые, числовые и типа дата-время. Список значений также может использоваться в качестве константы.

Текстовые константы в формулах заключаются в двойные кавычки: "Text constant".

Чтобы многократно повторить один и тот же символ используйте функцию @Repeat.

Обратный слэш "\" внутри текстовой константы служит Esc-символом. Таким образом, если текст в формуле должен содержать символы " или \ перед ними нужно вставлять добавочный символ \.

Числовые константы могут состоять из символов 0123456789- + Ее, неразделенных пробелами. Например, 123, -123, 1.23, -0.123, 1.23Е-12. Десятичный разделитель должен соответствовать стандарту, установленному в операционной системе.

Дата-время (Time-date) константы должны быть заключены в квадратные скобки, например, |5:30], [30.3.93] или [30.3.93 5:30). Формат представления даты и времени (порядок следования, разделители и т.д.) должен соответствовать стандартам, установленным в операционной системе. При использование сокращенного формата даты для года, например, [dd.mm.yy], если уу < 50 - считается, что это 20уу год, в противном случае 19уу год. Используйте полный формат даты для года, если это необходимо.

Результат вычитания двух значений типа дата-время есть целое число, представляющее разницу во времени между этими значениями в секундах. Например, формула:

@Prompt( [OK]; "Проба"; @Text ( [30.3.93 5:30]- [30.3.93 5:29] )); выдаст окно со значением 60.

1.2.3. Операторы выполнения операций

В таблице, приведенной ниже, перечислены все допустимые в @-формулах операторы в порядке убывания их приоритета. Горизонтальные линии отделяют группы операторов с разным приоритетом. Если в одном выражении встречаются операторы одного приоритета, они выполняются слева направо. Изменить порядок выполнения можно с помощью круглых скобок.

InterTrust Co. Te.:i. (095) 9567928

  1   2   3   4   5   6   7   8   9   ...   36

Похожие:

@-формулы, LotusScript, встроенные классы LotusScript и Java iconОбщие представления о языке Java 6
Виртуальная Java-машина, байт-код, jit-компиляция. Категории программ, написанных на языке Java 9
@-формулы, LotusScript, встроенные классы LotusScript и Java iconТрансляция кода из Groovy в Java в Intellij idea
Это Scala [10], Clojure [11], Groovy [12], Jruby [13] и Jython [14]– портированные версии Ruby и Python. Все они появились как альтернатива...
@-формулы, LotusScript, встроенные классы LotusScript и Java iconВ. В. Кулямин Лекция Язык программирования Java и технологии Java
После разработки архитектуры можно переходить к разработке отдельных компонентов будущей системы
@-формулы, LotusScript, встроенные классы LotusScript и Java iconJava. В частности, с помощью Java программисты создают Web-приложения, назы­ваемые атлетами
Отображение с помощью аплета отрывка, случайным образом выбранного из текстового файла
@-формулы, LotusScript, встроенные классы LotusScript и Java iconРешение задач по теме «Площади многоугольников»
Повторение словесных формул площадей многоугольников с помощью «логической шпаргалки»- «Шпаргалка» даёт не готовые формулы, а напоминает...
@-формулы, LotusScript, встроенные классы LotusScript и Java iconМобильных телефонов на c++ и java 2 me м осква, 2005 удк 004. 438
Г26 Symbian os. Программирование мобильных телефонов на C++ и Java 2 me. — М: дмк пресс, 2005. 448 с: ил
@-формулы, LotusScript, встроенные классы LotusScript и Java iconУроках геометрии в 8 классе по теме «Площади многоугольников»
Повторение словесных формул площадей многоугольников с помощью «логической шпаргалки»- «Шпаргалка» даёт не готовые формулы, а напоминает...
@-формулы, LotusScript, встроенные классы LotusScript и Java iconПрограмма по курсу: современные технологии программирования на языке
Данный курс предполагает базовое знание языка java. Курс рассчитан на изучение не самого языка, а технологии программирования на...
@-формулы, LotusScript, встроенные классы LotusScript и Java iconВсе формулы по алгебре и геометрии Формулы сокр умножения и разложения на множители

@-формулы, LotusScript, встроенные классы LotusScript и Java iconКашина о. А., Андрианова а. А. Практикум по программированию на языке java удк 004. 43
Практикум по программированию на языке Java.: Учебное пособие/ О. В. Пинягина, О. А. Кашина, А. А. Андрианова – Казань: Казанский...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница