Имя: Пароль:
1C
1C 7.7
v7: 1C++: Connection is busy with results for another hstmt
0 Franchiser
 
гуру
29.08.17
16:11
Нужно перебрать результат выборки из SQL (не выгружая в ТЗ), написал код, ошибка выскакивает на сообщить(), при этом если использовать ВыполнитьИнструкцию() то результат можно увидеть:
rs.открыть(ТекстЗапроса);    

    Если rs.ВыборкаОткрыта()=0 Тогда
        Сообщить("Ошибка открытия выборки");
    КонецЕсли;
    
    
    Пока rs.Конец() = 0 Цикл
    Сообщить("" +rs.Остатки);    
    rs.След();
    КонецЦикла;
1 dezss
 
29.08.17
16:14
а rs.След() сделать перед началом цикла не надо?
2 Franchiser
 
гуру
29.08.17
16:23
Эти варианты так же не работают, не могу достучаться до значения. Values в RS тоже нет.
rs.След();
    Пока rs.Конец() = 0 Цикл
    Сообщить("" +rs.ПолучитьЗначение(1));    
    rs.След();
    КонецЦикла;


    Пока rs.След() = 1 Цикл
    Сообщить("" +rs.ПолучитьЗначение(1));    
    КонецЦикла;
3 dezss
 
29.08.17
16:24
А если вот так?

rs.открыть(ТекстЗапроса);    

    Если rs.ВыборкаОткрыта()=0 Тогда
        Сообщить("Ошибка открытия выборки");
    КонецЕсли;
    
    
    rs.След();
    Пока rs.Конец() = 0 Цикл
    Сообщить("" +rs.Остатки);    
    rs.След();
    КонецЦикла;
4 Franchiser
 
гуру
29.08.17
16:45
вот так заработало - убрал в запросе конструкции вида [МХ $Справочник.МестаХранения]:
rs.ВНачало();
    Пока rs.Конец() = 0 Цикл
    Сообщить("" +rs.ПолучитьЗначение(2));    
    rs.След();
    КонецЦикла;

Но не работает типизация полей: чтобы на выходе получать сразу преобразованное значение ссылки.

Этот метод выдает ошибку:
RS.УстТипыКолонок1С("Справочник.МПЗ,Справочник.Контрагенты,Справочник.МестаХранения,Число,Число,Число,Число,Число");
5 Franchiser
 
гуру
29.08.17
16:48
Ошибка "Данный метод возможно вызывать только после подготовки запроса или открытия курсора"
6 Franchiser
 
гуру
29.08.17
16:52
До этого выполнялись подготавливаемые запросы с созданием большого количества временных таблиц, возможно в этом проблема.
Предполагаю нужно что-то сделать с УстСвойстваКурсора()
7 Franchiser
 
гуру
29.08.17
18:26
При нахождении в цикле получения выборки, ошибка продолжает возникать даже при использовании  
MDW.ЗначениеИзСтрокиБД(11, "Контрагенты", Ид) - замкнутый круг.