Имя: Пароль:
1C
1С v8
Почему возникает ошибка?
0 Ночной Эльф
 
10.09.12
13:36
Всем доброго времени суток.

Изучаю 1с 8.1 по статье интуита http://www.intuit.ru/department/se/base1cdev/6/2.html вобщем ситуация такая что берется из регистра сумма и количество остатка и по ним вычисляется средняя цена вот код

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

так у меня выдает ошибку в строке ТекСтрокаТабОстатков = ТабОстатков.Получить(0); как так? почему?

Ведь в самой статье написано что начинается с 0 нумерация?
платформа 1С:Предприятие 8.1 (8.1.15.14) что не так ?
1 Ночной Эльф
 
10.09.12
13:36
кстати ошибка вот такая {Документ.ОтпускМатериаловМастеру.Форма.ФормаДокумента(9)}: Ошибка при вызове метода контекста (Получить): Значение индекса выходит за границы диапазона
       ТекСтрокаТабОстатков = ТабОстатков.Получить(1);        
по причине:
Значение индекса выходит за границы диапазона
2 Ночной Эльф
 
10.09.12
13:38
это ошибка когда попробовал поставить ТекСтрокаТабОстатков = ТабОстатков.Получить(1); и также вылезает ошибка и при ТекСтрокаТабОстатков = ТабОстатков.Получить(0);
3 Бледно Золотистый
 
10.09.12
13:39
ТабОстатков значит пустая.
Независимо от того, куда вы едете — это в гору и против ветра!