установить параметр запроса 1с несколько параметров

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

1С 8.3 Параметры в запросе

&НаСервере
Процедура ПередачаПараметровПростыхТиповВЗапросе ()

// Создание отбора по поступлению материала за 2020 год
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Ссылка
|ИЗ
| Документ.ПоступлениеМатериалов
|ГДЕ
| Дата МЕЖДУ &НачДата И &КонДата
|УПОРЯДОЧИТЬ ПО
| Дата ВОЗР» );

&НаСервере
Процедура ПередачаПараметровСсылочныхТиповВЗапросе ()

// Создание отбора по материалам с единицей измерения «Куб.см.»
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Наименование,
| ЕдиницаИзмерения
|ИЗ
| Справочник.Материалы
|ГДЕ
| ЕдиницаИзмерения = &ЕдинИзмер» );

&НаСервере
Процедура ПередачаПараметровСписочногоТипаВЗапросе ()

// Создание отбора по материалам, единицы измерения входят в переданный список
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Наименование,
| ЕдиницаИзмерения
|ИЗ
| Справочник.Материалы
|ГДЕ
| ЕдиницаИзмерения В (&СписокЕдиницИзмерения)» );

&НаСервере
Процедура ПередачаПараметраВВидеТаблицыЗначенийВЗапросе ()

Запрос = Новый Запрос ( «ВЫБРАТЬ
| Наименование,
| СрокИспользования,
| Производитель
|ИЗ
| Справочник.Материалы
|ГДЕ
| (СрокИспользования, Производитель) В (&СписокСочетаний)» );

&НаСервере
Процедура ИспользованиеТаблицыЗначенийПереданнойВЗапросКакПараметр ()

// Сперва выбираем данные во временную таблицу, а потом работаем как с обычной таблицей
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Название,
| РынЦена
|ПОМЕСТИТЬ
| ВременнаяТаблица
|ИЗ
| &ТаблицаДрагМеталлов КАК ДрагМеталлы
|;
|ВЫБРАТЬ
| Название,
| РынЦена
|ИЗ
| ВременнаяТаблица
|УПОРЯДОЧИТЬ ПО
| РынЦена УБЫВ» );

Источник

Обучение программированию на 1С

Параметры запроса и работа с ними. Типы равенствнеравенств равно, В, В ИЕРАРХИИ и др.

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметровДля построения грамотного и эффективного запроса, нужно разбираться в его параметрах. Запрос 1С к базе данных – это конструкция, позволяющая извлечь актуальную информацию из набора таблиц и предоставить её пользователю для принятия обоснованного управленческого решения в наиболее оптимальной форме. Поскольку Запрос 1С является объектом с набором параметров, то определённые приёмы языка запросов позволяют повысить его читабельность, увеличить быстродействие, получить только уникальные записи. Чтобы уметь пользоваться преимуществами встроенного языка, нужно следовать рекомендациям профессионалов.

Что такое параметры запроса 1С и как они используются?

Параметры запроса необходимы для того, чтобы можно было придать конструкции требуемую гибкость и быстродействие. Для объявления нужного параметра в языке запроса используется символ «&». Расшифровывается это следующим образом: &ТаблицаЦен (в данном случае именем параметра является значение «ТаблицаЦен»). Чтобы запрос «понял» присваиваемый ему параметр, необходима следующая конструкция:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Рассмотрим на примере присвоения Запросу 1С параметра Текущая дата – выглядеть на языке запросов это будет следующим образом:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Это примитивный тип конструкции, есть и более интересные.

Списочные параметры – работаем с операторами В/В ИЕРАРХИИ

Массив данных и список значений могут быть переданы в качестве параметров языка запроса 1С. К примеру, конструкция может выглядеть следующим образом:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Рассмотрим подробнее значимые отличия операторов «В» и «В ИЕРАРХИИ» и другие функции языка запросов 1С v 8.

Функции языка запросов 1С v 8

Язык запросов программы 1С 8-ой версии предполагает, что к полям запроса будут применены специальные функции, которые усилят его эффективность и оптимизируют работу.

«ССЫЛКА»

Ссылочный тип логического оператора «ССЫЛКА» даёт возможность проверить поле составного вида на наличие в нём конкретного типа. Задаётся следующей конструкцией:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

«МЕЖДУ»

Функция, которая позволяет конструкции проверить поле по параметру «вхождение значения в указанный диапазон». Синтаксическое выражение:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

«В», «В ИЕРАРХИИ»

Конструкция служит для того, чтобы выявлять наличие определённых значений в передаваемых списках. Поиск производится также в подчинённых значениях после разворачивания иерархии элементов вниз. На практике это выглядит следующим образом:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

«ПОДРОБНО»

Функция языка запросов 1С даёт возможность провести сравнение выбранной строки с шаблонным вариантом. Параметр применяется в том случае, если строка, по которой производится поиск, чётко не закреплена. Шаблонное решение выстраивается по следующим правилам:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

«ЕСТЬ NULL »

Данный параметр работает следующим образом: в том случае, если значение поля не определено, то оно равно указанному выражению. С учётом синтаксиса языка запросов 1С получаем:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Все эти параметры – лишь краткий перечень эффективных функций языка Запросов 1С. Для грамотной работы в конфигураторе программы необходимо тщательно изучить все параметры языка запросов. Это не просто позволит получать нужные отчёты из базы данных 1С, но и увеличит быстродействие их обработки.

Источник

Общая схема выполнения запросов

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

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

Для работы с запросами в системе «1С:Предприятие 8» предусмотрено несколько специальных объектов, а именно:

Общая схема выполнения запроса такова:

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

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Цифрами на схеме обозначены следующие действия:

1. Установка текста запроса

Объект «Запрос» имеет свойство «Текст», которое содержит строку с текстом запроса на языке запросов. Этому свойству, во-первых, можно явно присвоить значение или, во-вторых, воспользоваться конструктором объекта «Запрос». В последнем случае текст запроса передается в качестве параметра в конструктор объекта «Запрос» при его создании.

2-й вариант (с другим текстом запроса):

2. Установка параметров запроса

Объект «Запрос» имеет метод «УстановитьПараметр», с помощью которого в запрос передаются значения параметров. Параметры запроса обычно используются в условиях отбора (конструкции ГДЕ, ИМЕЮЩИЕ) или в качестве параметров вызова виртуальных таблиц. В тексте запроса параметры обозначаются знаком «&» (например, параметр «ВыбГруппа» в первом запросе).

В качестве параметров используются значения, которые указываются пользователем в диалоге или значения типов, для которых нет литералов, например, пустых ссылок на элементы справочников. Литералы же есть только у примитивных типов данных, а именно, число, строка, дата, булево, Null, Неопределено.

3. Выполнение запроса

После присвоения текста и установки параметров, запрос запускается на выполнение с помощью метода «Выполнить()» объекта «Запрос». Этот метод возвращает другой объект «РезультатЗапроса», содержащий выбранные данные из базы данных.

Далее возможны три варианта:

4. Получение выборки из результата запроса

Объект «РезультатЗапроса» имеет метод «Выбрать()», который возвращает новый объект «ВыборкаИзРезультатаЗапроса». В зависимости от параметра метода «Выбрать()» выборка будет линейной (по умолчанию), иерархической или по группировкам. Далее выборка обходится с помощью цикла «Пока Выборка.Следующий() Цикл», а в теле цикла производятся какие-то действия, например, вывод областей в табличный документ.

5. Выгрузка результата запроса в таблицу или дерево значений

6. Формирование сводной таблицы

Результат запроса может быть использован как источник данных для сводной таблицы. При этом итоги (см. предложение ИТОГИ в тексте запроса) становятся ресурсами (отображаются в области данных), а группировочные поля, по которым они подсчитываются, становятся измерениями сводной таблицы. В качестве источника данных для сводной таблицы может быть также использован объект «ПостроительОтчета», но ему на вход тоже подается запрос, поэтому можно сказать, что основа любой сводной таблицы — это запрос к базе данных.

Источник

Запросы в 1С

Запросы в 1С предназначены для получения данных из базы данных. Рассмотрим на что способен данный механизм.

Что такое запрос и язык запросов

Запросы предназначены для извлечения и обработки информации из базы данных для предоставления пользователю в требуемом виде. Под обработкой здесь подразумевается группировка полей, сортировка строк, расчет итогов и т.д. Изменять данные с помощью запросов в 1С нельзя!

Запрос выполняется в соответствии с заданными инструкциями — текстом запроса. Текст запроса составляется в соответствии с синтаксисом и правилами языка запросов. Язык запросов 1С:Предприятие 8 основан на базе стандартного SQL, но имеет некоторые отличия и расширения.

Схема работы с запросом

Общая схема работы с запросом состоит из нескольких последовательных этапов:

1. Объект Запрос имеет свойство Текст, которому необходимо присвоить текст запроса.

// Вариант 2
Запрос = Новый Запрос ( «ВЫБРАТЬ
| КурсыВалют.Период,
| КурсыВалют.Валюта,
| КурсыВалют.Курс
|ИЗ
| РегистрСведений.КурсыВалют КАК КурсыВалют
|ГДЕ
| КурсыВалют.Валюта = &Валюта» );

4. Обойти выборку результата запроса можно с помощью цикла:

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

Состав текста запроса

Текст запроса состоит из нескольких секций:

Обязательной является только первая секция.

Временные таблицы и пакетные запросы

Язык запросов 1С поддерживает использование временных таблиц — таблиц, полученных в результате выполнения запроса и сохраненных на временной основе.

Часто можно столкнуться с ситуацией, когда в качестве источника запроса нужно использовать не таблицы базы данных, а результат выполнения другого запроса. Эту задачу можно решить с помощью вложенных запросов или временных таблиц. Применение временных таблиц позволяет упростить текст сложного запроса, разделив его на составные части, а также, в некоторых случаях, ускорить выполнение запроса и уменьшить количество блокировок. Для работы с временными таблицами используется объект МенеджерВременныхТаблиц. Создание временной таблицы производится при помощи ключевого слова ПОМЕСТИТЬ, за которым следует наименование временной таблицы.

