Алгоритм удаляет не все строки ТЗ, а через одну
Здравствуйте!
Тема избитая, но, видимо, у меня глаз замылился настолько, что ошибки не вижу, поэтому прошу прощения
Может ли такой алгоритм удалять не все строки, а через одну?
Тема избитая, но, видимо, у меня глаз замылился настолько, что ошибки не вижу, поэтому прошу прощения
Может ли такой алгоритм удалять не все строки, а через одну?
Для каждого СтрокаВозврата Из ТабВозврат Цикл
ОтгруженныеПартии = ТабВозврат.НайтиСтроки(Новый Структура("Номенклатура, СчетУчета", СтрокаВозврата.Номенклатура, СтрокаВозврата.СчетУчета));
Для каждого СтрокаОтгрузки Из ОтгруженныеПартии Цикл
ТабВозврат.Удалить(СтрокаОтгрузки);
КонецЦикла;
КонецЦикла;
ПоказатьПо теме из базы знаний
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Несколько слов о том, как приручить хаос задач
- Универсальная загрузка данных формата Excel
- Интеграции с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода для 1С:УНФ, УТ, КА, ERP
- Расширение типового механизма настройки заполнения бухгалтерской отчетности (на примере конфигурации 1С:ERP. Управление холдингом 3.1.8.15)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Потому что по науке сперва делают массив удаляемых строк, а потом удаляют по собранному в массиве. Иначе выборка неправильно позиционируется. Точнее позиционируется правильно, просто количество элементов изменилось.
Нужно что-то типа
а уж если вы хотите очистить ТЧ полностью, то проще использовать метод Очистить() для ТЧ.
Нужно что-то типа
УдаляемыеСтроки = новый Массив
Для каждого СтрокаОтгрузки Из ОтгруженныеПартии Цикл
УдаляемыеСтроки.Добавить(СтрокаОтгрузки);
КонецЦикла;
Для каждого Стр из УдаляемыеСтроки цикл
ТабВозврат.Удалить(Стр);
КонецЦикла;
а уж если вы хотите очистить ТЧ полностью, то проще использовать метод Очистить() для ТЧ.
(2)
(напр. первый элемент берем, с его контекстом, а дубли удаляем)
лучше с конца обходить...
к тому же, это будет быстрее...
т.к. удаление с хвоста, удаляет уже почищенные хвост, а если начинать с первого элемента,
то удаление первых элементов будет каждый раз сдвигать все последующие, в т.ч. те, которые впоследствии будут удалены.
Потому что по науке
если нет доп условий
(напр. первый элемент берем, с его контекстом, а дубли удаляем)
лучше с конца обходить...
к тому же, это будет быстрее...
т.к. удаление с хвоста, удаляет уже почищенные хвост, а если начинать с первого элемента,
то удаление первых элементов будет каждый раз сдвигать все последующие, в т.ч. те, которые впоследствии будут удалены.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот