|
Банальная тема - ТекущаяСтрока у табличного поля | ☑ | ||
---|---|---|---|---|
0
Solitar
17.09.14
✎
12:55
|
На форме расположено табличное поле с типом - РСВ НаборЗаписей.
Перед копированием запоминаю строку, на основании которой делают копирование и строку, которая получилась в результате копирования. После копирования нужно спозиционироваться хотя бы на той строке, на основании которой копировали. После копирования хочу установить "ТекущуюСтроку" у элемента форма. Делаю через свойство элемента "ТекущаяСтрока". Тип у него ЗаписьНаборЗаписей. Мои переменные тоже имеют такой тип. Но получаю стандартную ошибку "Отсутствуют ключ строки" |
|||
1
Ёпрст
17.09.14
✎
12:56
|
больше кода
|
|||
2
kosts
17.09.14
✎
12:57
|
(0) Перехватывай копирование. Отменяй. И создавай новую запись программно.
|
|||
3
Maxus43
17.09.14
✎
13:09
|
в сторону КлючЗаписи поковыряй
|
|||
4
Maximysis
17.09.14
✎
13:16
|
УП?
|
|||
5
vmlspb
17.09.14
✎
13:16
|
#Если Клиент Тогда
ФормаСписок = РегистрыСведений.ОТ.ПолучитьФормуСписка(); Если ФормаСписок.Открыта() Тогда ФормаСпискаОткрыта = Истина; //Заполним список для структуры Ключа записи Для Каждого Эл1 Из Метаданные.РегистрыСведений.ОТ.Измерения Цикл КлючЗаписиМассив.Добавить(Эл1.Имя); КонецЦикла; //Установим текущую строку Если ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.ТекущаяСтрока <> Неопределено Тогда ТекущийЗаказ = ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.ТекущаяСтрока.Заказ; Если ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.ТекущаяКолонка = ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.Колонки.Отметка Тогда ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.ТекущаяКолонка = ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.Колонки.СтатусСобрать; КонецЕсли; КонецЕсли; КонецЕсли; #КонецЕсли //Далее какие-то действия.... //---------------------- //А теперь устанавливаем текущую строку Если ФормаСпискаОткрыта И ТекущийЗаказ <> Неопределено Тогда НаборЗаписей2 = РегистрыСведений.ОТ.СоздатьНаборЗаписей(); НаборЗаписей2.Отбор.Заказ.Установить(ТекущийЗаказ); НаборЗаписей2.Прочитать(); Если НаборЗаписей2.Количество() = 1 Тогда ОтборТекущаяСтрока = Новый Структура; Для Каждого Эл2 Из КлючЗаписиМассив Цикл ОтборТекущаяСтрока.Вставить(Эл2,НаборЗаписей2[0][Эл2]); КонецЦикла; КлючЗаписи = РегистрыСведений.ОТ.СоздатьКлючЗаписи(ОтборТекущаяСтрока); ФормаСписок.ЭлементыФормы.РегистрСведенийСписок.ТекущаяСтрока = КлючЗаписи; КонецЕсли; КонецЕсли; //---------------------- |
|||
6
Solitar
17.09.14
✎
14:37
|
(3) Ковырял, не получилось.
Если грубо, то так: //идет работа со следующей строкой Отбор = Новый Структура; Отбор.Вставить("Вид", Элемент.ТекущиеДанные.Вид); ПоследняяЗапись = РегистрыСведений.КонтактнаяИнформация.СоздатьКлючЗаписи(Отбор); Элемент.ТекущаяСтрока = ПоследняяЗапись; (4) обычные |
|||
7
Solitar
18.09.14
✎
17:07
|
ап. похоже фишка в том, что это набор записей....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |