КоллекцияКолонокДереваЗначений.Сдвинуть

Методы · Move

Сдвигает колонку с заданным индексом на указанное смещение.

Синтаксис

Сдвинуть(<Колонка>, <Смещение>)

Примеры платформы

КолонкиСостава.Сдвинуть(ИндексТекушейКолонки, 1);
КолонкиСостава.Сдвинуть(ИндексТекушейКолонки, -1);
Полное описание, параметры и ограничения

КоллекцияКолонокДереваЗначений.Сдвинуть (ValueTreeColumnCollection.Move)

КоллекцияКолонокДереваЗначений (ValueTreeColumnCollection)

Сдвинуть (Move)

Доступен, начиная с версии 8.0.

Синтаксис:
Сдвинуть(<Колонка>, <Смещение>)
Параметры:

<Колонка> (обязательный)
Тип: Число, КолонкаДереваЗначений.
Индекс сдвигаемой колонки в коллекции или сама колонка.

<Смещение> (обязательный)
Тип: Число.
Количество колонок, на которое необходимо сдвинуть колонку. Положительное смещение обозначает сдвиг в конец, отрицательное - в начало коллекции.
Описание:

Сдвигает колонку с заданным индексом на указанное смещение.

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

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Пример:

// сдвинем колонку на следующую позицию

КолонкиСостава.Сдвинуть(ИндексТекушейКолонки, 1);
// сдвинем колонку на предыдущую позицию

КолонкиСостава.Сдвинуть(ИндексТекушейКолонки, -1);

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Настроить колонки дерева категорий

Колонки общие для всех уровней дерева. Создаём код и название, изменяем отображение и удаляем служебную колонку.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Выполняйте на сервере. Не требуется конфигурация с готовыми справочниками.

  2. Строки дерева пока не заполнены: изменение структуры видно без риска потери учебных значений.

Категории = Новый ДеревоЗначений;
Колонки = Категории.Колонки;
Название = Колонки.Добавить("Название", Новый ОписаниеТипов("Строка"));
Колонки.Добавить("Служебная");
Код = Колонки.Вставить(0, "Код", Новый ОписаниеТипов("Строка"), "Код категории", 12);
Название.Заголовок = "Категория или товар";
Название.Ширина = 30;
Сообщить(Код.Имя);
Сообщить(Название.Заголовок);
Сообщить(Название.Ширина);
Сообщить(Название.ТипЗначения.СодержитТип(Тип("Строка")));
Колонки.Сдвинуть(Название, -1);
Сообщить(Колонки.Индекс(Название));
Сообщить(Колонки.Получить(0) = Название);
Служебная = Колонки.Найти("Служебная");
Если Служебная <> Неопределено Тогда
    Колонки.Удалить(Служебная);
КонецЕсли;
Сообщить(Колонки.Количество());
Копия = Категории.Скопировать();
Копия.Колонки.Очистить();
Сообщить(Копия.Колонки.Количество());

Разбор по шагам

  1. Добавляем название и служебную колонку; код вставляем в позицию 0.

  2. Устанавливаем заголовок и ширину названия, читаем имя и допустимый тип.

  3. Перемещаем название в начало и проверяем позицию двумя способами.

  4. Удаляем служебную колонку, затем очищаем колонки только отдельной копии.

Как проверить результат

  1. Индекс названия после сдвига равен 0; Получить(0) возвращает тот же объект.

  2. У исходного дерева остаётся 2 колонки, у очищенной копии 0.

Ожидаемый результат

Порядок колонок: Название, Код; тип обеих колонок — строка.

На что обратить внимание

  1. Настройка колонок дерева затрагивает все уровни, а не одну выбранную категорию.

  2. Имя колонки для программного доступа и Заголовок для пользователя имеют разное назначение.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.