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

1с удалить одинаковые строки в таблице значений
На чтение
4 мин.
Просмотров
30
Дата обновления
06.11.2024

Задача: есть некий справочник 1с с табличным разделом «Фаршированный». Вам необходимо убедиться, что значения в столбце (строке) «Формула» одинаковы для всех строк, кроме непрямоугольных: столбца Rectangular (Boolean). В этом случае значение переменной «Формула» неизвестно. HarNom — ссылка на выбранный элемент справочника

Чтобы не перебирать все строчки с проверкой значений, сделаем следующее:

Сначала скачиваем табличный раздел, а точнее интересующий нас столбец «Формула» в таблице значений с выбором атрибута Rectangular = True.

Затем свернем таблицу значений в столбец «Формула». После сворачивания в таблице останутся только разные значения. Если элементов несколько, значит, в табличной части были разные значения.

Собственные разработки и набитые шишки в моей практике программирования 1С.

Правильное удаление строк из табличной части

// удаляем товары из раздела таблицы по индексу строки

RowIndex = TabularDocumentPart. Количество () — 1 ;

Хотя цикл истины

Если индекс строки равен 0 Тогда

Стоп;

Конец, если;

TabularSectionRow = TabularDocumentSection. Получить (IndexString);

// условие, при котором строка должна быть удалена

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

Если ValuesTable. Найти (TabularSectionRow. Номенклатура, «Номенклатура») = Не определено Тогда

TabularDocumentPart. Удалить (указатель строки);

Конец, если;

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

Метод Delete () имеет следующий синтаксис:

А также альтернативный английский синтаксис:

Параметры

Описание параметров метода Delete() :

Имя параметра Вид Описание
Линия Число Индекс удаляемой строки
StringTableValues Строка таблицы значений для удаления
Обязательные параметры выделены жирным шрифтом
0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий