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