1С 8.3 Поместить Таблицу Значений во временную таблицу Запроса
Данные > Примеры кода 1С > 1С 8.3 Таблица значений
Перейти в раздел примеры кода 1С 8.3:
Поместить Таблицу Значений во временную таблицу Запроса в 1С 8.3:
Процедура ПоместитьТаблицуЗначенийВЗапрос(Запрос, ТаблицаЗначений, ИмяВременнойТаблицыВЗапросе) Экспорт
ТипизированнаяТЗ = Типизация_колонок_ТЗ(ТаблицаЗначений);
// Типизация_колонок_ТЗ - https://koder.by/tipizacija_kolonok_tablicy_znachenij.php
ТекстЗапроса = Запрос.Текст;
Запрос.Текст = "Выбрать * Поместить " + ИмяВременнойТаблицыВЗапросе +
" Из &" + ИмяВременнойТаблицыВЗапросе + " как " + ИмяВременнойТаблицыВЗапросе;
Если Запрос.МенеджерВременныхТаблиц = Неопределено Тогда // доп.проверка
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
КонецЕсли;
Если Запрос.Параметры.Свойство(ИмяВременнойТаблицыВЗапросе) Тогда
ПараметрВременнойТаблицыВЗапросе = Запрос.Параметры.ИмяВременнойТаблицыВЗапросе;
Запрос.УстановитьПараметр(ИмяВременнойТаблицыВЗапросе, ТипизированнаяТЗ);
Запрос.Выполнить();
Запрос.УстановитьПараметр(ИмяВременнойТаблицыВЗапросе, ПараметрВременнойТаблицыВЗапросе);
Иначе
Запрос.УстановитьПараметр(ИмяВременнойТаблицыВЗапросе, ТипизированнаяТЗ);
Запрос.Выполнить();
Запрос.Параметры.Удалить(ИмяВременнойТаблицыВЗапросе);
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
КонецПроцедуры
ТипизированнаяТЗ = Типизация_колонок_ТЗ(ТаблицаЗначений);
// Типизация_колонок_ТЗ - https://koder.by/tipizacija_kolonok_tablicy_znachenij.php
ТекстЗапроса = Запрос.Текст;
Запрос.Текст = "Выбрать * Поместить " + ИмяВременнойТаблицыВЗапросе +
" Из &" + ИмяВременнойТаблицыВЗапросе + " как " + ИмяВременнойТаблицыВЗапросе;
Если Запрос.МенеджерВременныхТаблиц = Неопределено Тогда // доп.проверка
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
КонецЕсли;
Если Запрос.Параметры.Свойство(ИмяВременнойТаблицыВЗапросе) Тогда
ПараметрВременнойТаблицыВЗапросе = Запрос.Параметры.ИмяВременнойТаблицыВЗапросе;
Запрос.УстановитьПараметр(ИмяВременнойТаблицыВЗапросе, ТипизированнаяТЗ);
Запрос.Выполнить();
Запрос.УстановитьПараметр(ИмяВременнойТаблицыВЗапросе, ПараметрВременнойТаблицыВЗапросе);
Иначе
Запрос.УстановитьПараметр(ИмяВременнойТаблицыВЗапросе, ТипизированнаяТЗ);
Запрос.Выполнить();
Запрос.Параметры.Удалить(ИмяВременнойТаблицыВЗапросе);
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник