Документация » 
0

Язык запросов на платформе 1С:Предприятие 7.7

На платформе 1С 7.7 есть возможность получения данных ИБ в табличном виде, готовом для использования в отчетах или обработках. Такая возможность реализована с помощью программного объекта агрегатного типа Запрос.
Передавая ранее созданному объекту текст запроса, на выходе вы получаете необходимую выборку данных.
В тексте запроса Вы можете использовать простейшие агрегатные функции (вроде Количество, Сумма и т.п.), а также собственные функции, описанные в глобальном модуле. Эти функции обязательно должны быть экспортными.

С помощью запросов можно извлекать информацию из таблиц объектов следующего типа:

  • Справочник
  • Документ
  • Операция
  • Счет
  • Регистр
  • ЖурналРасчетов

В общем случае синтаксис запроса включает следующие блоки (приведены в рекомендованной последовательности):

[Заголовок]
ОбластьПеременных
[ОбластьГруппировок]
[ОбластьУсловий]
[ОбластьФункций]

Особенность языка запросов на платформе 1С 7.7. заключается в том, что вы можете использовать эти области в любой последовательности. Однако, область переменных должна располагаться всегда в начале, т.к. транслятор запроса однопроходный и выдаст ошибку при попытке использования переменной до ее описания. Я же рекомендую придерживаться одной общепринятой схемы построения текстов запросов. Так будет удобнее читать запросы Вам и вашим последователям.

Заголовок

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

  1. Период с … по … — уточняют период, за который выбирать объекты, привязанные к дате;
  2. Обрабатывать — уточняют, как поступать с объектами, помеченными на удаление;
  3. ОбрабатыватьДокументы — уточняют, как поступать с непроведенными документами;
  4. ОбрабатыватьОперации — уточняют, как поступать с операциями с выключенными проводками;

Подробнее: Заголовки запроса (Период с, Обрабатывать и ОбрабатыватьДокументы)

Область переменных

В обязательной области переменных описываются внутренние переменные запроса. Описание переменной запроса включает в себя имя переменной и путь к данным:

Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
Количество = Регистр.ОстаткиТМЦ.Количество;

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

Без Год Групп
Группировка День Документ
И Или Квартал
Когда Месяц Неделя
НомерСтроки Обрабатывать ОбрабатыватьДокументы
Период ПериодЖурнала ОбрабатыватьОперации
По С СтрокаДокумента
Упорядочить Условие Функция

Подробнее: Переменные запроса

Область группировок

Необязательная область группировок на языке запросов выполняют несколько важных ролей:

  • построение иерархической последовательности обхода выборки данных;
  • рассчет промежуточных итогов агрегатных функций;
  • упорядочивание данных;
Группировка Номенклатура;

Область условий

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

Условие (Количество > 0);

Подробнее: условия запроса.

Область функций

Используется для описания агрегатных функций рассчета итогов по группировкам запроса

Функция ОбщееКоличество = Сумма(Количество);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *