По теме из базы знаний
- Книга доходов и расходов (КУДИР) и кассовая книга для 1С 8.х любой конфигурации для предприятий на УСН, ПСН, ЕСХН
- Разные хм... неожиданности при работе с УТ 11 и платформой
- Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)
- Загрузка чеков из ФНС в документы 1С:БП, УНФ, ERP, КА и УТ
- Расшифровка СКД. Фильтр отчета по диапазону чисел. Переопределение обработки расшифровки. Не модальный режим
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Известных мне методов кроме как "Найти" и "НайтиСтроки" нет. А они не решают поставленную задачу. Как вариант - копированием таблицы и удалением из нее строк.
Есть вариант изящнее: передать таблицу в запрос, а в запросе уже сделать какое угодно условие)
Есть вариант изящнее: передать таблицу в запрос, а в запросе уже сделать какое угодно условие)
Первый вариант - как уже упомянули, запросом.
Второй:
Только если так. Варианты улучшение производительности на больших объемах: индексирование ТЗ или переход на использование запроса :)
Второй:
НенужныеСтроки = ТЗ.НайтиСтроки(Новый Структура("Наименование", "Ненужное наименование"));
Для Каждого СтрокаТЗ Из ТЗ Цикл
Если НенужныеСтроки.Найти(СтрокаТЗ) <> Неопределено Тогда
Продолжить;
КонецЕсли;
// Обрабатываем строки
КонецЦикла;
Только если так. Варианты улучшение производительности на больших объемах: индексирование ТЗ или переход на использование запроса :)
Ну или еще как вариант, правда слегка более "накрученный":
Вариант имеет смысл при условии, что ненужных строк значительно меньше чем остальных. И опять же, при больших объемах, не забывай про индексацию.
ТЗ.Колонки.Добавить("ЭтоНенужнаяСтрока", Новый ОписаниеТипов("Булево"));
НенужныеСтроки = ТЗ.НайтиСтроки(Новый Структура("Наименование", "Ненужное наименование"));
Для Каждого НенужнаяСтрока Из НенужныеСтроки Цикл
НенужнаяСтрока.ЭтоНенужнаяСтрока = Истина;
КонецЦикла;
НужныеСтроки = ТЗ.НайтиСтроки(Новый Структура("ЭтоНенужнаяСтрока", Ложь));
Вариант имеет смысл при условии, что ненужных строк значительно меньше чем остальных. И опять же, при больших объемах, не забывай про индексацию.
А вот еще один:
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаДанных); //Твоя ТЗ
СтрокаОтбора = Построитель.Отбор.Добавить("СпособОтраженияЗарплатыВБухучете"); // в Колонке
СтрокаОтбора.ВидСравнения = ВидСравнения.НеРавно;
СтрокаОтбора.Значение = Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("К распределению"); // значение по которому делать отбор
СтрокаОтбора.Использование = Истина;
Построитель.Выполнить();
ТаблицаДанныхНеРаспределять = Построитель.Результат.Выгрузить(); // вуаля
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаДанных); //Твоя ТЗ
СтрокаОтбора = Построитель.Отбор.Добавить("СпособОтраженияЗарплатыВБухучете"); // в Колонке
СтрокаОтбора.ВидСравнения = ВидСравнения.НеРавно;
СтрокаОтбора.Значение = Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("К распределению"); // значение по которому делать отбор
СтрокаОтбора.Использование = Истина;
Построитель.Выполнить();
ТаблицаДанныхНеРаспределять = Построитель.Результат.Выгрузить(); // вуаля
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот