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

Прошу помочь с созданием кнопки вверх и вниз в СправочникеСписке

Автор Самир Иманов, 23 ноя 2017, 22:37

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

Самир Иманов

Прошу исправить если я подошел к задаче не так.
В справочнике создал дополнительное поле Порядок.
Нахожу индекс текущей строки.
Нахожу верхнию строку.
Далее получаю объект их и в поле "Порядок" меняю индексы.
Далее я их должен отсортировать.
После сортировке опять возвращаю Порядок = 0;
С сортировкой нечего не могу придумать.
//
ТекСсылка = ЭлементыФормы.ФизическиеЛица.ТекущаяСтрока;
      
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ФизическиеЛица);      
Результат = Построитель.Результат.Выгрузить();      
НайденнаяСтрока = Результат.Найти(ТекСсылка, "Ссылка");   
ИндексСтроки = Неопределено;   
Если Не НайденнаяСтрока = Неопределено Тогда
ИндексСтроки = Результат.Индекс(НайденнаяСтрока);
      КонецЕсли;

Если ИндексСтроки <> Неопределено тогда
Если ИндексСтроки<Результат.Количество() - 1 тогда
ВверхСтрока = Результат[ИндексСтроки-1].Ссылка;
Если Не ВверхСтрока= Неопределено Тогда
СледующаяСтрока = ВверхСтрока.ПолучитьОбъект();
СледующаяСтрока.РекУпоряд   = ИндексСтроки;
СледующаяСтрока.Записать();
ТекСтрП = Результат[ИндексСтроки].Ссылка;
ТекСтр = ТекСтрП.ПолучитьОбъект();
ТекСтр.РекУпоряд = ИндексСтроки-1;
ТекСтр.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;

//

Golickoff

Если я правильно понял суть, вам нужно это
ЦитироватьСправочникСписок.<Имя справочника> (CatalogList.<Имя справочника>)
Порядок (Order)
Использование:

Только чтение.
Описание:

Тип: Порядок.
Содержит объект Порядок, по которому осуществляется текущее упорядочивание элементов справочника в списке. В качестве имен упорядочивания объекта могут выступать имена предопределенных реквизитов Код и Наименование и имена реквизитов справочника.

Доступность:

Сервер, толстый клиент, внешнее соединение.
ЦитироватьПорядок (Order)
Установить (Set)
Синтаксис:

Установить(<СтрокаПорядка>)
Параметры:

<СтрокаПорядка> (необязательный)

Тип: Строка.
Список имен полей, разделенных запятыми, по которым производится упорядочивание. После каждого имени поля через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию упорядочивание производится по возрастанию. Порядок указания имен полей определяет порядок выполнения упорядочивания. Это означает, что будет выполняться упорядочивание по полю, указанному первым. Затем группы строк с одинаковым значением в этом поле упорядочиваются по полю, которое указано вторым, и так далее.
Описание:

Устанавливает упорядочивание по заданным полям в выбранном направлении.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

СписокСправочника.Порядок.Установить("Код Убыв, Наименование Возр");

Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Теги:

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

Рейтинг@Mail.ru

Поиск