Перейти к содержанию

Запросы к справочникам

Общие сведения

Для того чтобы получить из справочника информацию, отфильтрованную по каким-то критериям (например, список товаров, по которым имеются партии), в программе «М-АПТЕКА плюс» используются запросы к справочникам. Запрос можно выбрать с помощью выпадающего списка в верхней части окна справочника, озаглавленного как Запрос:

Запросы

Набор запросов у каждого справочника свой, но для любого справочника имеется неизменный Стандартный запрос, определённый разработчиками.

Примечание

Например, для Справочника товаров список запросов, доступных пользователю по умолчанию, перечислен на странице Запросы к справочнику товаров.

Для создания и изменения дополнительных запросов используются Запросы для справочников, расположенные по адресу: Конструктор → Описание справочников → Запросы для справочников.

Внимание

Для создания и корректировки запросов требуются:

  • Знание языка SQL.
  • Знакомство со схемой БД программы «М-АПТЕКА плюс». Эта информация может быть предоставлена по запросу со стороны клиента.

Запросы для справочников

Параметры верхней части экранной формы

Панель инструментов позволяет выполнять следующие функции:

  • Инициировать создание нового запроса по кнопке Белый лист (Новый запрос). Будет запрошено внутреннее (программное) название запроса (в форме оно отображается в выпадающем списке Запрос).

  • Удалить запрос из общего списка экранной кнопкой Х (Удалить).

  • Сохранить изменения настроек запросов экранной кнопкой Жёлтая дискета (Сохранить настройку запроса), это также можно сделать кнопкой Сохранить настройку запроса, расположенной внизу экранной формы.

  • Класс – в этом выпадающем списке нужно выбрать тот справочник, к которому будет относиться создаваемый или изменяемый запрос (так как в программе «М-АПТЕКА плюс» каждый справочник является отдельным классом в программном смысле).

  • Запрос – в этом выпадающем списке нужно выбрать изменяемый запрос, относящийся к выбранному справочнику (если запрос создаётся, поле уже будет заполнено после обработки нажатия кнопки Белый лист (Новый запрос)).

  • Статус – в этом выпадающем списке нужно выбрать величину статуса, определяющего доступность запроса для пользователей. Подробнее см. Группы пользователей → Статус пользователя.

  • Использовать по умолчанию – в текущей версии программы данная «галочка» не используется. Для каждого пользователя запоминается последний использованный им запрос.

  • Наименование – видимое пользователем название запроса (именно оно показывается в списке запросов справочника).

  • Имя формы – внутреннее (программное) название экранной формы, в которой для данного справочника будет доступен данный запрос.

  • Редактировать в виде – в каком виде показывать справочник для данного запроса при редактировании значений справочника:

    • в виде бланка;
    • в виде таблицы.
  • При отображении показывать записи (панель слева) – при отработке данного запроса показывать записи справочника (по признаку действующие или удалённые):

    • все записи;
    • неудаленные;
    • удаленные.
  • При отображении показывать записи (панель справа) – при отработке данного запроса показывать записи справочника (по признаку видимые или скрытые, см. Ввод и корректировка описаний справочников → Скрытие записей в справочнике):

    • все записи;
    • видимые;
    • невидимые.

Отображать для запроса дополнительную функциональность из настроек справочника – при установке этой «галочки» будут отражаться дополнительные формы, описанные у конкретного справочника в инструменте Конструктор → Описание справочников → Создание новых справочников на вкладке Интерфейс (см. также Расширение функциональности справочников).

Внимание

Подключённые расширения будут действовать только для тех запросов, к которым они подключены, а также для запроса Стандартный запрос (этот запрос не может быть отредактирован пользователем).

Вкладка «Колонки запроса» в нижней части формы

На данной вкладке перечисляются поля таблицы, которые должны показываться в результате данного запроса.

Составление нового запроса нужно начинать с заполнения этой вкладки.

Экранные кнопки Добавить, Редактировать и Удалить позволяют управлять списком.

При добавлении или редактировании открывается вспомогательная форма:

Описание колонки таблицы

По экранной кнопке Жёлтая дискета, расположенной справа от поля Способ отображения, можно выбрать поле (хранящиеся данные для класса, к которому создаётся или редактируется запрос) из древовидного представления БД программы «М-АПТЕКА плюс». Эти данные будут извлекаться из БД в результате данного запроса:

