|
Упр.форма. Какой-то косяк со свойством ВыделенныеСтроки | ☑ | ||
---|---|---|---|---|
0
Efimoff
16.09.13
✎
21:14
|
Проблема такая.
У формы есть реквизит ТаблицаЛистаУпаковочногоМеста. Есть ТаблицаЗначений, в которой хранится состав листов. На форме программно располагаю страницы и на них вывожу реквизит ТаблицаЛистаУпаковочногоМеста, который заполняю по отбору из ТаблицыЗначений. &НаСервере Процедура СтраницыДокументаПриСменеСтраницыНаСервере(ТекущаяСтраницаИмя, НомерСтраницы) УдалитьЭлементыФормы(Элементы, "ТаблицаЛистаУпаковочногоМеста"); УдалитьЭлементыФормы(Элементы, "ГруппаКнопокТаблицы_"+НомерСтраницы); Реквизиты = ПолучитьРеквизиты("ТаблицаЛистаУпаковочногоМеста"); ИменаКолонок = Новый Массив; Для Каждого Реквизит Из Реквизиты Цикл ИменаКолонок.Добавить(Реквизит.Имя) КонецЦикла; СодержимоеТаблицы = ПодготовитьТаблицу(НомерСтраницы); ТаблицаЛистаУпаковочногоМеста.Загрузить(СодержимоеТаблицы); КонецПроцедуры Дальше В подключаемой процедуре ТаблицаЛистаУпаковочногоМестаПеретаскивание хочу получить массив выделенных строк, который передается в процедуру ПараметромПеретаскивания. &НаКлиенте Процедура ТаблицаЛистаУпаковочногоМестаПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле) МассивКлючейУникальностиПеремещаемыхСтрок = Новый Массив; Для Каждого Значение Из ПараметрыПеретаскивания.Значение Цикл МассивКлючейУникальностиПеремещаемыхСтрок.Добавить(ТаблицаЛистаУпаковочногоМеста[Значение].КлючУникальности); КонецЦикла; СдвинутьЭлементВТаблицеСоставаДокументаНаСервере(МассивКлючейУникальностиПеремещаемыхСтрок, Строка); КонецПроцедуры Косяк в следующем. Например, в таблице 10 строк. Выделяем 2 и 3 строки При первом переходе на страницу в массив попадают правильные идентификаторы 2 и 3. Переключаюсь между страницами формы. Выделяю 2 и 3 строки. В массив попадают идентификаторы 12 и 13. Переключаюсь ещё раз между страницами формы. Выделяю 2 и 3 строки. В массив попадают идентификаторы 22 и 23. В таблице на форме показано только 10 строк Как такое может быть? |
|||
1
banco
16.09.13
✎
21:26
|
(0) не путай идентификаторстроки с номеромстроки
|
|||
2
ДенисЧ
16.09.13
✎
21:28
|
Книжку по УФ почитай. Там это написано
|
|||
3
Efimoff
16.09.13
✎
21:33
|
(2)Нет под рукой. Можно своими словами?
|
|||
4
Efimoff
16.09.13
✎
21:42
|
(1)Согласен. Только(ТаблицаЛистаУпаковочногоМеста[Стр].Наименование) во втором и следующих случаях говорит "Индекс находится за границами массива"
|
|||
5
banco
16.09.13
✎
22:42
|
(4) идентификатор строки не привязан к позиции элемента в коллекции. для получения элемента коллекции по идентификатору используй НайтиПоИдентификатору(<Идентификатор>)
|
|||
6
Efimoff
17.09.13
✎
09:29
|
(5) Хорошо. Почему тогда Элементы.ТаблицаЛистаУпаковочногоМеста.ТекущаяСтрока каждый раз при смене страниц показывает разные значения. 2, 12, 22. Я ведь физически удаляю элемент с формы, заново его создаю и заполняю. При этом количество элементов в таблице неизменно - 10.
|
|||
7
RomaH
naïve
17.09.13
✎
09:32
|
(6) потомучто это идентификаторы строки, блин
|
|||
8
Defender aka LINN
17.09.13
✎
09:34
|
(6) Наводящий вопрос: что происходит с таблицей при смене страницы?
|
|||
9
Efimoff
17.09.13
✎
09:39
|
(6)УдалитьЭлементыФормы(Элементы, "ТаблицаЛистаУпаковочногоМеста")
ТаблицаЛистаУпаковочногоМеста.Очистить() ТаблицаЛистаУпаковочногоМеста.Загрузить() |
|||
10
Efimoff
17.09.13
✎
09:42
|
(7)То есть идентификатор строки, каждый раз при смене страниц присваивается новый? А чем старый-то не угодил? элемент-то удалили и заново создали
|
|||
11
Defender aka LINN
17.09.13
✎
09:51
|
(10) "элемент-то удалили и заново создали"
|
|||
12
Efimoff
17.09.13
✎
10:11
|
(11) то есть при программном добавлении элемента форма заново присваивает идентификаторы новым элементам?
|
|||
13
Defender aka LINN
17.09.13
✎
10:28
|
(12) При загрузке
|
|||
14
ДенисЧ
17.09.13
✎
10:33
|
(10) Это 1с....
|
|||
15
Efimoff
17.09.13
✎
11:06
|
Всем спасибо. Буду извращаться
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |