Содержание
Область видимости
Переменные и выражения программы
В запросах можно использовать любые переменные и выражения программы с помощью оператора :.
N := 'test': G := 0; NewId := (Insert Into dirContragent(Name, Group) Values(:LowerCase(N), :G)); // NewId - это первичный ключ добавленной записи.
Подзапросы
Из подзапросов можно обращаться к полям запросов используя оператор точку.
Например, запрос получающий для каждого контрагента количество счетов
Select Id, Name, (Select Count(*) From dirContragentAcc Where Contragent = .Id) From dirContragent
Если необходимо обратится к таблице еще на уровень выше, то ставится две точки.
Можно подобно стандартному SQL указывать имя таблицы перед точкой. Но при этом не должно быть полей с таким же именем.
Select Id, Name, (Select Count(*) From dirContragentAcc Where Contragent = dirContragent.Id) From dirContragent
В этом случае для обращения к таблице на два уровня выше, надо просто указать её имя. Если у вас будут использвоана одна и та же таблица несколько раз, этот способ вам не подходит.