Вход | Регистрация


Значение индекса выходит за границы диапазона

Значение индекса выходит за границы диапазона
Я
   1ctube
 
28.04.18 - 09:05
День добрый. Есть такой код:

ПоследняяСтрока = ТабДокумент.ВысотаТаблицы;
    ПоследняяКолонка = ТабДокумент.ШиринаТаблицы;
    ОбластьЯчеек = ТабДокумент.Область(1, 1, ПоследняяСтрока, ПоследняяКолонка);
    
    ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьЯчеек);
        
    ПостроительОтчета = Новый ПостроительОтчета;    
    ПостроительОтчета.ИсточникДанных = ИсточникДанных;
    ПостроительОтчета.Выполнить();
    
    // Результат выгружаем в таблицу значений.

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

В табличный документ вставляю данные из экселя в первую колонку, и при выполнении пишет "Значение индекса выходит за границы диапазона", как это исправить? Может в коде допустил ошибку? И может ли это из-за того, что в колонке в экселе указан тип "Общий"
 
 
   catena
 
1 - 28.04.18 - 09:08
Почему "1"-то?
   1ctube
 
2 - 28.04.18 - 09:10
(1) потому что я вставляю в первую колонку и в первую ячейку
   catena
 
3 - 28.04.18 - 09:12
А с каких пор у нас строки символами нумеруются?
   1ctube
 
4 - 28.04.18 - 09:17
(3) ааа, спасибо огромное за наводку, нужно с нуля искать)
   1ctube
 
5 - 28.04.18 - 09:31
А еще вопрос: если я вставляю в другую колонку данные, например в 5, то пишет снова ошибка  "Значение индекса выходит за границы диапазона",
Вот код:
КодОС = Справочники.ОсновныеСредства.НайтиПоКоду(ТЗ.Получить("0"));
            КодПоОКОФ = Справочники.ОбщероссийскийКлассификаторОсновныхФондов.НайтиПоКоду(ТЗ.Получить("4"));            
            Сообщить(КодОС);
            Сообщить(КодПоОКОФ);
   Ненавижу 1С
 
6 - 28.04.18 - 10:02
нах... символы в индекс совать?
   catena
 
7 - 28.04.18 - 10:49
(4)Видимо не понятно. Разницу между "5" и 5 не видишь?
   DrZombi
 
8 - 28.04.18 - 10:55
(0) Что такое .Получить("1")?
   DrZombi
 
9 - 28.04.18 - 10:56
(5) Как самое правильное, воспользуйся отладкой.
   АнализДанных
 
10 - 28.04.18 - 11:11
(5) Есть строка "5", есть число 5. Убери кавычки.
 
 Рекламное место пустует
   Сияющий в темноте
 
11 - 28.04.18 - 11:48
Самое печальное,что написанную строку с числом внутри 1с резво переведет в число и даже не вякнет
   Valkyrie
 
12 - 28.04.18 - 11:55
А область разве не так получается?
ПрямоугольнаяОбластьЯчеек = ТабДок.Область("R2C2:R3C5");

(с) СП
   Михаил Козлов
 
13 - 28.04.18 - 12:18
(12) Можно и по номерам строк и столбцов
   hhhh
 
14 - 28.04.18 - 12:21
(12) можно так ТабДок.Область(2, 2, 3, 5)

покошернее

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует