Когда предпочтительнее получать запрос через ВыполнитьПакет?
Перелистываю иногда выборочно новые типовые конфигурации для саморазвития и попал на код в упп мне такой код не попадался и я чаще пишу такой код
СП прочитал
Правильно я понимаю, что Запрос.ВыполнитьПакет() сохраняет все временные таблицы пакета в массив, и можно потом к этим временным таблицам обращаться через созданный на выходе массив?
ПакетРезультатов = Запрос.ВыполнитьПакет();
Запрос = Новый Запрос("ВЫБРАТЬ
| НДФЛДоходы.Ссылка
|ИЗ
| Справочник.ДоходыНДФЛ КАК НДФЛДоходы
|
|ГДЕ
| (НДФЛДоходы.Предопределенный)");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ПоказатьСП прочитал
Описание:
Последовательно выполняет все запросы и возвращает массив результатов для каждого запроса из пакета. Результаты помещаются в массив в ...
Последовательно выполняет все запросы и возвращает массив результатов для каждого запроса из пакета. Результаты помещаются в массив в ...
Правильно я понимаю, что Запрос.ВыполнитьПакет() сохраняет все временные таблицы пакета в массив, и можно потом к этим временным таблицам обращаться через созданный на выходе массив?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Использование пакетных запросов и временных таблиц значительно повышает читаемость всего отрезка данного кода. Сложные запросы, содержащие в себе еще и вложенные запросы, бывают очень трудными к восприятию. Однако если разбить длинный сложный запрос на несколько, да еще и использовать временные таблицы, то это позволит добиться не только повышения восприятия, но и в большинстве случаев приводит к повышению производительности.
Еще одна важная деталь в пользу пакетных запросов в 1С – это то, что в отличие от вложенных запросов мы можем получить отдельно результат каждого запроса в пакете.
Еще одна важная деталь в пользу пакетных запросов в 1С – это то, что в отличие от вложенных запросов мы можем получить отдельно результат каждого запроса в пакете.
(2) Интуитивно понятно, что временные таблицы использовать в программе удобно, что бы вторично использовать полученные ранее данные, но появляются новые функции решения похожих задач, в том числе и по временным таблицам и интересно понять в чем разница между эти методами. Из СП это не совсем однозначно понятно, пробовать тоже все не успеть, а тк на форуме люди делятся тем что применяли и информация становится более понятна. Так что спасибо за ответ.
Вот нашел еще интересную реализацию работы с временными таблицами, тоже интересно было бы разобраться как это работает.
Интересно начиная с какой платформы данная функция работает РезультатыЗапроса = ИнтеграцияИС.ВыполнитьПакетЗапросов
Вот нашел еще интересную реализацию работы с временными таблицами, тоже интересно было бы разобраться как это работает.
Результат = Новый Соответствие;
СписокЗапросов = Новый СписокЗначений;
СписокЗапросов.Добавить(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ШтрихкодыУпаковок.Ссылка КАК ШтрихкодСсылка,
| ШтрихкодыУпаковок.Номенклатура,
| ШтрихкодыУпаковок.Характеристика,
| ШтрихкодыУпаковок.Серия
|ПОМЕСТИТЬ ДанныеШтрихкодовУпаковок
|ИЗ
| Справочник.ШтрихкодыУпаковокТоваров КАК ШтрихкодыУпаковок
|ГДЕ
| ШтрихкодыУпаковок.Ссылка В (&ШтрихкодыУпаковок)
| И ШтрихкодыУпаковок.Номенклатура <> &ПустаяНоменклатура
|");
СписокЗапросов.Добавить(
ШтрихкодированиеИС.ОпределитьТекстЗапросаСвойстваМаркируемойПродукции());
СписокЗапросов.Добавить(
"ВЫБРАТЬ
| ДанныеШтрихкодовУпаковок.ШтрихкодСсылка КАК ШтрихкодСсылка,
| СвойстваМаркируемойПродукции.ВидПродукции КАК ВидПродукции
|ИЗ
| ДанныеШтрихкодовУпаковок КАК ДанныеШтрихкодовУпаковок
| ЛЕВОЕ СОЕДИНЕНИЕ СвойстваМаркируемойПродукции КАК СвойстваМаркируемойПродукции
| ПО ДанныеШтрихкодовУпаковок.Номенклатура = СвойстваМаркируемойПродукции.Номенклатура",
"ВидыПродукцииПоШтрихкодам");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ШтрихкодыУпаковок", ШтрихкодыУпаковок);
Запрос.УстановитьПараметр("ПустаяНоменклатура", ИнтеграцияИС.ПустоеЗначениеОпределяемогоТипа("Номенклатура"));
РезультатыЗапроса = ИнтеграцияИС.ВыполнитьПакетЗапросов(Запрос, СписокЗапросов, Ложь);
ПоказатьИнтересно начиная с какой платформы данная функция работает РезультатыЗапроса = ИнтеграцияИС.ВыполнитьПакетЗапросов
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот