Список значений как параметр в запросе 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с

Рассмотрим подробнее значимые отличия операторов «В» и «В ИЕРАРХИИ» и другие функции языка запросов 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с. Смотреть фото Список значений как параметр в запросе 1с. Смотреть картинку Список значений как параметр в запросе 1с. Картинка про Список значений как параметр в запросе 1с. Фото Список значений как параметр в запросе 1с

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

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

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

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

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

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

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

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

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

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

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

Источник

Передать в параметр список значений.

Добрый день. Подскажите, пожалуйста, как в параметр запроса передать список значений?

Как-то корявенько. Лучше было бы

Код
Показать полностью

а список складов уже заполнять ссылками найденными по наименованию, или ещё как-то.

Но лучше было бы создать реквизит «код в базе УТ» для справочника подразделений и связать по кодам. Ведь наименование штука непостоянная.

Надеюсь что-то из моего поста Вам пригодится

МассивПодразделений = ПолучитьПодразделения() получаю массив в ЗУПе.

//создаю и заполняю массив УТ
МассивСкладыУт = БазаУТ.NewObject(«Массив»);
для Каждого Элемент Из МассивПодразделений Цикл
МассивСкладыУт.Добавить(Элемент);
КонецЦикла;

Запрос.УстановитьПараметр(«Вид»,БазаУТ.Перечисления.ВидыОперацийЧекККМ.НачалоДня);
Запрос.УстановитьПараметр(«СписокМагазинов», МассивСкладыУт);
Запрос.УстановитьПараметр(«ДатаНач», НачалоДня(ДатаНач));
Запрос.УстановитьПараметр(«ДатаКон», КонецДня(ДатаКон));
Массив МассивСкладыУт заполненный. Результат почему-то пустой

(7) Массив МассивСкладыУт заполненный. Вопрос только чем он заполнен 🙂 Ссылками из ЗУПа судя по коду и откуда же эти ссылки возьмутся в УТ?

МассивПодразделений = ПолучитьПодразделения() получаю массив в ЗУПе.

//создаю и заполняю массив УТ
МассивСкладыУт = БазаУТ.NewObject(«Массив»);
для Каждого Элемент Из МассивПодразделений Цикл
МассивСкладыУт.Добавить(Справочник.Склады.НайтиПоНаименованию(Элемент.Наименование) ну или с чем там массив, по тому и ищем ссылку на Склад в УТ);
КонецЦикла;

Источник

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

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