|
Итератор для значения не определен | ☑ | ||
---|---|---|---|---|
0
Vvvvv
21.07.14
✎
15:12
|
Написал код, для изменения пароля пользователя ИБ
Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей(); Для Каждого П из Пользователи Цикл Если Найти(ВРЕГ(П.Имя),"АДМИНИСТРАТОР") > 0 Тогда П.Пароль = "12345"; П.Записать(); Сообщить("У пользователя: " + СокрЛП(П.Имя) + " изменен пароль"); КонецЕсли; КонецЦикла; У меня две обработки, в одной он работает, а в другой нет. Пишет ошибку: "Итератор для значения не определен" Что это за ошибка? |
|||
1
GROOVY
21.07.14
✎
15:14
|
Данный метод доступен пользователям, имеющим административные права.
|
|||
2
Wobland
21.07.14
✎
15:14
|
а это когда не определён итератор значения для. хня какая-то от ПолучитьПользователей() получается
|
|||
3
Vvvvv
21.07.14
✎
15:15
|
(1) я под администратором
|
|||
4
Wobland
21.07.14
✎
15:15
|
(3) ты это платформе расскажи
|
|||
5
Fish
21.07.14
✎
15:16
|
(3) В отладчике твои "пользователи" чему равно?
|
|||
6
anatoly
21.07.14
✎
15:19
|
в какой именно строке ошибка то?
|
|||
7
Vvvvv
21.07.14
✎
15:20
|
ошибка в этой строке
Для Каждого П из Пользователи Цикл |
|||
8
Fish
21.07.14
✎
15:21
|
(6) Так это из текста ошибки понятно :))
|
|||
9
Fish
21.07.14
✎
15:22
|
(7) Так чему равно "Пользователи"?
|
|||
10
Vvvvv
21.07.14
✎
15:24
|
(9)Значение - пустое
Тип - СправочникСсылка.Пользователи |
|||
11
Wobland
21.07.14
✎
15:25
|
(10) можешь не благодарить
|
|||
12
Vvvvv
21.07.14
✎
15:27
|
(11) а в чем ответ?
|
|||
13
Один С
21.07.14
✎
15:28
|
воттак будет работать..
Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей(); Если Пользователи.Количество()>0 Тогда Для Каждого П из Пользователи Цикл Если Найти(ВРЕГ(П.Имя),"АДМИНИСТРАТОР") > 0 Тогда П.Пароль = "12345"; П.Записать(); Сообщить("У пользователя: " + СокрЛП(П.Имя) + " изменен пароль"); КонецЕсли; КонецЦикла; КонецЕсли; |
|||
14
Fish
21.07.14
✎
15:29
|
(13) У ТС так тоже не заработает. См. (10)
|
|||
15
Wobland
21.07.14
✎
15:29
|
(12) в том, что получается (2). возможно из-за (1)
|
|||
16
Wobland
21.07.14
✎
15:30
|
+(15) но скорей всего ты просто врёшь
|
|||
17
Fish
21.07.14
✎
15:31
|
(10) А теперь читаем СП и много думаем:
"ПолучитьПользователей (GetUsers) Синтаксис: ПолучитьПользователей() Возвращаемое значение: Тип: Массив. " |
|||
18
Vvvvv
21.07.14
✎
15:32
|
(13) метод объекта не обнаружен (Количество)
|
|||
19
le_
21.07.14
✎
15:32
|
(10) А так:
Пользователи_ = ПользователиИнформационнойБазы.ПолучитьПользователей();
? |
|||
20
anatoly
21.07.14
✎
15:35
|
(18) если (10) то правильнее:
Если НЕ Пользователи.Пустая() |
|||
21
Vvvvv
21.07.14
✎
15:37
|
(19) а так работает
В чем прикол? Только изменили "Пользователи", на "Пользователи_" |
|||
22
Fish
21.07.14
✎
15:38
|
(21) Прикол в том, что у тебя видимо есть реквизит с именем Пользователи и типом СправочникСсылка.Пользователи
|
|||
23
le_
21.07.14
✎
15:40
|
||||
24
vde69
21.07.14
✎
15:42
|
(22) скорее общий модуль "Пользователи"
|
|||
25
Один С
21.07.14
✎
15:43
|
(19) Бинго! В этом туре побеждает le_ ! Продолжаем заседание телепатов..
|
|||
26
Fish
21.07.14
✎
15:43
|
(24) См. (10)
|
|||
27
Infsams654
21.07.14
✎
15:48
|
(26) не, прав (24). Мало того, если был еще реквизит Пользователи ?
Короче, 1С во видимости переменных - совсем хромой |
|||
28
MUXACb
21.07.14
✎
16:00
|
В ЗУП "Пользователи" - общий модуль
|
|||
29
Fish
21.07.14
✎
16:48
|
(27) (28) Сразу видно не читатели. Читаем (10) по слогам и отвечаем на вопрос: какой может быть тип у общего модуля? :))
|
|||
30
Maxus43
21.07.14
✎
17:28
|
я вот для переменных в коде часто юзаю мПользователи и прочие, как указание что это переменная модуля, в типовых тоже так делают. Не надо лишней путанницы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |