Внедрение 1C Блог О нас
 
1С:Франчайзинг На главную Написать нам

1С как передать в запрос таблицу значений


Как поместить таблицу в запрос 1С или запрос к таблице значений

Многие начинающие программисты не знают, как поместить таблицу значений в запрос 1С 8. Очень часто это порождает распространенную ошибку — запрос в цикле. То есть разработчик не умеет включать таблицу значений в запрос и поэтому начинает обходить её в цикле и делать на каждую итерацию свой запрос. Рассмотрим на простом примере, как это сделать.

Пример

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

Получите 267 видеоуроков по 1С бесплатно:

Может быть две ситуации, как создана таблица значений, — программно и уже получена откуда-то (например, ТЧ документа). Если таблица создана программно, необходимо установить тип колонки, сделать это несложно

Т.е. при добавление колонки необходимо вторым параметром указать типы данных с помощью конструктора объекта «ОписаниеТипов».

Перейдем к построению запроса. Таблицу значений можно передать в запрос простым &Параметром.

Обязательный нюанс — созданную таблицу необходимо поместить результат во временную таблицу, в противном случае система выдаст сообщение: «Ошибка при вызове метода контекста (Выполнить): Содержимое объекта данных может быть выбрано только во временную таблицу».

Таким образом, мы помещаем первый запрос во временную таблицу,  а потом соединяем её с регистром остатков номенклатуры.

Вот и всё, проблема решена.

Читайте также и другие статьи про язык запросов 1С.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Остались вопросы?

СПРОСИТЕ в комментариях!

programmist1s.ru

Как поместить в запрос таблицу значений 1С 8.X ?

Очень часто начинающие программисты не знают как поместить полученную таблицу значений в запрос . Начинают сооружать циклы и для каждого перебора выполнять свой запрос, что существенно сокращает время выполнения. А ведь на самом деле все очень просто — достаточно указать таблицу в виде параметра и передать его в запрос. Важно заметить, чтобы эта таблица значений была с типизированными полями.

Давайте рассмотрим на простом примере, как из таблицы значений по основным средствам получить те, которые относятся к земельным участкам, для этого создаем собственно саму таблицу значений

ТЗ = Новый ТаблицаЗначений;

Заполняем таблицу значений удобным для вас способом и после передаем значения в запрос

Запрос=Новый Запрос; Запрос.Текст=

«ВЫБРАТЬ | ВнешняяТаблицаОС.Наименование, | ВнешняяТаблицаОС.ГруппаОС, | ВнешняяТаблицаОС.ИнвНомер |ПОМЕСТИТЬ Таблица |ИЗ | &ВнешняяТаблицаОС КАК ВнешняяТаблицаОС |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Таблица.Наименование, | Таблица.ГруппаОС, | Таблица.ИнвНомер |ИЗ | Таблица КАК Таблица |ГДЕ | Таблица.ГруппаОС = &НеобходимаяГруппа»;

Запрос.УстановитьПараметр(«ВнешняяТаблицаКонтрагентов», ТЗ); Запрос.УстановитьПараметр(«НеобходимаяГруппа», Перечисления.ГруппыОС.ЗемельныеУчастки)

Результат=Запрос.Выполнить();

Есть маленький нюанс, таблицу значений передаем при помощи параметров и обязательно помещаем ее во временную таблицу, а уже после используем ее в запросе. И еще раз повторимся, что поля таблицы должны быть типизированными. Как сделать тоже самое, но при помощи конструктора запроса? Легко. Для этого в конструкторе создаем описание временной таблицы. Присваиваем ей имя параметра и указываем тип значений для полей. Обязательно на вкладке «Дополнительно» указываем, что мы создаем временную таблицу, то есть в группе «Тип запроса» выбираем «Создание временной таблицы».

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

1chelp.net

Запрос к Таблице Значений

Как заполнить табличную часть формы программно?  3  Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...17 правил для составления оптимального ЗАПРОСа к данным базы 1С  16  Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно...1C и Google Maps  13 была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...1C: Enterprise Development Tools  45  И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ?  5  Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р,... Посмотреть все результаты поиска похожих

Значения NULL ( ЕСТЬ NULL и ЕСТЬNULL())  39  NULL – отсутствующие значения. Не путать с нулевым значением! NULL – это не число, не равно пробелу, пустой ссылке, Неопределено. NULL – типообразующее значение, т.е. есть тип NULL и единственное значение этого типа. NULL...Полезные сведения о языке запросов 1С 8.х  18  В статье приведены полезные приемы при работе с запросами 1С v.8.2, а также сведения, которые не так хорошо известны о языке запросов. Я не стремлюсь дать полное описание языка запросов, а хочу остановиться лишь на...17 правил для составления оптимального ЗАПРОСа к данным базы 1С  16  Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно...Оператор ПОДОБНО  13  ПОДОБНО - Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL. Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения...Как в запросе получить Вид (тип) Документа?  12 Столкнулся с задачей, нужно было выбрать все документы по выплате и сгруппировать их по типу документа! Перелистав все ЖКК и интернет, понял что простого способа получить Вид документа в запросе нет :( Пришлось... Посмотреть все в категории Запросы

helpf.pro


Смотрите также