Команда SELECT и параметры запросов

Команда SELECT языка запросов DaJet аналогична соответсвующей команде SQL. При этом в командах могут использоваться параметры запроса так, как это показано в примере ниже (параметр объявляется при помощи ключевого слова DECLARE).

Пример команды "СрезПоследних" для регистра сведений "КурсыВалют":

DECLARE @ДатаСреза datetime = '2021-07-31T23:59:59';
DECLARE @Валюта Справочник.Валюты = '150036b4-2fe9-0228-11df-720f9c556d4d';

SELECT
  СрезПоследних.Период AS Период,
  КурсыВалют.Валюта    AS Валюта,
  КурсыВалют.Курс      AS Курс,
  КурсыВалют.Кратность AS Кратность

FROM (SELECT Валюта, MAX(Период) AS Период
        FROM РегистрСведений.КурсыВалют
       WHERE Валюта = @Валюта
         AND Период <= @ДатаСреза
    GROUP BY Валюта) AS СрезПоследних

INNER JOIN РегистрСведений.КурсыВалют AS КурсыВалют
        ON КурсыВалют.Период = СрезПоследних.Период
       AND КурсыВалют.Валюта = СрезПоследних.Валюта

Пример использования оператора UNION и перечислений 1С:Предприятие 8:

SELECT Код, Наименование, СтавкаНДС
  FROM Справочник.Номенклатура
 WHERE СтавкаНДС = Перечисление.СтавкиНДС.НДС10

UNION ALL

SELECT Код, Наименование, СтавкаНДС
  FROM Справочник.Номенклатура
 WHERE СтавкаНДС = Перечисление.СтавкиНДС.НДС18

SELECT 'НДС 10%' AS Name, Перечисление.СтавкиНДС.НДС10 AS Value
UNION ALL
SELECT 'НДС 18%', Перечисление.СтавкиНДС.НДС18
UNION ALL
SELECT 'Без НДС', Перечисление.СтавкиНДС.БезНДС

NameValue
НДС 10%d0d192a2-e8ae-72f0-45d0-62c1b99522a7
НДС 18%93e8f7aa-e0ce-1fcd-48a8-76b826b5ef6b
Без НДС5dc678af-171c-41ad-4e88-46212489abf1