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

Не удаляются строки из ТаблицыЗначений

Автор ktu78, 13 июл 2015, 17:40

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

ktu78

Здравствуйте. Нужно удалить первые три строчки в ТаблицеЗначений
Вот код:
   Для Индекс = 1 По 3  Цикл
           Объект.ТС.Удалить(Индекс);
      КонецЦикла;   


{Форма.Форма.Форма(60)}: Ошибка при вызове метода контекста (Удалить)
           Объект.ТС.Удалить(Индекс);
по причине:
Недопустимое значение параметра (параметр номер '1')
Спасибо заранее

Rasty

удалять надо строку а не индекс

Добавлено: 13 июл 2015, 17:53


Объект.ТС.Удалить(Объект.ТС.Получить(0))
и так три раза
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

vitasw

ТаблицаЗначений (ValueTable)
Удалить (Delete)
Вариант синтаксиса: Удаление по объекту

Синтаксис:

Удалить(<Строка>)
Параметры:

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

Тип: СтрокаТаблицыЗначений.
Удаляемая строка таблицы значений.
Вариант синтаксиса: Удаление по индексу

Синтаксис:

Удалить(<Индекс>)
Параметры:

<Индекс> (обязательный)

Тип: Число.
Индекс строки, которую необходимо удалить.
Описание:

Удаляет строку таблицы значений.

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

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

ТаблицаЦен.Удалить(Индекс);

На самом деле проблема тут:

Цитата: ktu78 от 13 июл 2015, 17:40Для Индекс = 1 По 3  Цикл

Индексы начинаются с нуля: Для Индекс = 0 По 2  Цикл

KrivosheevEV

Ещё важный момент: начинать удалять надо снизу таблицы, т.к. строки при удалении смещаются вверх.

cska-fanat-kz

МассивСтрок = Новый Массив;
МассивСтрок.Добавить(Объект.ТС[0]);
МассивСтрок.Добавить(Объект.ТС[1]);
МассивСтрок.Добавить(Объект.ТС[2]);

Для каждого ЭлМассива Из МассивСтрок Цикл
    Объект.ТС.Удалить(ЭлМассива);
КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Luzer1C

Вот-вот. Нумерация индексов в таблице значений начинается с нуля.
И при удалении первых строк происходит сдвиг таблицы и индексы пересчитываются.
Сч = 1;
Пока Сч <=  3 Цикл
   ТаблицаЗначений.Удалить(0);
        Сч = Сч + 1;
КонецЦикла;
Халамбалам.

Теги:

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

Рейтинг@Mail.ru

Поиск