Имя: Пароль:
1C
1С v8
Итератор для значения не определен
,
0 Gam_007
 
24.06.14
10:24
Подскажите что не так!!! Уже всю голову сломал...


Пишу код:
Пока Выборка.Следующий() Цикл
        
  Для Каждого Совет Из СоветыДня Цикл
        
   Если Выборка.Совет = Совет001 Тогда
     продолжить;
   иначе    
     Форма1=ПолучитьОбщуюФорму("Форма");
     Форма1.Открыть();
              
    прервать;
               
     КонецЕсли;               
КонецЦикла;


он выдает так:
{МодульОбычногоПриложения(100)}: Итератор для значения не определен
    Для Каждого Совет Из СоветыДня Цикл
1 Maxus43
 
24.06.14
10:24
В СоветыДня у тебя ничего нет
2 Irbis
 
24.06.14
10:24
(0) И какое слово в сообщение непонятно?
3 Gam_007
 
24.06.14
10:25
СоветыДня = Справочники.СоветыДня.Выбрать();

СоветДня присвоен выше
4 kosts
 
24.06.14
10:26
(0) Выложи весь код.
(3) Для выборки не используется цикл Для каждого. Вроде
5 Maxus43
 
24.06.14
10:26
(3) ну дак Пока СоветыДня.Слкдующий() Тогда

при чем тут цикл Для каждого? если это выборка
6 Maxus43
 
24.06.14
10:27
у тебя всё перемешалось в голове просто, СП читай
7 kosts
 
24.06.14
10:28
Возьми за правило использовать запросы. Не желательно так делать:
СоветыДня = Справочники.СоветыДня.Выбрать();
8 Любопытная
 
24.06.14
10:31
(7) Почему не желательно?
Чем это отличается от "ВЫБРАТЬ СоветыДня.Ссылка КАК СоветДня ИЗ Справочник.СоветыДня"?
9 Gam_007
 
24.06.14
10:31
а не подскажеш как лучше?
10 Aleksey
 
24.06.14
10:31
(7) Твои слова, да разработчикам 1С в уши. А то блин из-за этого их же типовые механизмы RLS выдают ошибки
11 Aleksey
 
24.06.14
10:32
(8) В ключевом слове РАЗРЕШЕННЫЕ
12 Aleksey
 
24.06.14
10:32
Т.е. если у тебя стоит ограничения на чтения советов, то выборка будет падать с ошибкой
13 Любопытная
 
24.06.14
10:33
(11) (12) Спасибоо :)
14 dj_serega
 
24.06.14
10:33
(8) И отборов меньше наложить можно. И общее количество можно узнать, и погруппировать можно.
15 dj_serega
 
24.06.14
10:34
+ (14) имел ввиду про "больше" отборов :)
16 Irbis
 
24.06.14
10:34
(11) Это частности, а если в выборке пара десятков тысяч элементов. Так разница будет существенная.
17 User_Agronom
 
24.06.14
10:35
(3) Поставь на эту строку точку прерывания и глянь что за тип у переменной.
18 Shurjk
 
24.06.14
10:36
Вообще то между выборкой и запросом есть существенная разница, они по разному работают.
19 DS
 
24.06.14
10:45
(18) Т. е. выборка не в запрос превращается?
20 Shurjk
 
24.06.14
10:45
(19) Нет
21 DS
 
24.06.14
10:49
(20) ?
22 Shurjk
 
24.06.14
10:52
(21) В запросе результат получается сразу и весь загружается в память.
23 Любопытная
 
24.06.14
10:53
(18)Вот эта мысль мне более любопытна, чем всяческие РАЗРЕШЕННЫЕ.  Понятно, что в запросе вроде как удобнее накладывать всяческие отборы и сортировки. Но в случае, когда нужно просто тупо перебрать весь справочник, есть ли существенный смысл городить огород с запросами, если можно просто выборкой выбрать?
24 Aleksey
 
24.06.14
10:54
(23) Ну если у тебя один человек в нетленке работает и там нет RLS
25 Shurjk
 
24.06.14
10:54
(23) Правильней выборкой. Особенно если выборка достаточно большая. Во первых память не так засирается, во вторых нормально отрабатываются ситуации когда к примеру элемент во время работы цикла удалили.
26 Shurjk
 
24.06.14
10:56
(24) Вообще често говоря с трудом представляю рабочую ситуацию в которой может понадобиться подобная выборка, чаще всего это какие то служебные функции.
27 Любопытная
 
24.06.14
10:57
(24) Я же говорю о конкретной достаточно ситуации: разовая обработка какой-нить фигни. Редко, по-моему, встречаются ситуации, когда надо лопатить целый справочник с завидной регулярностью.
28 Любопытная
 
24.06.14
10:57
(25) Спасибо за разъяснения :)