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

На чтение
1 мин
Дата обновления
22.09.2025
1С-программист
Курс 1С-программист поможет вам освоить разработку и настройку учетных систем на платформе 1С, которая широко используется в бизнесе. В течение обучения вы получите практические навыки программирования, работы с базами данных и автоматизации бизнес-процессов. Запишитесь на курс, чтобы создать собственные проекты для портфолио, учиться на реальных кейсах и получить поддержку экспертов, а также получить сертификат, подтверждающий ваши новые компетенции!
108300 ₽190000 ₽
Подробнее
#COURSE#

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

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

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

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

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

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

// удаляем товары из раздела таблицы по индексу строки
RowIndex = TabularDocumentPart. Количество () - 1 ;
Хотя цикл истины

Если индекс строки равен 0 Тогда
Стоп;
Конец, если;

TabularSectionRow = TabularDocumentSection. Получить (IndexString);
// условие, при котором строка должна быть удалена
// в этом случае внешняя таблица значений проверяется на наличие этого продукта, и если такого продукта не существует, строка удаляется.
Если ValuesTable. Найти (TabularSectionRow. Номенклатура, «Номенклатура») = Не определено Тогда
TabularDocumentPart. Удалить (указатель строки);
Конец, если;

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

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

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

Параметры

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

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