Имя: Пароль:
1C
1С v8
Растёт индекс строки
0 Novicadmin
 
18.07.14
10:44
Должно ли быть так

У объекта есть ТЗ, разместил её на форме (УФ)
ТЗ заполняется при изменении элемента формы, перед заполнение ОБъект.ТЗ.Очистить();

в результате каждый раз когда я изменяю элемент ТЗ перезаполняется нормально, но вот индекс строки постоянно растёт, что не так? разве так должно быть? т.е. после, так скажем трёх изменение индекс первой строки на форме = не 0, а 1000.
1 ДенисЧ
 
18.07.14
10:44
Да, так и должно быть.
2 Asmody
 
18.07.14
10:44
так и должно быть. Индекс строки  — это не номер.
3 Novicadmin
 
18.07.14
10:45
а как то можно изменить ход событий, мне бы хотелось чтобы индекс первой строки был равен 0 всегда после очитски
4 ДенисЧ
 
18.07.14
10:48
(3) Тебе это не надо.
5 Novicadmin
 
18.07.14
10:48
Процедура ТоварыДляЗаявкиВыбор(Элемент, СтрокаТовара, Поле, СтандартнаяОбработка)
    Количество = 1;
    Если ВвестиЧисло(Количество, "Введите количество", 10, 3) Тогда
        СтрокаЗаказа = Объект.ТоварыЗаявка.Добавить();
        Товар = объект.ТоварыДляЗаявки.Получить(СтрокаТовара);
        СтрокаЗаказа.Товар = Товар.Товар;
        СтрокаЗаказа.КолВо = Количество;
    КонецЕсли;
КонецПроцедуры

процедура изначально робит отлично, но после очистки, перезаполнения выдаёт

{Форма.ФормаДляМагазина.Форма(34)}: Ошибка при вызове метода контекста (Получить)
        Товар = объект.ТоварыДляЗаявки.Получить(СтрокаТовара);
по причине:
Недопустимое значение параметра (параметр номер '1')

Хотя параметр равен числу(индекс)
6 ДенисЧ
 
18.07.14
10:49
(5) Не надо по индексу искать, надо по идентификатору.
В общем - читай литературу по УФ, там это расписано
7 Novicadmin
 
18.07.14
10:50
(6) хех
8 Novicadmin
 
18.07.14
10:53
(6) огромное тебе спасибо, действительно НайтиПоИдентификатору отлично отрабатывает ))))
9 Defender aka LINN
 
18.07.14
10:55
(0) Учу отличать индекс от идентификатора, дорого.
10 Novicadmin
 
18.07.14
10:58
(9) )))))))))))))