Для использования временной таблицы ВТВалюты в других запросах необходимо этим запросам присвоить общий менеджер временных таблиц — МенеджерВТ.

Пакетный запрос — это запрос, в котором содержится несколько запросов, разделенных символом «;». При выполнении пакетного запроса все входящие в него запросы выполняются последовательно, причем результаты всех временных таблиц доступны всем последующим запросам. Явное присвоение менеджера временных таблиц пакетным запросам не обязательно. Если менеджер временных таблиц не присвоен, то все временные таблицы удалятся сразу после выполнения запроса.

ТЗВалюты = РезультатПакета [ 0 ]. Выгрузить ();
ТЗНоменклатура = РезультатПакета [ 1 ]. Выгрузить ();

Виртуальные таблицы

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

Существуют следующие виртуальные таблицы (в скобках указаны возможные параметры):

При работе с виртуальными таблицами следует накладывать отборы в параметрах виртуальных таблиц, а не в условии ГДЕ. От этого сильно зависит время выполнения запроса.

Конструктор запроса

Для ускорения ввода текстов запросов платформа имеет специальные инструменты: Конструктор запроса и Конструктор запроса с обработкой результата. Для вызова конструкторов необходимо щелкнуть правой кнопкой мыши и выбрать требуемый пункт:

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Также конструкторы можно вызвать из главного меню Текст.

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

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

установить параметр запроса 1с несколько параметров. Смотреть фото установить параметр запроса 1с несколько параметров. Смотреть картинку установить параметр запроса 1с несколько параметров. Картинка про установить параметр запроса 1с несколько параметров. Фото установить параметр запроса 1с несколько параметров

Объект СхемаЗапроса

Платформа позволяет программно создавать и редактировать текст запроса при помощи объекта СхемаЗапроса. Объект имеет единственное свойство ПакетЗапросов, в котором объекта хранятся свойства всех запросов, редактируемых в данный момент. Объект СхемаЗапроса поддерживает следующие методы:

Рассмотрим пример работы с объектом СхемаЗапроса. Для программного формирования текста запроса

ВЫБРАТЬ
Валюты.Ссылка КАК Валюта,
Валюты.Код
ИЗ
Справочник.Валюты КАК Валюты
ГДЕ
НЕ Валюты.ПометкаУдаления

УПОРЯДОЧИТЬ ПО
Валюты.Код

Код на встроенном языке может выглядеть так:

Остались вопросы?
Спросите в комментариях к статье.

Источник

Передача значений в запрос 1С

На практике в большинстве случаев необходимо ограничить результат запроса условиями. Рассмотрим как можно передать различные значения в запрос.

Значения в запрос можно передать несколькими способами:

Использование параметров запроса

Данный способ наиболее универсален, т.к. позволяет передать в запрос любое значение.

В тексте запроса перед именем параметра ставится символ &. Установка значений параметров производится методом

УстановитьПараметр ( ИмяПараметра >, ЗначениеПараметра >)

Пример передачи параметра в запрос:

Результатом запроса будут все договора, у которых реквизит «Контрагент» равен переданному значению параметра «КонтрагентСсылка».

Ключевое слово ЗНАЧЕНИЕ

В запросе можно обратиться к предопределенным данным конфигурации без использования параметров. При помощи ключевого слова ЗНАЧЕНИЕ в запрос можно передать такие данные, как:

Пример обращения к предопределенным значениям в запросе:

Результатом запроса будут все элементы справочника Номенклатура с типом Услуга.

Ключевое слово ДАТАВРЕМЯ

К значениям типа дата в запросе можно обратиться при помощи конструкции

ДАТАВРЕМЯ ( Год >, Месяц >, День >, Час >, Минута >, Секунда >)

Все параметры здесь — целые числа. Последние три параметра (Час, Минута, Секунда) указывать не обязательно.
Максимальная дата, которую можно задать — 31.12.3999 23:59:59.

Пример обращения к пустой дате в запросе:

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

Ключевое слово ТИП

Обращение к типу ТИП в запросе осуществляется конструкцией

Здесь ИмяТипа может принимать имя примитивного типа или имя таблицы ссылочного типа.
Примеры использования в запросе:

ТИП(Строка)
ТИП(Число)
ТИП(Справочник.Пользователи)
ТИП(Документ.РасходныйКассовыйОрдер)
ТИП(ПланВидовХарактеристик.СтатьиРасходов)

Обращение к примитивным типам в запросе

Значения типов Булево, Число, Строка, Неопределено в языке запросов задаются так же, как и во встроенном языке.
Пример обращения к примитивным типам в запросе:

Результатом запроса будут все проведенные документы ПриходныйКассовыйОрдер с суммой документа больше 1000 и реквизитом «Принято от» равным «Иванов И.И.». Обратите внимание, что здесь переменная типа Строка указана в двух двойных кавычках. Необходимо использовать именно такой синтаксис.

Остались вопросы?
Спросите в комментариях к статье.

Источник

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

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