Имя: Пароль:
1C
1С v8
Управляемые формы. Таблица формы
0 DrLivsey
 
24.02.12
01:41
Обработка. У формы обработки есть реквизит "Страницы", тип значения - таблица значений. Надо прочитать значение в одной из колонок текущей строки.

Код 1С:

&НаКлиенте

МоёЗначение = Страницы[Элементы.Страницы.ТекущаяСтрока].ИмяКолонки;

При первом заполнении таблицы Страницы всё работает. Очищаю таблицу. Опять заполняю. Не работает. Ошибка "Индекс находится за границами массива".

Начинаю разбираться.
Количество строк с ТЗ Страницы Страницы.Количество() = 10

При первом заполнении для первой строки
Элементы.Страницы.ТекущаяСтрока = 0, всё верно, первая строка.

Второе заполнение, очищаю, добавляю опять 10 строк.
Элементы.Страницы.ТекущаяСтрока = 10, глюк, не сбросилось индексирование строк и нумерация строк началась с 10?

третье заполнение, очищаю, добавляю опять 10 строк.
Элементы.Страницы.ТекущаяСтрока = 20, глюк, не сбросилось индексирование строк и нумерация строк началась с 20?
1 GROOVY
 
24.02.12
01:47
Может не глюк? Может к данным обратиться надо?
2 sanja26
 
24.02.12
01:49
(1) и как тек. данные определить?
3 DrLivsey
 
24.02.12
01:53
(1) к данным чего обратиться?
4 sanja26
 
24.02.12
01:53
тз-то наверно не с потолка взялась..
5 GROOVY
 
24.02.12
01:53
Обратиться по индексу к реквизиту "ТЗ".
6 GROOVY
 
24.02.12
01:54
Кстати, "текущаяСтрока" - это не индекс.
7 GROOVY
 
24.02.12
01:58
Короче не раз уже обсуждалось, вот http://www.google.ru/search?q=текущаяСтрока+индек в помощь...
ЗЫ: Не надо каждый раз пенять на глюки платформы, сначала разберитесь что к чему.
8 DrLivsey
 
24.02.12
02:02
Спасибо, изменил на

МоёЗначение =  Страницы.НайтиПоИдентификатору(Элементы.Страницы.ТекущаяСтрока).ИмяКолонки;

Всё заработало.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший