ТаблицаЗначений.Вставить

Методы · Insert

Вставляет строку на позицию в таблице значений, соответствующую указанному индексу.

Синтаксис

Вставить(<Индекс>)

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

НоваяСтрока = ТаблицаЦен.Вставить(2);
НоваяСтрока.Товар = ТекТовар;
НоваяСтрока.Цена = ПолученнаяЦена;
Полное описание, параметры и ограничения

ТаблицаЗначений.Вставить (ValueTable.Insert)

ТаблицаЗначений (ValueTable)

Вставить (Insert)

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

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

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

Вставляет строку на позицию в таблице значений, соответствующую указанному индексу.

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

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

Пример:

НоваяСтрока = ТаблицаЦен.Вставить(2);
НоваяСтрока.Товар = ТекТовар;
НоваяСтрока.Цена = ПолученнаяЦена;

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

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

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

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

Вставить срочный товар и передвинуть строку в начало

Показываем разницу между добавлением в конец, вставкой в заданную позицию и перемещением существующей строки.

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

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

Подготовка

  1. Выполняйте на сервере, данные только в памяти.

  2. Смещение -1 применяется к строке, которая находится в позиции 1.

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

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

  1. Добавить создаёт книгу и ручку в конце таблицы.

  2. Вставить(1) создаёт новую строку между ними; Сдвинуть перемещает эту строку в начало.

  3. Скопировать создаёт отдельные строки; изменение имени в копии не меняет исходную ячейку.

  4. Удалить удаляет одну строку, Очистить удаляет все строки копии и оставляет её колонки.

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

  1. Порядок вывода: Тетрадь, Книга, Ручка; исходное первое название после редактирования копии — Тетрадь.

  2. После удаления в копии 2 строки, после очистки 0 строк и 1 колонка.

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

Исходная таблица остаётся с тремя товарами; копия очищена.

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

  1. Вставить создаёт новую строку; не используйте его для перемещения уже существующей.

  2. Копирование значения-объекта в ячейке не гарантирует глубокую копию вложенного объекта; здесь ячейки содержат строки.

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

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

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

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

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