Запросы

В поле Имя можно указать для данных внутреннее (программное) название. Под этим названием данные будут видны (для программы) в таблице справочника, полученной в результате данного запроса.

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

Признак Вывод на экран = <Да/Нет> задаёт показ или скрытие этих данных после их извлечения из БД.

Признак Возможность редактирования = <Да/Нет> задаёт разрешение или запрет редактирования этих данных после их извлечения из БД.

В поле Тип данных можно выбрать нужное преобразование к типу извлечённых из БД данных.

В поле Ширина задаётся ширина колонки, в которой будут показаны эти данные. Ширина задаётся в миллиметрах.

Сделанные изменения нужно сохранить кнопкой Сохранить.

Экранными кнопками ^ и v (расположенными справа от таблицы) можно менять порядок следования полей в справочнике.

Вкладка «Запрос» в нижней части формы

На данной вкладке содержится код запроса к справочнику.

Код запроса имеет несколько представлений:

  1. Рабочий режим.
  2. Режим SQL.
  3. Режим текст.

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

Представления

Представление Рабочий режим – это представление кода в виде таблицы:

Рабочий режим

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

Строки этой таблицы задают обработку извлекаемых из БД данных:

  • Строка Наименование – так будут называться колонки в «шапке» табличной части запроса. После добавления очередных данных в запрос эта строка будет заполнена внутренними именами извлекаемых данных. Если нужно их назвать по-другому, следует сделать двойной щелчок мыши (или нажать клавишу Enter) на поле и ввести своё название.

  • Строка Сортировка позволяет задать сортировку (упорядочивание) извлечённых данных. По умолчанию данные не сортируются. Если нужно задать определённое упорядочивание (сортировку), следует сделать двойной щелчок левой клавишей мыши (или нажать клавишу Enter) на поле и выбрать значение из выпадающего списка.

  • Строка Условие отбора позволяет задать условие для отбора данных. По умолчанию данные отбираются все (условий нет). Для задания условия на определённое поле нужно сделать двойной щелчок левой клавишей мыши (или нажать клавишу Enter) на поле и нажать кнопку Три точки, которая появится справа внутри поля. Также можно использовать пункт Добавить условие из контекстного меню, вызываемого по правой клавише мыши. Для задания условия открывается дополнительное окно:

    Добавление условия

    Примечание

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

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

Пунктом Ввести дополнительное условие контекстного меню, вызываемого по правой клавише мыши, можно добавить в запрос произвольный SQL-код. SQL-код добавляется вручную во вспомогательном окне.

Представление Режим SQL – это представление кода в виде SQL-кода:

Запросы

Данное представление служит только для просмотра фактического SQL-кода запроса.

Внимание

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

Представление Режим Текст – это представление кода в виде смыслового описания:

Запросы

Данное представление служит только для просмотра фактического запроса.

Внимание

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

Вкладка «Параметры» в нижней части формы

На данной вкладке могут находиться описания параметров запроса.

Запросы

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

При добавлении или редактировании параметра используется вспомогательная форма:

Запросы

  • Имя параметра – внутреннее (программное) название. Задаётся произвольным, при этом должно быть уникальным в пределах запроса.

  • Наименование – внешнее (пользовательское) название.

  • Тип – какого типа данные должны вводиться при задании параметру значений.

  • Значение – значение параметра по умолчанию (если пользователь ничего не ввёл).

  • Ввод разрешен – разрешение пользователю вводить данные в параметр.

  • Имя поля – доступно для параметров типа Справочник. Указанное имя поля будет использоваться в SQL-коде запроса.

  • Отображать как – доступно для параметров типа Справочник. Указанное имя поля будет использоваться в отображении на экранной форме. Настройка внешнего вида описана ниже, это имя показывается внутри поля, а не как внешний пояснительный текст.

  • Множественный выбор – разрешение вводить в параметр более одного значения.

По кнопке Внешний вид можно задать представление параметра на экранной форме:

Запросы

Здесь можно указателем мыши переместить и изменить размеры поля ввода для значения параметра.

Примечание

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

После создания или редактирования запроса нужно сохранить внесённые изменения кнопкой Жёлтая дискета (Сохранить настройку запроса), это также можно сделать экранной кнопкой Сохранить настройку запроса внизу экранной формы.