Основы запросов в языке 1С 8.3, 8.2 (в примерах)

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

<<< Основы Группировка Условия Упорядочивание Функции
<<< Итоги Соединение Объединение Параметры

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

/// Как запросить все строки со значениями всех столбцов 
/// из таблицы в 1с 8.3, 8.2
 
&НаСервере
Процедура КакЗапроситьВсеСтрокиИВсеСтолбцыИзТаблицыНаСервере()
 
    // Если нужно выбрать абсолютно все столбцы
    // из таблицы - используем звёздочку.
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ
        |  *
        |ИЗ
        |  Справочник.Номенклатура"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Как запросить все строки со значениями определенных столбцов
/// в 1с 8.3, 8.2
 
&НаСервере
Процедура КакЗапроситьВсеСтрокиСЗначениямиОпределенныхСтолбцовНаСервере()
 
    // У каждого столбца в таблице есть своё имя.
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ
        |  Наименование,
        |  Вкус,
        |  Цвет
        |ИЗ
        |  Справочник.Номенклатура"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Как использовать в запросах псевдонимы для столбцов и таблиц
/// в 1с 8.3, 8.2
 
&НаСервере
Процедура КакИспользоватьПсевдонимыВЗапросахНаСервере()
 
    // Псевдонимы делают текст запроса более лаконичным
    // и понятным.
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ
        |   Продукты.Наименование КАК ИмяПродукта,
        |   Продукты.Вкус КАК ВкусПродукта
        | ИЗ
        |   Справочник.Номенклатура КАК Продукты"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Как добавить в результат запроса столбец с определенным
/// значением в 1с 8.3, 8.2
 
&НаСервере
Процедура КакДобавитьВРезультатЗапросаСтолбецСОпределеннымЗначениемНаСервере()
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ
        |  Наименование,
        |  1000 КАК Цена,
        |  Калорийность
        |ИЗ
        |  Справочник.Номенклатура"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Как убрать дубликаты из результата запроса в 1с 8.3, 8.2
 
&НаСервере
Процедура КакУбратьДубликатыИзРезультатаЗапросаНаСервере()
 
    // В справочнике Цвета есть повторящиеся элементы.
    // Построим запрос так, чтобы в результат попали
    // только различные цвета.
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |  Наименование
        |ИЗ
        |  Справочник.Цвета"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Как ограничить количество строк в результате запроса
/// в 1с 8.3, 8.2
 
&НаСервере
Процедура КакОграничитьКоличествоСтрокВРезультатеЗапросаНаСервере()
 
    // Сделаем выборку первых 5 самых каллорийных продуктов.
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ ПЕРВЫЕ 5
        |  Наименование,
        |  Калорийность
        |ИЗ
        |  Справочник.Номенклатура
        |УПОРЯДОЧИТЬ ПО
        |   Калорийность УБЫВ"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Как отобрать из таблицы только те строки,
/// на чтение которых у пользователя есть права в 1с 8.3, 8.2
 
&НаСервере
Процедура КакВыбратьТолькоРазрешенныеСтрокиНаСервере()    
 
    // Эта возможность нужна для баз, в которых
    // включено ограничение прав на уровне записей (RLS).
 
    // Например, мы хотим, чтобы конкретный пользователь ни
    // при каких условиях не смог прочитать документы
    // другой организации, которые хранятся в этой же базе.
 
    // Вот и получается, что на некоторые записи (строки) таблицы
    // документов ему надо дать права на чтение, а не некоторые нет.
 
    // Если данное слово не указать, то в случае, когда запрос
    // выберет записи, на которые у пользователя нет прав,
    // запрос отработает с ошибкой. 
 
    Запрос = Новый Запрос(
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |   Ссылка
        | ИЗ
        |   Документ.ПродажаЕды"
    );
 
    ВыполнитьЗапросИВывестиНаФорму(Запрос);
 
КонецПроцедуры
 
/// Скачать и выполнить эти примеры на компьютере

Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)

Основы запросов в языке 1С 8.3, 8.2 (в примерах)

<<< Основы Группировка Условия Упорядочивание Функции
<<< Итоги Соединение Объединение Параметры

С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться: