Содержание:
1. Использование параметров в запросе в 8.3
1. Использование параметров в запросе в 8.3
Когда необходимо получить массив определенных значений, мы всегда используем запросы. Это очень удобный инструмент, который выбирает данные по определенным условиям. Условия могут быть разные, но если мы имеем дело с условием ссылочного типа и нет возможности указать предопределенный элемент справочника, тогда необходимо передавать условие, через параметр. Этот тип условий передается через определенный символ и наименование параметра, например, «&Номенклатура». Таким образом можно передать условие в запрос. Но чтобы необходимое значение условия было подставлено в запрос, необходимо после создания (формирования) запроса установить значение параметра. Это делается при помощи следующей строчки кода:
«Запрос.УстановитьПараметр(«Номенклатура», ВашеЗначениеНоменклатуры);»
В «ВашеЗначениеНоменклатуры» необходимо установить значение отбора, по которому Вы хотите получить данные. Оно может быть получено как из цикла по определенным данным, так и из реквизита на форме.
Например, Вам необходимо выбрать список расходных накладных, в которых есть определенная номенклатура. Для этого необходимо вывести реквизит с нужным типом объекта на форму обработки и написать запрос, который получит этот список. Из этого реквизита мы и возьмем значение параметра для запроса в 1С.
2. Значения параметров СКД
Запросы также используются в отчетах. Для отчета, построенного при помощи системы компоновки данных (СКД), существует отдельная вкладка, в которой настраиваем эти параметры. Значение параметров СКД возможно заполнять предопределенными значениями, выводить их сразу на форму или заполнять их при компоновке результата, для этого необходимо будет во время выполнения процедуры найти нужный нам параметр и подставить в него нужное нам значение или массив значений.
Если же не установить значения параметра в запросе в 1С, то при его выполнении будет появляться ошибка, которая будет говорить о том, что условие параметра не задано и действие не может быть выполнено.
Для того чтобы не забывать про параметры в запросе в 8.3, лучше всего пользоваться конструктором запроса с обходом результата. После создания запроса, уже будут установлены значения параметров в запросе в 1С 8.3, и единственное, на что придется обращать внимание – это наименования переменной, отвечающее за значение параметра: если оно будет отличаться, то необходимо будет корректно переименовать значение параметра в строке кода, которая устанавливает и значение параметра.
В параметр в запросе в 1С 8.3 можно передавать не только условие или метод для отбора данных, но и саму таблицу с данными. Она также передается при помощи той строки кода, которая описана выше. Но в этом случае нам необходимо будет передавать таблицу значений с данными, а не просто ссылку на какое-то значение справочника.
Чтобы не возникало трудностей с тем, как передать параметр в запрос, важно запомнить единственное главное правило – никогда не забывать устанавливать параметры для запроса, если они имеются в запросе.
Специалист компании «Кодерлайн»
Олег Мороз