Задача: есть некий справочник 1с с табличным разделом «Фаршированный». Вам необходимо убедиться, что значения в столбце (строке) «Формула» одинаковы для всех строк, кроме непрямоугольных: столбца Rectangular (Boolean). В этом случае значение переменной «Формула» неизвестно. HarNom — ссылка на выбранный элемент справочника
Чтобы не перебирать все строчки с проверкой значений, сделаем следующее:
Сначала скачиваем табличный раздел, а точнее интересующий нас столбец «Формула» в таблице значений с выбором атрибута Rectangular = True.
Затем свернем таблицу значений в столбец «Формула». После сворачивания в таблице останутся только разные значения. Если элементов несколько, значит, в табличной части были разные значения.
Собственные разработки и набитые шишки в моей практике программирования 1С.
Правильное удаление строк из табличной части
// удаляем товары из раздела таблицы по индексу строки
RowIndex = TabularDocumentPart. Количество () — 1 ;
Хотя цикл истины
Если индекс строки равен 0 Тогда
Стоп;
Конец, если;
TabularSectionRow = TabularDocumentSection. Получить (IndexString);
// условие, при котором строка должна быть удалена
// в этом случае внешняя таблица значений проверяется на наличие этого продукта, и если такого продукта не существует, строка удаляется.
Если ValuesTable. Найти (TabularSectionRow. Номенклатура, «Номенклатура») = Не определено Тогда
TabularDocumentPart. Удалить (указатель строки);
Конец, если;
Удалить строку в таблице значений.
Метод Delete () имеет следующий синтаксис:
А также альтернативный английский синтаксис:
Параметры
Описание параметров метода Delete() :
Имя параметра | Вид | Описание |
---|---|---|
Линия | Число | Индекс удаляемой строки |
StringTableValues | Строка таблицы значений для удаления | |
Обязательные параметры выделены жирным шрифтом |