Сдвигает строку на указанное количество позиций.
Синтаксис
Сдвинуть(<Строка>, <Смещение>)Примеры платформы
ТаблицаЦен.Сдвинуть(0, 1);
ТаблицаЦен.Сдвинуть(1, -1);Полное описание, параметры и ограничения
ТаблицаЗначений.Сдвинуть (ValueTable.Move)
ТаблицаЗначений (ValueTable)
Сдвинуть (Move)
Доступен, начиная с версии 8.0.
Синтаксис:
Сдвинуть(<Строка>, <Смещение>)
Параметры:
<Строка> (обязательный)
Тип: Число, СтрокаТаблицыЗначений.
Индекс строки, которую нужно переместить, или сама строка.
<Смещение> (обязательный)
Тип: Число.
Количество строк, на которое необходимо переместить строку. Положительное значение означает, что строка будет передвинута ближе к концу таблицы значений (вниз), отрицательное - ближе к началу (вверх).
Описание:
Сдвигает строку на указанное количество позиций.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
// перемещение первой строки вперед на одну позицию
ТаблицаЦен.Сдвинуть(0, 1);
// перемещение второй строки назад на одну позицию
ТаблицаЦен.Сдвинуть(1, -1);
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Вставить срочный товар и передвинуть строку в начало
Показываем разницу между добавлением в конец, вставкой в заданную позицию и перемещением существующей строки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Выполняйте на сервере, данные только в памяти.
Смещение -1 применяется к строке, которая находится в позиции 1.
Товары = Новый ТаблицаЗначений;
Товары.Колонки.Добавить("Название");
Товары.Добавить().Название = "Книга";
Товары.Добавить().Название = "Ручка";
Срочный = Товары.Вставить(1);
Срочный.Название = "Тетрадь";
Товары.Сдвинуть(Срочный, -1);
Для Каждого СтрокаТовара Из Товары Цикл
Сообщить(СтрокаТовара.Название);
КонецЦикла;
Копия = Товары.Скопировать();
Копия.Получить(0).Название = "Изменено в копии";
Сообщить(Товары.Получить(0).Название);
Копия.Удалить(0);
Сообщить(Копия.Количество());
Копия.Очистить();
Сообщить(Копия.Количество());
Сообщить(Копия.Колонки.Количество());Разбор по шагам
Добавить создаёт книгу и ручку в конце таблицы.
Вставить(1) создаёт новую строку между ними; Сдвинуть перемещает эту строку в начало.
Скопировать создаёт отдельные строки; изменение имени в копии не меняет исходную ячейку.
Удалить удаляет одну строку, Очистить удаляет все строки копии и оставляет её колонки.
Как проверить результат
Порядок вывода: Тетрадь, Книга, Ручка; исходное первое название после редактирования копии — Тетрадь.
После удаления в копии 2 строки, после очистки 0 строк и 1 колонка.
Ожидаемый результат
Исходная таблица остаётся с тремя товарами; копия очищена.
На что обратить внимание
Вставить создаёт новую строку; не используйте его для перемещения уже существующей.
Копирование значения-объекта в ячейке не гарантирует глубокую копию вложенного объекта; здесь ячейки содержат строки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.