Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
Вся лента вопрос-ответ
Рубрики
   Разработка notes-приложений
   Разработка web-приложений
   Администрирование Notes&Domino
   Почта Lotus Domino
   Общие вопросы
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Вопрос-ответ

RSS
Главная   Вопрос-ответ   О порядке выполнения операторов в языке @-формул

О порядке выполнения операторов в языке @-формул

Вопрос:

Добрый день!
Помогите в решении проблемы
В формуле отбора представления пишу следующий код:
SELECT (Form = "Form") & (Field1 = "Значение1") & (Field2 = "Значение2") | (Field1 = "Значение-1") & (Field2 = "Значение-2")
В представление попадают только документы, удовлетворяющие критерию
Field2 = "Значение-2"
Спасибо!

Ответ:


В языке @-функций оператор логического умножения (AND) не имеет приоритета над оператором логического сложения (OR), как в ряде других языков программирования - такой вот интересный факт
В справке разработчика Domino Designer R6 приводится следующий список операторов в порядке убывания приоритета (операции с высшим приоритетом производятся в первую очередь, с одинаковым приоритетом - слева направо)
ОператорОписаниеПриоритет
:=ПрисваиваниеNA
[]Извлечение элемента списка1
:Объединение в список2
+
-
Определение (изменение) знака3
*
**
/
*/
Умножение (для операций со списками - попарно)
Умножение (для операций со списками - все со всеми)
Деление (попарно)
Деление (все со всеми)
4
+
*+
-
*-
Сложение (попарно)
Сложение (все со всеми)
Вычитание (попарно)
Вычитание (все со всеми)
5
=
*=
<>
!=
=!
><
*<>
<
*<
>
*>
<=
*<=
>=
*>=
Равно (попарно)
Равно (все со всеми)
Не равно (попарно)
--"--
--"--
--"--
Не равно (все со всеми)
Меньше (попарно)
Меньше (все со всеми)
Больше (попарно)
Больше (все со всеми)
Меньше или равно (попарно)
Меньше или равно (все со всеми)
Больше или равно (попарно)
Больше или равно (все со всеми)
6
!
&
|
Логическое отрицание
Логическое умножение (И)
Логическое сложение (ИЛИ)
7
В Вашем примере все будет выполняться слева направо - то есть, отбор документов производится на основании последнего оператора AND

Попробуйте переписать выражение отбора, используя скобки:
SELECT (Form = "Form") & (((Field1 = "Значение1") & (Field2 = "Значение2")) | ((Field1 = "Значение-1") & (Field2 = "Значение-2")))

Приоритет операций для LotusScript несколько иной (в порядке убывания приоритета)
Тип оператораОператорОписание
Арифметические^Возведение в степень
-Изменения знака
*, /Умножение, деление
\Целочисленное деление
ModОстаток от деления
-, +Вычитание, сложение
Конкатенация&Конкатенация строк
Сравнения=, <>, ><, <, <=, =<, >, >=, =>, LikeЧисловое и строковое сравнение, оператор подобия
Сравнения объектовIs, IsAСравнение ссылок на объект, проверка объекта на тип
ЛогическиеNotЛогическое отрицание или поразрядное дополнение
AndЛогическое или поразрядное И
OrЛогическое или поразрядное ИЛИ
XorЛогическое или поразрядное Исключающее ИЛИ
EqvЛогическое или поразрядное Эквивалентно
ImpЛогическая или поразрядная Импликация
Присваивания=Присваивание

Успехов!
Николай Норкин

Читайте на Notesnet.ru:
Язык @-формул: Per aspera ad astra >>>
 
  Опубликовано — 02/10/2005 |    

Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU