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