Хм. Вскрылись подробности. Реально есть два факта, которые сначала показались чем-то третьим :
1. На счет неоткрытой выборки -- сравнил с ТЗ, там поведение такое же.
То есть без тз.ВыбратьСтроки() вызов тз.ПолучитьСтроку() сразу вернет ноль, будто-бы в выборке пусто, хотя она просто не открыта. Не знаю, стоит ли менять это поведение ИТЗ, хоть и кривое по логике, но совпадающее с поведением ТЗ.
2. Для ИТЗ выборка по основному индексу, при прохождении одного цикла, не заканчивается полностью, а лишь делает паузу на один вызов ПолучитьСтроку().
То есть, если у меня где-либо выше уже был ИТЗ.ВыбратьСтроки() (
без параметра), то теперь я могу выполнить неограниченное количество отдельных циклов по основному индексу. То есть работает такой код
ИТЗ.ВыбратьСтроки(); // без параметра
Пока ( итз.ПолучитьСтроку() = 1 ) Цикл
// трам-пам-пам 1
КонецЦикла;
Пока ( итз.ПолучитьСтроку() = 1 ) Цикл
// трам-пам-пам 2
КонецЦикла;
Пока ( итз.ПолучитьСтроку() = 1 ) Цикл
// трам-пам-пам 3 ...
КонецЦикла;
Второй случай - зарегал в багзилле
http://www.1cpp.ru/bugs/show_bug.cgi?id=4240Так что выше в топике ситуация получилась такая - где-то раньше по алгоритму случился цикл по основному индексу, который отработал. Потом я открыл выборку по созданному индексу, но этой выборкой не воспользовался (по ошибке), и получил снова выборку по основному, чего ни как не ожидал...