Имя: Пароль:
1C
 
Бесконечный цикл Выборка.СледующийПоЗначениюПоля()
,
0 laby1
 
15.03.18
10:40
Подскажите, пож-та.

В типовой УПП при сохранении произв. календаря стало уходить в беск. цикл.

РС РегламентированныйПроизводственныйКалендарь модуль набора записей

Процедура ЗаписатьИзТаблицыВРегистр(ТаблицаРегистра,ГодЗаписи) Экспорт

...
Пока Выборка.СледующийПоЗначениюПоля("ГрафикРаботы") Цикл
...

Она проходит все записи, потом дальше начинает с середины проходить, потом снова какой-то кусок, и т. д. до бесконечности. Что это за загадка такая?
1 hhhh
 
15.03.18
10:45
чего-то меняешь в выборке в процессе? Ничего туда внутрь не вставлял?
2 laby1
 
15.03.18
10:46
(1) Вообще ничего. Старая база код такой же и она работает нормально.
3 laby1
 
15.03.18
10:48
А почему они используют СледующийПоЗначениюПоля(), а не Следующий(). В чем там фишка вообще.
4 laby1
 
15.03.18
10:49
наверно исправление базы поможет, посмотрим
5 lodger
 
15.03.18
11:00
(3) перепиши на свой запрос с обходом по группировкам и забудь.
6 laby1
 
15.03.18
11:02
(5) А зачем по группировкам?
7 laby1
 
15.03.18
11:05
Там запрос то:

ВЫБРАТЬ РАЗЛИЧНЫЕ
        ГрафикиРаботыПоВидамВремени.ГрафикРаботы КАК ГрафикРаботы
    ИЗ
        РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
    ГДЕ
        ГрафикиРаботыПоВидамВремени.Месяц МЕЖДУ &НачалоГода И &КонецГода"
8 lodger
 
15.03.18
13:07
(7) тогда зачем вообще "СледующийПоЗначениюПоля"?
сделай просто "Следующий"
9 laby1
 
15.03.18
13:26
(8) Сделал. Результат тот же - после последнего элемента выборке переходит опять куда-то в середину. Фантастика!
10 lodger
 
15.03.18
13:29
(9) даст ис фантастишь!
11 Franchiser
 
гуру
15.03.18
14:01
Выборка.Количество() что говорит?
12 laby1
 
27.03.18
15:44
(11) Число говорило типа 260. Заменил на цикл для каждого по таблице значений, заработало :)
13 Lexey_
 
27.03.18
15:45
(9) Сбросить() есть в коде?
14 Lexey_
 
27.03.18
15:47
(9) или в СледующийПоЗначениюПоля(<ИмяПоля>) ИмяПоля меняется?
15 laby1
 
27.03.18
16:01
(13) Нет (14) Не меняется там строка Пока Выборка.СледующийПоЗначениюПоля("ГрафикРаботы") Цикл

Выборка.Следующий() - результат тот же
16 Timon1405
 
27.03.18
16:08
Выборка.Следующий() в табло отладчка есть? уберите
17 Малыш Джон
 
27.03.18
16:34
(0) А что там в цикле? Код - в студию.