МойЗапрос.выполнитьпакет() возвращает все подзапросы как одну строку с колонкой количество

1. olo_lo4 11.01.20 21:56 Сейчас в теме
Что то я запутался немного, подскажите пож

Есть простой запрос с остатками

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
| бит_Дополнительный_2ВидыСубконто.Ссылка КАК Счет
|ПОМЕСТИТЬ Счета
|ИЗ
| ПланСчетов.бит_Дополнительный_2.ВидыСубконто КАК бит_Дополнительный_2ВидыСубконто
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.бит_Дополнительный_2.ВидыСубконто КАК бит_Дополнительный_2ВидыСубконто1
| ПО бит_Дополнительный_2ВидыСубконто.Ссылка = бит_Дополнительный_2ВидыСубконто1.Ссылка
|ГДЕ
| бит_Дополнительный_2ВидыСубконто.ВидСубконто.Наименование = ""Контрагенты""
| И бит_Дополнительный_2ВидыСубконто1.ВидСубконто.Наименование = ""Договоры контрагентов""
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| бит_Дополнительный_2ОстаткиИОбороты.Счет,
| бит_Дополнительный_2ОстаткиИОбороты.Субконто2,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглКонечныйОстатокДт КАК СуммаРеглОстатокДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрКонечныйОстатокДт КАК СуммаУпрОстатокДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглКонечныйОстатокКт КАК СуммаРеглОстатокКт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрКонечныйОстатокКт КАК СуммаУпрОстатокКт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглОборотДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглОборотКт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрОборотДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрОборотКт
|ПОМЕСТИТЬ Т1
|ИЗ
| РегистрБухгалтерии.бит_Дополнительный_2.ОстаткиИОбороты(
| &НаДату1,
| &НаДату2,
| Период,
| ,
| Счет В
| (ВЫБРАТЬ
| Вв.Счет
| ИЗ
| Счета КАК Вв),
| ,
| Организация = &Организация1
| И Субконто1 = &Контрагент1) КАК бит_Дополнительный_2ОстаткиИОбороты
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| бит_Дополнительный_2ОстаткиИОбороты.Счет,
| бит_Дополнительный_2ОстаткиИОбороты.Субконто2,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглКонечныйОстатокДт КАК СуммаРеглОстатокДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрКонечныйОстатокДт КАК СуммаУпрОстатокДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглКонечныйОстатокКт КАК СуммаРеглОстатокКт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрКонечныйОстатокКт КАК СуммаУпрОстатокКт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглОборотДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаРеглОборотКт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрОборотДт,
| бит_Дополнительный_2ОстаткиИОбороты.СуммаУпрОборотКт
|ПОМЕСТИТЬ Т2
|ИЗ
| РегистрБухгалтерии.бит_Дополнительный_2.ОстаткиИОбороты(
| &НаДату1,
| &НаДату2,
| Период,
| ,
| Счет В
| (ВЫБРАТЬ
| Вв.Счет
| ИЗ
| Счета КАК Вв),
| ,
| Организация = &Организация2
| И Субконто1 = &Контрагент2) КАК бит_Дополнительный_2ОстаткиИОбороты
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| Т1.Счет,
| Т1.Субконто2,
| Т1.СуммаРеглОстатокДт,
| Т1.СуммаУпрОстатокДт,
| Т1.СуммаРеглОстатокКт,
| Т1.СуммаУпрОстатокКт,
| Т1.СуммаРеглОборотДт,
| Т1.СуммаРеглОборотКт,
| Т1.СуммаУпрОборотДт,
| Т1.СуммаУпрОборотКт
|ИЗ
| Т1 КАК Т1
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| Т2.Счет,
| Т2.Субконто2,
| Т2.СуммаРеглОстатокДт,
| Т2.СуммаУпрОстатокДт,
| Т2.СуммаРеглОстатокКт,
| Т2.СуммаУпрОстатокКт,
| Т2.СуммаРеглОборотДт,
| Т2.СуммаРеглОборотКт,
| Т2.СуммаУпрОборотДт,
| Т2.СуммаУпрОборотКт
|ИЗ
| Т2 КАК Т2");

так вот если каждый из последних двух подзапросов выполнять по отдельности то все хорошо выполняется и выгружается в ТЗ, а вот в таком виде выгружается как пакет из 2х таблиц, в каждой по 1 строке. и колонка кол-во с данныеми более 0. т.е. это показывает что сами данные то есть.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. olo_lo4 11.01.20 21:57 Сейчас в теме
приходится делать 2 запроса по-отдельности , что не оптимально, хочется разобраться в чем проблема то..
3. olo_lo4 11.01.20 22:08 Сейчас в теме
вот что я имею в виду..
Прикрепленные файлы:
5. spacecraft 12.01.20 11:00 Сейчас в теме
(3) Все верно. Пакет.Получить(1) это второй элемент массива. Соответственно Пакет.Получить(1).Выгрузить() выгружает строку с количеством полученных данных во временной таблице для второго подзапроса.
Для получения данных последних двух подзапросов будут индексы соответственно 3 и 4.
4. starjevschik 12.01.20 10:50 Сейчас в теме
так у него будет номер не 1, а (количество запросов - 1)
а первый - это первая из временных таблиц.
6. TimurD 6 13.01.20 12:23 Сейчас в теме
Я обычно делаю так:

МассивПакетов = Запрос.ВыполнитьПакет();

ТЗ_ПредпоследнийЗапрос = МассивПакетов[МассивПакетов.ВГраница() - 1].Выгрузить();
ТЗ_ПоследнийЗапрос = МассивПакетов[МассивПакетов.ВГраница() ].Выгрузить();
7. user1816391 25.09.23 16:03 Сейчас в теме
(6) а можно ли потом загрузить назад ТЗ_ПоследнийЗапрос в МассивПакетов[МассивПакетов.ВГраница() ]?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот