Совсем недавно начал использовать ПоставщикДанных (причем сейчас жалею, что руки не доходили до него раньше). Соответственно столкнулся с тем, что отсутствует связка
ПоставщикДанных.ИндексированнаяТаблица и
ПоставщикДанных.Отбор. Хотя может быть плохо искал, но поиск давал только ссылки на подобные вопросы. В результате допилил отчет уважаемого
Dolly_EV, который и прикладываю - надеюсь поможет кому-нибуть. Вообще данная обработка - неплохой инструмент для анализа/обработки каких либо табличных данных.
Плюсы:
+ в обработку можно отправлять СЗ, ТЗ, ИТЗ, имя файла с сохраненной ИТЗ;
+ при наличии имени файла во вх. параметрах - сохранение из обработки идет обратно в файл;
+ отбор работает довольно шустро, для отбора "в списке"/"не в списке" применен спец. алгоритм по улучшению быстродействия;
+ работает на довольно больших объемах - есть опыт редактирования таблиц в 300т.строк*30 колонок (примерно 300Мб файл);
Однако есть и минусы:
- пришлось модифицировать класс
ПоставщикДанных.ИндексированнаяТаблица для получения доступа к атрибуту
ПоставщикДанныхИТ - именно на него накладывается
индекс по отбору;
- при активном отборе не изменяются суммы в "подвале" - пока не разбирался в чем там дело - возможно все тривиально;
- при активном отборе при интерактивной сортировке по какой либо колонке - данные из табличного поля пропадают - тоже надо смотреть в чем там дело может быть;
- отбор по строкам сделан стандартно - думаю что при больших объемах будут проблемы с быстродействием;
Вообще, думаю, имеет смысл включить функционал по отбору в сам класс
ПоставщикДанных.ИндексированнаяТаблица. И уже при этом решать проблемы в "подвалом" и сортировкой. Перенести функционал отбора в класс достаточно просто.