Инструменты пользователя

Инструменты сайта


Боковая панель

Если вам не пришло письмо с регистрационными данными, проверьте папку «Спам»

Новости:

31 июля
* Новая версия DataExpress



Обратная связь

Wiki-синтаксис
Как написать хорошую статью
Полигон

rukovodstvo_po_polzovaniu_dx:komponenty_formy_i_ix_svojstva:zapros:zapros

Запрос

Компонент запрос
Компонент запрос

Примеры запросов

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

Имя запроса

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

' " | ! < > [ ] { } / \ ? : *

Поля формы в фильтре источника

В выражениях фильтра источника могут использоваться поля формы. Например:

[!дата]>=BeginMonth([дата]) & [!дата]<=[дата] & [!Группа]=[Группа]

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

Когда поле формы изменяется, это заставляет запрос обновиться. Достаточно того, чтобы программа нашла совпадение в любой части фильтра, даже в комментариях. Она ищет образцы вида: [Поле], [Поле|, [:Поле], [:Поле|, [!Поле], [!Поле|.

Поля формы в вычисляемых полях и выходном фильтре

В выражениях вычисляемых полей и выходном фильтре могут использоваться поля формы. И чтобы их можно было отличить от полей отчета, перед именем ставиться двоеточие. Если поле принадлежит родительской форме, то перед именем ставится восклицательный знак. Когда поле формы изменяется, это заставляет запрос обновиться. Достаточно того, чтобы программа нашла совпадение в любой части выражения, даже в комментариях. Она ищет образцы вида: [:Поле], [:Поле|, [!Поле], [!Поле|.

Обновлять вручную

Обновлять вручную Установка опции «Обновлять вручную» отключает автоматическое обновление запроса при переходе на другую запись или при изменении полей. Запрос можно обновить командой контекстного меню или кнопкой «Обновить». При добавлении или редактировании записи в запросе, он будет обновлен автоматически не смотря на установленную опцию.

Подчинённые запросы

Запросы можно использовать вместо таблиц для отображения подчиненных данных. В запросе фильтр источника должен иметь следующее условие:

[!объект]=RECID('текущая форма')

Связь между запросами

Связанные запросы В выражении фильтров запроса возможно обращение к полю другого запроса с помощью функции GET. Таким образом возможно создание связи «Мастер-Деталь» между запросами. Пример:

[!клиент]=get('запрос1', 'клиент')

При перемещении по записям мастер-запроса программа ищет в фильтрах запросов текст вида: 'название запроса' и «название запроса», и если находит, то обновляет их.

Редактирование записей запроса

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

Когда вы добавляете новую запись запроса, в запись могут быть подставлены результаты вычисления выражений фильтра источника. Для этого должно соблюдаться следующее условие: поле источника не должно являться полем объекта (т. е. [объект|поле объекта]), должен использовать знак равенства. Пример:

[!Клиент]=[клиент] & [!дата]=date & [!сумма]>0

При добавлении записи в запрос в поля новой записи будут подставлены выбранный клиент и текущая дата.

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

rukovodstvo_po_polzovaniu_dx/komponenty_formy_i_ix_svojstva/zapros/zapros.txt · Последние изменения: 2018/12/25 16:33 — 7bit