MyTetra Share
Делитесь знаниями!
1С 8.2: Язык запросов. Выражения в выборке
Время создания: 12.11.2012 09:40
Раздел: Компьютер - Windows - 1С - Теория
Запись: xintrea/mytetra_syncro/master/base/1352698851vgr7z8jt4l/text.html на raw.github.com

Выражения в списке полей выборки

В качестве описания поля выборки может быть выражение, использующее следующие элементы:

  • Литералы типов: число, строка (в кавычках), булево (значения Истина и Ложь), Null, Неопределено. [Замечание: Чтобы указать литерал типа "дата", можно воспользоваться ключевым словом языка запросов ДАТАВРЕМЯ или передать дату через параметр запроса].
  • Параметры запроса (со знаком &)
  • Имя поля
  • Имя табличной части
  • Разыменование ссылочного поля (через одну или несколько точек)
  • Арифметические операции (+, -, /, *) [Замечание: операция получения остатка % в языке запросов не поддерживается]
  • Операция конкатенации строк (+) [Замечание: операцию конкатенации нельзя использовать для виртуальных полей]
  • Встроенные функции языка запросов (ДЕНЬ, МЕСЯЦ, ГОД и т.д.)
  • Агрегатные функции (СУММА, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, КОЛИЧЕСТВО)
  • Операция выбора ВЫБОР / CASE - позволяет получить одно из возможных значений в соответствии с указанными условиями.
  • Операция приведения типов ВЫРАЗИТЬ / CAST

Ниже приведено несколько примеров с выражениями в списке полей выборки:

// арифметические операции

ВЫБРАТЬ

Номенклатура,

Количество * Цена КАК РасчСумма1,

Сумма / Количество КАК РасчСумма2

ИЗ Документ.АвансовыйОтчет.Товары

// литералы типа "булево", "число", "строка", "дата"

ВЫБРАТЬ Истина, Ложь, 10.5, "Текст", ДАТАВРЕМЯ(2003,12,25)

// конкатенация строк

ВЫБРАТЬ "Сотрудник " + Ответственный.Наименование

ИЗ Документ.АвансовыйОтчет

// агрегатные функции

ВЫБРАТЬ

ПодразделениеКомпании,

СУММА(СуммаДокумента),

МАКСИМУМ(СуммаДокумента),

МИНИМУМ(СуммаДокумента),

СРЕДНЕЕ(СуммаДокумента),

КОЛИЧЕСТВО(*)

ИЗ Документ.АвансовыйОтчет

СГРУППИРОВАТЬ ПО ПодразделениеКомпании

// операция выбора

ВЫБРАТЬ Наименование,

ВЫБОР

КОГДА СтранаПроисхождения.Наименование = "КИТАЙ" ТОГДА "Азия"

КОГДА СтранаПроисхождения.Наименование = "ТАЙВАНЬ" ТОГДА "Азия"

КОГДА СтранаПроисхождения.Наименование = "США" ТОГДА "Америка"

КОГДА СтранаПроисхождения.Наименование = "КАНАДА" ТОГДА "Америка"

ИНАЧЕ "Другое"

КОНЕЦ КАК Страна

ИЗ Справочник.Номенклатура

// операция приведения типов

ВЫБРАТЬ

Ссылка,

Номенклатура,

ВЫРАЗИТЬ(Сумма / 3 КАК Число(5,2)) КАК ТретьСуммы

ИЗ Документ.АвансовыйОтчет.Товары

 
MyTetra Share v.0.59
Яндекс индекс цитирования