Имя: Пароль:
1C
1С v8
Получение элемента по индексу для значения не определено
0 FuriKuri
 
17.07.13
14:32
Тоникий клиент. В процедуре есть такой код

   МетаданныеДокумента = ДокументСсылка.Метаданные();
   СписокРеквизитов = Новый СписокЗначений;
   
   Для Каждого Реквизит ИЗ МетаданныеДокумента.Реквизиты Цикл
       ТипыРеквизита = Реквизит.Тип.Типы();
       Для Каждого ТекущийТип ИЗ ТипыРеквизита Цикл
           МетаданныеРеквизита = Метаданные.НайтиПоТипу(ТекущийТип);
                   
           Если МетаданныеРеквизита<>Неопределено И Метаданные.Документы.Содержит(МетаданныеРеквизита)
                И ПравоДоступа("Чтение", МетаданныеРеквизита) Тогда
               Попытка
                   ЗначениеРеквизита = ДокументСсылка[Реквизит.Имя];
               Исключение
                   Прервать;
               КонецПопытки;
               ЕСли ЗначениеРеквизита<>Неопределено  
                   И НЕ ЗначениеРеквизита.Пустая()
                   И ТипЗнч(ЗначениеРеквизита) = ТекущийТип  
                   И мУжеВСписке[ЗначениеРеквизита] = Неопределено
                   И СписокРеквизитов.НайтиПоЗначению(ДокументСсылка[Реквизит.Имя]) = Неопределено Тогда
                   Попытка
                       СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ЗначениеРеквизита.Дата,"ДФ=yyyyMMddЧЧММсс"));
                   Исключение
                        ОтладкаТекстОшибки = ОписаниеОшибки();
                   КонецПопытки;    
               КонецЕсли;
           КонецЕсли;            
       КонецЦикла;
   КонецЦикла;


И при выолнении вылазит ошибка
Получение элемента по индексу для значения не определено
               ЕСли ЗначениеРеквизита<>Неопределено

перебирал отладчиком, некоторые элементы нормально проходит, а где-то на одном стопарится. Что это за ошибка и что с ней делать?
1 drcrasher
 
17.07.13
14:33
плохо перебирал.
перебирай ещё.
2 ДенисЧ
 
17.07.13
14:33
Во первых, ты неправильно строку указал
А вовторых, смотри, что у тебя в Реквизит.Имя
3 FuriKuri
 
17.07.13
14:35
(2)  Какую строку?
4 Euguln
 
17.07.13
14:36
мУжеВСписке или ДокументСсылка не то, что должно быть
5 Euguln
 
17.07.13
14:37
Скорее всего проблема здесь:
мУжеВСписке[ЗначениеРеквизита] = Неопределено
6 FuriKuri
 
17.07.13
14:44
(5) если я уберу эти строки

  И НЕ ЗначениеРеквизита.Пустая()
                   И ТипЗнч(ЗначениеРеквизита) = ТекущийТип  
                   И мУжеВСписке[ЗначениеРеквизита] = Неопределено
                   И СписокРеквизитов.НайтиПоЗначению(ДокументСсылка[Реквизит.Имя]) = Неопределено Тогда
то всеравно выдает отсавшуюся одну с тойже ошибкой. Это гдето ошибка в "Значение реквизита" только не могу понять в чем там ошибка
7 Поросенок Петр
 
17.07.13
15:13
Гм. А потом ругают "попытку"...
8 FuriKuri
 
17.07.13
15:19
(7) С попыткой такая же ошибка