Имя: Пароль:
1C
 
Ошибка времени выполнения
0 Segate
 
08.05.15
13:05
Выборка = Справочники.ПодразделенияОрганизаций.Выбрать();

Подр = новый Структура;
Пока Выборка.Следующий() цикл
    Подр.вставить(УбратьЛишниеСимволы(Выборка.Наименование),Выборка.Ссылка);
КонецЦикла;

НУжно сформировать структуру из подразделения и его имени(из которого убрано все лишнее)
На одном из подразделений все падает. В соседней базе все отрабатывает без проблем. Куда копать?

ЗЫ база клиент-серверная, Функция "УбратьЛишниеСимволы" отрабатывает нормально, говорит отладчик.
1 Segate
 
08.05.15
13:09
2 vicof
 
08.05.15
13:13
по-моему отладчик падает на строке 1757
3 Segate
 
08.05.15
13:20
(2) Ты просто гений
4 vicof
 
08.05.15
13:25
(3) Я знаю. А ты похоже остановку по ошибке не можешь сделать.
5 Segate
 
08.05.15
13:51
(4) а ты думаешь как я этот скрин извлек?

Я привел тебе пример кода:

Подр = новый Структура;
Пока Выборка.Следующий() цикл
    Ключ =УбратьЛишниеСимволы(Выборка.Наименование); ///Ключ на выходе тип строка.
    Значение =Выборка.Ссылка;                       /// Значение тип справочник ссылка подразделение
    Подр.вставить(Ключ,Значение);                   /// это строка 1758, на ней все падает. при чем на одном конкретном подразделении. Остановка по ошибке дает именно такой результат, который показан на скрине. Я с такой ошибкой сталкиваюсь в первый раз. В конфигурации с такой же точно структурой, все отрабатывает без проблем.
КонецЦикла;
6 ДенисЧ
 
08.05.15
13:51
Значит в строке Ключ корявые данные, например, непечатные символы
7 Segate
 
08.05.15
13:54
(6)из строки Ключ убраны все символы, кроме букв рус/лат и цифр. Вот по такой маске:ПравильныеСимволы="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю1234567890")

Так что тоже не вариант...
8 hhhh
 
08.05.15
13:54
(7) цифры тоже убирай. Зачем цифры туда запендюрил?
9 ДенисЧ
 
08.05.15
13:55
похоже, таки черепашка...
10 Segate
 
08.05.15
13:56
(8) потому что подразделение имеет название по адресу. И на одной улице может быть несколько подразделений... так что цифры нужны
11 vde69
 
08.05.15
13:57
вставь перед этой строкой

сообщить(типЗнч(Ключ));
сообщить(типЗнч(Значение))


есть подозрение на null
12 hhhh
 
08.05.15
13:57
(10) тогда чего удивляешься? Хотя бы сделай тогда

Подр.вставить("Поле" + УбратьЛишниеСимволы(Выборка.Наименование),Выборка.Ссылка);
13 H A D G E H O G s
 
08.05.15
14:01
Цифры впереди букоф.
15 vde69
 
08.05.15
14:03
Ключ ="_"+УбратьЛишниеСимволы(Выборка.Наименование);
16 Segate
 
08.05.15
14:10
(11)http://s45.radikal.ru/i109/1505/71/ce3d3e6366a7.jpg

Тип: "Самключ"
Тип: "СамоЗначение"

падает именно на этом подразделении
17 ДенисЧ
 
08.05.15
14:10
(16) у тебя ключ на цифру начинается. О чём тебе уже долго твердят.
18 H A D G E H O G s
 
08.05.15
14:14
Нельзя в Структуру много данных писать.
19 Segate
 
08.05.15
14:18
(17) Пятница дает о себе знать... читал сп, но почему то не придал значение...
(13),(15)Все решилось, спасибо всем.

(18) там не сильно много много.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший