|
Неверные значения выбранной строки | ☑ | ||
---|---|---|---|---|
0
Bukasoid
05.12.15
✎
00:24
|
Есть форма справочника, в ней табличная часть с таблицей значений. При двойном щелчке на строку открывается форма элемента другого справочника. Заношу изменения, закрываю, все обновляется, но при повторном выборе этой строки выскакивает ошибка "Индекс находится за пределами массива", в параметр "ВыбраннаяСтрока" обработчика события Выбор передается № выбранной строки + кол-во строк(т.е. если в таблице 2 строки, то первый раз передастся 0, а при повторном выборе той же строки - 2)
Подскажите, в чем может быть проблема? Пробовал очищать таблицу перед повторным заполнением - не помогает. P.S. Извиняюсь за корявое объяснение |
|||
1
Bukasoid
05.12.15
✎
00:26
|
Вот кусок кода с обработчиками:
&НаСервере Процедура ОбновитьСправки(Значение = Неопределено, Параметры = Неопределено) Запрос = Новый Запрос("ВЫБРАТЬ | Справки.Ссылка, | Справки.ДатаНач, | Справки.ДатаКон |ИЗ | Справочник.Справки КАК Справки |ГДЕ | Справки.ФизЛицо = &ФизЛицо"); Запрос.УстановитьПараметр("ФизЛицо", Объект.Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Счетчик = 0; Справки.Очистить(); ЭтаФорма.Справки.Очистить(); Пока Выборка.Следующий() Цикл Счетчик = Счетчик + 1; СтрокаТЗ = Справки.Добавить(); СтрокаТЗ.Номер = Счетчик; СтрокаТЗ.ДатаНач = Выборка.ДатаНач; СтрокаТЗ.ДатаКон = Выборка.ДатаКон; СтрокаТЗ.Ссылка = Выборка.Ссылка; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура СправкиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыФормы = Новый Структура("Ключ",ЭтаФорма.Справки[ВыбраннаяСтрока].Ссылка) ; Форма = ПолучитьФорму("Справочник.Справки.ФормаОбъекта", ПараметрыФормы); Форма.ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ОбновитьСправки", ЭтаФорма); Форма.Открыть(); КонецПроцедуры |
|||
2
Сергиус
05.12.15
✎
00:43
|
(0)У тебя в форме ТЧ какого справочника? Справки или другого?
|
|||
3
Сергиус
05.12.15
✎
00:48
|
+(2)А вообще, скорее всего проблема вот в этом месте:
ЭтаФорма.Справки[ВыбраннаяСтрока], т.к. ВыбраннаяСтрока это не индекс строки, а ее идентификатор. Т.е. надо использовать ЭтаФорма.Справки.НайтиПоИдентификатору(ВыбраннаяСтрока). |
|||
4
Bukasoid
05.12.15
✎
22:23
|
(3) Спасибо, проблема решилась
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |