Здравствуйте, пытаюсь получить данные из базы postgresql. Вылезает ошибка Ошибка: по причине: Произошла исключительная ситуация (ADODB.Connection): Операция не допускается, если объект закрыт.. Нашел тут на форуме тему, но в моем случае ошибка не в строке подключения (пробовал небольшой запрос отправлять - он работает корректно). Проверял свой запрос на питоне - работает, данные приходят. Думал ошибка из-за пробела в названиях получаемых полей, убрал пробелы - не взлетело (select my_db.name_company "Название фирмы" заменил на "НазваниеФирмы", как пример). Подскажите, пожалуйста, что еще можно попробовать сделать?
---
С with такая же ошибка вышла
(1) Ошибка: по причине: Произошла исключительная ситуация (ADODB.Connection): Операция не допускается, если объект закрыт.. Добавил запрос в соединение к основному запросу, заработало.
```1c
    |left join (sel ect
    | to_number(split_part(rt.rp_id, ',', 2), 'L9G999g999.99') "rp_id",
    | rt.id "rt_id",
    | rt.partner_id "rt_partner_id",
    | to_number(split_part(rt.value, ',', 2), 'L9G999g999.99') "b_id"
    |from
    | rt_table rt
    |where
    | rt.name = 'Списания ДС'
    |group by
    | to_number(split_part(rt.rp_id, ',', 2), 'L9G999g999.99'),
    | rt.id,
    | rt.partner_id,
    | to_number(split_part(rt.value, ',', 2), 'L9G999g999.99')) tempTable
    |on .........
```
---
С with такая же ошибка вышла
(1) Ошибка: по причине: Произошла исключительная ситуация (ADODB.Connection): Операция не допускается, если объект закрыт.. Добавил запрос в соединение к основному запросу, заработало.
```1c
    |left join (sel ect
    | to_number(split_part(rt.rp_id, ',', 2), 'L9G999g999.99') "rp_id",
    | rt.id "rt_id",
    | rt.partner_id "rt_partner_id",
    | to_number(split_part(rt.value, ',', 2), 'L9G999g999.99') "b_id"
    |from
    | rt_table rt
    |where
    | rt.name = 'Списания ДС'
    |group by
    | to_number(split_part(rt.rp_id, ',', 2), 'L9G999g999.99'),
    | rt.id,
    | rt.partner_id,
    | to_number(split_part(rt.value, ',', 2), 'L9G999g999.99')) tempTable
    |on .........
```
---
Нашел в чем проблема. У меня в начале запроса создается временная таблица, из-за нее приходит 0 в Fields.Count. Возможно ли это обойти(может неправильно написал текст запроса)? Или только переносить временную таблицу в соединения в запросе?
```1c
    НаборЗаписей = Новый ComObject("ADODB.RecordSet");
    Команда = Новый COMОбъект("ADODB.Command");
    Попытка
    Команда.ActiveConnection = Connection;
    Команда.CommandText = ПолучитьТекстЗапроса();
    НаборЗаписей = Команда.Execute();
    Исключение
    Сообщить("Нет данных.");
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;

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

    Для НомерСтолбца = 0 По НаборЗаписей.Fields.Count - 1 Цикл
    ИмяСтолбца = НаборЗаписей.Fields.Item(НомерСтолбца).Name;
    ТаблицаДанных .Колонки.Добавить(ИмяСтолбца);
    КонецЦикла;
```
 Текст запроса прикладываю
```1c
    "Create temporary table temp_Table as(sel ect
    | to_number(split_part(rt.rp_id, ',', 2), 'L9G999g999.99') "rp_id",
    | rt.id "rt_id",
    | rt.partner_id "rt_partner_id",
    | to_number(split_part(rt.value, ',', 2), 'L9G999g999.99') "b_id"
    |from
    | rt_table rt
    |where
    | rt.name = 'Списания ДС'
    |group by
    | to_number(split_part(rt.rp_id, ',', 2), 'L9G999g999.99'),
    | rt.id,
    | rt.partner_id,
    | to_number(split_part(rt.value, ',', 2), 'L9G999g999.99'));
    |select * fr om temp_Table";
```
---
А обязательно прям "temporary table" создавать?
Может простым with обойтись?

https://onecompiler.com/postgresql/42jn5njjw