Язык запросов

Запросы в системе "1С:Предприятие 8" предназначены для выборки информации из базы данных. По сути, запрос — это обращение к системе с просьбой выбрать определенную информацию из базы данных, а часто не только выбрать, но и произвести некоторую обработку: сгруппировать, отсортировать, вычислить. Например, с помощью запроса можно легко выбрать всех сотрудников, занимающих определенную должность, или можно узнать объем продаж каждого товара в течение года с детализацией до месяца.

Язык запросов 1С:Предприятия основан на SQL, но при этом содержит значительное количество расширений, ориентированных на отражение специфики финансово-экономических задач и на максимальное сокращение усилий по разработке бизнес-приложений.

В числе наиболее существенных возможностей:
  • Разыменование ссылочных полей, т.е. обращение к полям через точку ("."). Если поля какой-либо таблицы имеют ссылочный тип и хранят ссылки на объекты другой таблицы, разработчик может в запросе ссылаться на них через точку, при этом, что самое важное, количество уровней вложенности таких ссылок система не ограничивает.
  • Обращение к вложенным таблицам (табличным частям документов и элементов справочников). Система поддерживает обращения к вложенным табличным частям как к отдельным таблицам и как к целым полям одной таблицы. Например, при обращении к расходной накладной (документу, содержащему табличную часть с составом отгружаемых товаров) мы можем считать табличную часть как отдельную таблицу (при этом получить записи из разных объектов), а также можем считать заголовочную запись расходной накладной, в которой значением поля будут все записи вложенной таблицы, подчиненные этому объекту.
  • Автоматическое упорядочивание. Для выбора наиболее правильного ("естественного") порядка вывода информации на экран или в отчет разработчику в большинстве случаев достаточно задать режим автоматического упорядочивания.
  • Многомерное и многоуровневое формирование итогов. Итоги и подитоги формируются с учетом группировки и иерархии, обход уровней может выполняться в произвольном порядке с подведением подитогов, обеспечивается корректное построение итогов по временным измерениям.
  • Поддержка виртуальных таблиц. Виртуальные таблицы, предоставляемые системой, позволяют получить практически готовые данные для большинства бизнес-задач без необходимости составления сложных запросов. Например, такая виртуальная таблица может предоставить данные по остаткам товаров в разрезе периодов на какой-то момент времени. При этом виртуальные таблицы максимально используют хранимую информацию, например, ранее рассчитанные итогах и т.д.
  • Естественно, в языке запросов "1С:Предприятия" поддерживаются стандартные для SQL операции, такие, как объединение (Union), соединение (Join) и т.д.