вторник, 8 ноября 2016 г.

1С 7.7: удаление строк таблицы значений по условию

Требуется: Из таблицы значений удалить строки по определенному условию.
Решение: Добавляем дополнительную колонку "признак", тип "Число", Длина 1. Проходим по таблице, проверяем условия, и в строки, которые надо удалить, пишем 1, сортируем по-убыванию, выгружаем в временную таблицу только строки с 0 в служебной колонке.
        ...
        тз.Сортировать("-признак");
        НачальнаяСтрока = 0;
        тз.НайтиЗначение(0, НачальнаяСтрока, "признак");
        Если тз.КоличествоСтрок()=0 Тогда
            Сообщить("Пустая таблица!");
            Возврат;
        КонецЕсли;
        врем_тз = СоздатьОбъект("ТаблицаЗначений");
        тз.Выгрузить(врем_тз, НачальнаяСтрока);
        тз = врем_тз;
        ...

1 комментарий:

Ярослав комментирует...

Вот это бомба, да, месяцок назад парился с удалением "обычным", наигрался )), а вот на днях сотрудник тоже наигрался, только он в массив в итоге запихал все, как то короче выкрутился