Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:12

Значение параметра "ВыбраннаяСтрока" в событии Выбор Табличного поля.

Автор Katish, 08 дек 2013, 09:38

0 Пользователей и 1 гость просматривают эту тему.

Katish

Добрый день! Помогите решить проблему.


Есть у меня на одной из форм табличное поле Группы.
Я хочу, чтобы при двойном щелчке по строке происходило открытие документа Группа (одна из колонок таблицы).
На событие Выбор закрепляю процедуру:



Процедура ГруппыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

ОткрытьЗначение(Объект.Группы[ВыбраннаяСтрока].Группа);
КонецПроцедуры



Вроде бы всё нормально, но если пытаться кликнуть на одной из строк после очистки и повторного заполнения таблицы, то выходит ошибка:



{Обработка.ПриказЗачислениеОкончание.Форма.Форма.Форма(106)}: Индекс находится за границами массива

ОткрытьЗначение(Объект.Группы[ВыбраннаяСтрока].Группа);



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


Объект.Группы.Очистить();


а потом снова заполнить табличное поле, то при клике на первую строку, значение параметра "ВыбраннаяСтрока" = 3, хотя поля "Номер строки", отображаются весьма корректно, то есть на самом деле это строка 1.


Получается, что на параметр ВыбраннаяСтрока нельзя опираться. Как мне осуществить задуманное - открывать документ по клику на строке табличного поля?

LordWizard

Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Новенькая

а если так попробовать:

Процедура ГруппыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   
   Если Элемент.ТекущиеДанные <> Неопределено Тогда
      ОткрытьЗначение(Элемент.ТекущиеДанные.Значение);   
   КонецЕсли;
   
КонецПроцедуры

Katish

Цитата: LordWizard от 08 дек 2013, 12:08
Т.е. Группа - это группа документов в списке?
Нет, группа это реквизит типа Документ.Ссылка
Добавлено: 09 дек 2013, 15:08


Цитата: Новенькая от 09 дек 2013, 10:35
а если так попробовать:

Процедура ГруппыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   
   Если Элемент.ТекущиеДанные <> Неопределено Тогда
      ОткрытьЗначение(Элемент.ТекущиеДанные.Значение);   
   КонецЕсли;
   
КонецПроцедуры


Спасибо большое!

ОткрытьЗначение(Элемент.ТекущиеДанные.Группа);

Получилось!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск