Имя: Пароль:
1C
 
Сдвинуть нужные строки в конец табличного поля
0 NIGHTHUNTER
 
16.08.21
07:30
У обработки есть реквизит, Найденныессылки - тип ТаблицаЗначений.

На форме у реквизита НайденныеСсылки, путь к данным Объект.НайденныеСсылки.

В коде пытаюсь переместить некоторые элементы этой таблицы значений в конец таблицы. http://joxi.ru/eAO854GC6k4ezr
Но идет ошибка, - Несоответствие типов (параметр номер '1')

Как правильно это сделать?

            ПараметрыОтбора = Новый Структура;
            ПараметрыОтбора.Вставить("ПредставлениеМетаданных", "Справочник.КлючиАналитикиУчетаПоПартнерам");
            НайденныеСтроки = Объект.НайденныеСсылки.НайтиСтроки(ПараметрыОтбора);            
            //
            Для каждого ЭлМасс Из НайденныеСтроки Цикл
                Объект.НайденныеСсылки.Сдвинуть(ЭлМасс, Объект.НайденныеСсылки.Количество());
            КонецЦикла;
1 NIGHTHUNTER
 
16.08.21
07:32
Объект.НайденныеСсылки - тип- ДанныеФормыКоллекция

ЭлМасс - тип - ДанныеФормыЭлементКоллекции
2 PuhUfa
 
16.08.21
07:36
(0) Тут есть один добрый человек, он СП продает... совсем не дорого
3 ДенисЧ
 
16.08.21
07:37
(2) "совсем не дорого"
Не обманывай человека )))
4 NIGHTHUNTER
 
16.08.21
07:39
Почему идет ошибка?

ТзНайденныеСсылки = РеквизитФормыВЗначение("Объект.НайденныеСсылки");

по причине:
Нельзя изменять поле, содержащее объект данных формы
5 ДенисЧ
 
16.08.21
07:41
А так
ТзНайденныеСсылкиДругая = РеквизитФормыВЗначение("Объект.НайденныеСсылки");
6 NIGHTHUNTER
 
16.08.21
07:42
(5) Ок, спасибо, попробую. Кажется у меня такая же валяется уже. По этому так !
7 NIGHTHUNTER
 
16.08.21
07:45
по причине:
Неправильное смещение внутри коллекции

что не так я делаю ?

            ТзНайденныеСсылкиДругая  = РеквизитФормыВЗначение("Объект.НайденныеСсылки");
            ПараметрыОтбора          = Новый Структура;
            ПараметрыОтбора.Вставить("ПредставлениеМетаданных", "Справочник.КлючиАналитикиУчетаПоПартнерам");
            НайденныеСтроки    = Объект.НайденныеСсылки.НайтиСтроки(ПараметрыОтбора);            
            НайденныеСтрокиВТз = ТзНайденныеСсылкиДругая.НайтиСтроки(ПараметрыОтбора);            
            //
            Для каждого ЭлМасс Из НайденныеСтрокиВТз Цикл
                ТзНайденныеСсылкиДругая.Сдвинуть(ЭлМасс, ТзНайденныеСсылкиДругая.Количество());
            КонецЦикла;
8 NIGHTHUNTER
 
16.08.21
07:46
и так не правильно

            Для каждого ЭлМасс Из НайденныеСтрокиВТз Цикл
                ТзНайденныеСсылкиДругая.Сдвинуть(ЭлМасс, ТзНайденныеСсылкиДругая.Количество()-1);
            КонецЦикла;
9 NIGHTHUNTER
 
16.08.21
07:48
видимо так

ТзНайденныеСсылкиДругая.Сдвинуть(ЭлМасс, ТзНайденныеСсылкиДругая.Количество()-2);
10 NIGHTHUNTER
 
16.08.21
07:54
в другом случае на это ошибка

ТзНайденныеСсылкиДругая.Сдвинуть(ЭлМасс, ТзНайденныеСсылкиДругая.Количество()-2);

как нужно правильно, я же правильный индекс задаю?
11 NIGHTHUNTER
 
16.08.21
08:04
по причине:
Неправильное смещение внутри коллекции

ТзНайденныеСсылкиДругая.Сдвинуть(ЭлМасс, ТзНайденныеСсылкиДругая.Количество()-2);

ТзНайденныеСсылкиДругая.Сдвинуть(ЭлМасс, ТзНайденныеСсылкиДругая.Количество()-1);

на оба варианта ошибка, мне нужно сдвинуть в конец таблицы, подскажите пожалуйста как правильно?
12 NIGHTHUNTER
 
16.08.21
08:17
ТзНайденныеСсылкиДругая.Количество() - ТзНайденныеСсылкиДругая.Индекс(ЭлМасс)

нужно рассчитывать
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс