Имя: Пароль:
1C
1C 7.7
v7: ИТЗ: Итерирование после изменения индекса невозможно!
0 КонецЦикла
 
06.11.13
16:40
Интересная ситуация.
У меня работает а у заказчика - нет. Выдает сабж. 1С++ 3.2.2.5

Немного кода:

ИТЗ.Группировать("ИндГруппировка:Группировка", "Остаток, ...", 1);

Перебор строк ИТЗ и далее:

ИТЗ_1 = ИТЗ.тзПотомки;
                
//тут перебирается ИТЗ_1
потом ее сортируем
ИТЗ_1.Сортировать("ХХХ-,YYY-,ZZZ-");

Потом еще раз делаем то же самое (перебор строк тз потомка, ИТЗ_1), и на ИТЗ_1.ВыбратьСтроки(); ругается

Никто не сталкивался?
1 lamme
 
06.11.13
16:43
версия платформы одна ?
версия 1С++ одна ? доп компоненты для 1С++ одни по версии ?
2 КонецЦикла
 
06.11.13
16:44
Индекс не меняется, не создается и не удаляется
Происходит многократная сортировка одного и того же по разным колонкам
3 КонецЦикла
 
06.11.13
16:45
1С++ одинаковые... про платформу 1С даже не скажу сразу
Ну еще йоксель, формекс... больше никаких доп. компонент :)
4 ADirks
 
06.11.13
16:46
Прям на ВыбратьСтроки() ругается? Странно как-то.
Такое ругательство м.б. только в методах Следующая/Предыдущая.
5 ADirks
 
06.11.13
16:49
... и только в случаях, когда внутри цикла меняешь данные, относящиеся к индексу, или добавляешь/удаляешь строки.
6 КонецЦикла
 
06.11.13
16:51
ой, сорри
на ПолучитьСтроку() конечно
7 КонецЦикла
 
06.11.13
16:52
(5) Оппоньки.. но я меняю данные которые сворачивались (Остаток например), суммовые. А группировка видел какая - Группировка
8 ADirks
 
06.11.13
16:55
а колонки ХХХ,YYY,ZZZ - не меняешь?
9 КонецЦикла
 
06.11.13
16:56
меняю
10 КонецЦикла
 
06.11.13
16:57
Странно, направление куда копать понял, но почему у меня такого нет?
11 ADirks
 
06.11.13
16:59
ну не знаю :)  видимо, не возникает такой ситуации
итератор же инвалидируется при любом перестроении индекса
12 КонецЦикла
 
06.11.13
17:12
Может и не возникает... база не актуальная у меня
Но строк очень много и 100% второй, а то и третий раз где-то проходит изменение колонки суммы и сортировка по ней же
13 sapphire
 
06.11.13
17:15
(0) тебе на форум 1cpp.ru надоть...
14 КонецЦикла
 
06.11.13
17:18
Так тут разработчик :)

Если можно еще... а если убрать колонки из группировки?
Вот так оставить:

ИТЗ.Группировать("ИндГруппировка:Группировка", "FFF", 1);

Просто они не очень критичны, все равно обновляются, иерархия важна.
15 ADirks
 
06.11.13
17:23
(12) чюдес не бывает, сам понимаешь
(14) не поможет, ты же потом всё равно новый индекс строишь

вариантов ровно 2:
либо делать дубли колонок - одни для индекса, другие для изменяемых данных
либо новые данные писать в новую табличку, и далее оперировать с ней
16 КонецЦикла
 
06.11.13
17:26
Да, не поможет, спасипки
17 КонецЦикла
 
06.11.13
17:47
Когда убрал сортировки и оставил изменение данных в колонках (потом есть перебор и Получитьстроку() при выводе значений) -  заработало
Просто надо подумать как без них обойтись (на крайняк выгружать в другую таблицу)