Тип именованных объектов «Запросы» представляет собой SQL запрос в сформированный набор данных отчета. Запросы используются при формировании отчета для возвращения значений из набора данных в именованные области бланка. Например, для заполнения заголовочных реквизитов штампа документа.

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

После написание текста SQL запроса идет служебная информация, которая отделяется от самого запроса двумя или более пустыми строками. Служебная информация начинается со служебного слова. Служебное слово должно быть первым словом в строке. Доступны следующие служебные слова:

·         REM - строка комментария (до конца строки).

·         INPUT - означает область описания значений параметров (см. раздел 15.2.5.4.3). После служебного слова идет описание значений, которые необходимо подставить в запрос. Каждое описание может находиться в отдельной строке или перечисляться через точку с запятой.

·         ALIAS - означает область псевдонимов полей. После служебного слова в каждой строке или через точку с запятой указывается ПСЕВДОИМЯ=ПОЛЕ_ДАННЫХ, где в качестве поля данных выступает число (номер поля) или его имя.

·         OUTPUT - означает область описания возвращаемых значений. По умолчанию используется следующее правило - если запрос возвращает одну запись с одним полем, то вернется значение этого поля в виде variant, иначе вернется вариантный массив, размер которого равен количеству строк. В каждой строке будет лежать variant, если поле одно или массив вариантов, если полей несколько. Данное поведение можно изменить используя следующие ключи (каждый ключ в отдельной строке):

·         COLUMS - позволяет задать какие колонки необходимо вернуть. После служебного слова ставится знак равно и через запятую перечисляются номера выходных полей или имя/псевдоним поля.

·         COLUMNDELIM - после служебного слова ставится знак равно и указывается разделитель поля (до конца строки).

·         COLUMNDELIM_XXX - после служебного слова ставится знак равно и указывается разделитель поля (до конца строки). Можно указать разделитель после поля номер XXX (если поле не последнее, XXX - порядковый номер в COLUMNS )

·         ROWS - позволяет задать какие строки необходимо вернуть. После служебного слова ставится знак равно и через запятую перечисляются номера строк. Нумерация начинается с 0.

·         ROWDELIM - после служебного слова ставится знак равно и указывается разделитель строк (до конца строки).

·         ROWDELIM_XXX - после служебного слова ставится знак равно и указывается разделитель поля (до конца строки). Можно указать разделитель после строки номер XXX (если строка не последняя). Нумерация с 0, считается после применения служебного слова ROWS.

·         EOL - после служебного слова ставится знак равно и указывается символ, который будет использоваться в разделителе вместо перевода строки.

·         IMAGE - означает что возвращается путь до файла, содержащий изображение (картинку).

·         FIGURE - описание графических фигур. Допускается создавать несколько фигур. Описание фигуры задается в фигурных скобках { }. Каждый ключ начинается с новой строки, а параметры после знака равно через запятую. Цвет задается в формате шестнадцатеричной системы (HEX), например, 0xRRGGBB или #RRGGBB или $RRGGBB. Доступны следующие ключи для описания графических фигур:

·         KIND - вид - может принимать значения Rectangle (прямоугольник) и Ellipse (овал). Значение по умолчанию: Rectangle.

·         TEXT - текст. Допускается задавать именованное значение. Если не задан, то пустая строка.

·         PADDING - отступы от краев границ в пикселях. Значения записываются в последовательности [слева, сверху, справа, снизу]. Допускается задавать именованное значение. По умолчанию нет отступов.

·         POSITION - координаты в процентах от размера ячейки с учетом отступов PADDING. Значения записываются в последовательности [слева, сверху]. Допускается задавать именованное значение. По умолчанию [0, 0], т.е. левый, верхний угол.

·         SIZE - размер в процентах от размера ячейки с учетом отступов PADDING. Значения записываются в последовательности [ширина, высота]. Допускается задавать именованное значение. Если ширину или высоту не указать, то фигура будет квадратной. Необходимо задать хотя бы одно значение.

·         FONT - шрифт. Значения записываются в последовательности [размер, цвет, имя]. Значения по умолчанию: [8, 0x000000, ""].

·         LINE - параметры линии (контур) фигуры. Значения записываются в последовательности [стиль, цвет, толщина]. Допустимые стили: none - нет линии, solid - сплошная, dot - точки. Значения по умолчанию: [solid, 0x000000, 1].

·         FILL - параметры заливки (фон) фигуры. Значения записываются в последовательности [стиль, цвет, прозрачность]. Допустимые стили: none - нет заливки, solid - сплошная. Прозрачность задается от 0.0 - полностью не прозрачный до 1.0 - полностью прозрачный. Значения по умолчанию: [solid, 0x000000, 0.0].

·         GROUP - описание группировки. Допускается создавать несколько описаний группировки. После служебного слова идут следующие ключи (каждый ключ в отдельной строке):

·         NAME - имя группировки. После служебного слова ставится знак равно и указывается имя группировки.

·         ID - предназначен для определения групп записей в запросе. Используется для указания условий формирования шаблонов строк (см. раздел 15.2.10.2.3). После служебного слова ставится знак равно и перечисляются номера/имена/псевдонимы полей источника данных через запятую, либо именованное значение с возможностью передать ему параметры. (В случае ссылки на именованный объект, синтаксис обращения к именованному объекту аналогичен описанному в разделе 15.2.10.6.).

·         LIST - при смене группы записей в группировке, позволяет закончить формирование текущего листа документа и продолжить формирование с использованием формы для первого листа или для последующих листов. По умолчанию при смене группы формирование документа продолжается в обычном порядке. После служебного слова ставится знак равно и указывается номер карты (1 - при смене группы записей продолжить формирование с использованием формы для первого листа или 2 - при смене группы записей продолжить формирование с использованием формы для последующих листов), которая будет использоваться при смене группы.

·         RESETLISTBLANK - после служебного слова ставится знак равно и перечисляются номера/имена/псевдонимы полей источника данных через запятую, либо именованное значение с возможностью передать ему параметры. (В случае ссылки на именованный объект, синтаксис обращения к именованному объекту аналогичен описанному в разделе 15.2.10.6.). При изменении группы записей значение счетчика, предназначенного для отображения с помощью служебного слова «ЛистБланк» (см. раздел 15.2.10.4) порядкового номера листа выходного документа, сформированного на основе данного бланка, будет обнуляться. Таким образом, листы, сформированные на основе данного бланка, для каждой группы записей будут считаться самостоятельно и именованная область «ВсегоЛистовБланк» (см. раздел 15.2.10.3.3) будет отражать количество листов, сформированных для текущей группы записей.

Используемые группировки обязательно указываются в параметре бланка «Группа» (перечисляются имена через запятую).

RESETLISTBLANK берется от первой группы, где оно задано.

В заполнении состава карты используются ключевые слова НачалоГруппы, СменаГруппы, КонецГруппы + _ + имя группы (имя должно быть использовано для бланка).

 

См. также:

15.2.5.4 Именованные объекты