Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с таблицей значений
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Fabri
Столкнулся с такой проблемой.
Есть регист сведений с которого запросом выводятся данные в таблицу значений, код примерно такой:

НоваяСтрока = СписокСМС.Добавить();
НоваяСтрока.IDСообщения = ВыборкаДетальныеЗаписи.IDСообщения;
НоваяСтрока.Студент = ВыборкаДетальныеЗаписи.Студент;
НоваяСтрока.ДатаОтправки = ВыборкаДетальныеЗаписи.ДатаОтправки;
НоваяСтрока.НомерМоб = ВыборкаДетальныеЗаписи.НомерМоб;
НоваяСтрока.ТекстСообщ = ВыборкаДетальныеЗаписи.ТекстСообщения;
НоваяСтрока.Статус = ВыборкаДетальныеЗаписи.Статус;


Где СписокСМС - это таблица значений.

Данная процедура вызывается при нажатии на кнопку, т.е. есть ещё поля начальная дата и конечная дата, и исходя из этого запрос выводит данные.
Так вот, перед каждым выводом провожу:
СписокСМС.Очистить();

дабы предыдущие данные убрать. Есть необходимость открывать запись справочника на конкретного студента при двойном клике на нем в таблице.

Вот код процедуры при двойном клике:

&НаКлиенте
Процедура ТаблицаСписокСМСВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Сообщить (ВыбраннаяСтрока);    
НашаСтрока=СписокСМС.Получить(ВыбраннаяСтрока);
Ключ = Новый Структура("Ключ", НашаСтрока.Студент);
ФормаКарточкаСтудента=ПолучитьФорму("Справочник.Студенты.Форма.ФормаЭлемента",Ключ);
ФормаКарточкаСтудента.Открыть();
КонецПроцедуры


Проблема в следующем. При первом выводе данных, все ок работает, запись справочника открывается все гуд. Но, при повторном выводе, и клике на нужную запись, выскакивает ошибка - Неверный параметр 1 в строке НашаСтрока=СписокСМС.Получить(ВыбраннаяСтрока);

Как видно выше добавил в процедуру код Сообщить (ВыбраннаяСтрока);. Оказывается предыдущие записи не очищаются, т.е. их порядковый номер остается, и у мя следующие записи, уже не под действительным номером, а номером после добавления.
Подробнее:
Вывел записи за сегодняшную дату, записей 30 штук.
Вывел их повторно, указав время с 10 до 12 к примеру, записей 5 штук.
Кликаю на 3-ю запись, а в сообщении ВыбраннаяСтрока не 3, а 33, и естественно нет такой, выдается ошибка.
Помогите, в чем может быть проблема.
logist
Я даже не читал в чем там ваша проблема, для начала замените это:
&НаКлиенте
Процедура ТаблицаСписокСМСВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Сообщить (ВыбраннаяСтрока);    
НашаСтрока=СписокСМС.Получить(ВыбраннаяСтрока);
Ключ = Новый Структура("Ключ", НашаСтрока.Студент);
ФормаКарточкаСтудента=ПолучитьФорму("Справочник.Студенты.Форма.ФормаЭлемента",Ключ);
ФормаКарточкаСтудента.Открыть();
КонецПроцедуры


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


Цитата(Fabri @ 31.08.12, 13:04) необходимо зарегистрироваться для просмотра ссылки
Оказывается предыдущие записи не очищаются,

Так не бывает. Проблема в другом месте.
Fabri
Да, спасибо, все ок.

P.S. Ушел учить матчасть и свойства процедуры ОткрытьЗначение();
Vofka
Цитата(Fabri @ 31.08.12, 13:20) необходимо зарегистрироваться для просмотра ссылки
Ушел учить матчасть

После написания своей конфы - как раз пора.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.