Сохранение больших таблиц 1C в XLS - проблема известная: 1С задумывается надолго, и если таблицу в 5000 строк еще реально дождаться, то больше - уже ''Изя - все!''. Данная обработка представляет собой ''обертку'' для подмены МЕДЛЕННОГО интерактивного сохранения MXL в XLS БЫСТРЫМ программным сохранением.
Решений по сохранению больших таблиц 1С в XLS разной эффективности существует достаточно. Вашему вниманию предлагается "программная обертка" для еще одного решения (не моего!), которым я с успехом пользуюсь. и вам рекомендую!
Для оценки эффективности решения дам такие цифры:
* плоские таблицы (без излишних наворотов, объединений ячеек и пр.) сохраняются очень быстро. Если взять такую таблицу порядка на 50 000 строк - то, действуя типовым образом ''Файл -Сохранить как - XLS'', окончания процесса вы, скорее всего, и не дождетесь. С применением предложенного решения - сохранение осуществляется порядка за 3 секунды.
* ''неплоские'' таблицы, с тяжелым форматированием, пересекающимися объединениями ячеек - сохраняются не так быстро - подождать все-таки придется - но вполне за приемлемое время. В качестве такой ''тяжелой таблицы'' возьмем отчет по партиям из типовой ТиС с большим количеством включенных группировок и разверткой по документам движения на 22 000 строк (для сравнения попробовал решение, предложенное на http://www.infostart.ru/projects/259/ - минут через сорок задачу снял), текущая обработка позволила сохранить эту ''тяжелую'' таблицу за 9 минут.
Тесты проводились на ПК с Атлон-1800+, 512 RAM/
Обязательно хочу отметить следующее: сохранение в XLS таблиц с тяжелым форматированием я считаю нецелесообразным - что потом в EXCELe с этой таблицей делать? К какому-либо анализу такие таблицы, как правило, непригодны - приходится их переформатировать и затраты на эту работу сопоставимы с программированием нового отчета нужного формата в 1С.
А плоские таблицы, которые удобно в EXCELe ''вертеть'' - сохраняются быстро - что и требовалось.
Быстрое сохранение в XLS обеспечивается решением, реализованным здесь: http://www.kb.mista.ru/article.php?id=219 - внизу страницы приведена ссылка на внешнюю компоненту, которая необходима для работы обработки.
Переписка с разработчиком позволила уточнить - данное решение не работает, если сохранение таблицы 1С осуществляется через стандартный диалог сохранения файла, т.е. сохранение таблицы следует производить программным методом Таблица.Записать(...) - что данная обработка и производит: 1. перехватывает с экрана таблицу с данными, спрашивает у пользователя папку для сохранения файла и производит программную запись файла.
Выложить данную ''программулину'' сподвигло обсуждение на //infostart.ru/forum/read.php?25,873 - не все еще знают про замечательную разработку romix''a
Для использования программулины необходимо наличие ВК FormEX, которую можно взять здесь: http://www.dorex.pro/?projects&formex&download
Порядок установки и работы:
- установить необходимые ВК;
- установить данную обработку;
- повесить на панель инструментов кнопку типа ''Сохранить в XLS''
Все готово. Теперь, когда в 1С открыта таблица - жмем эту кнопку и ОК!
Иллюстрация - см.картинки.
Обработка - бесплатная, полностью функциональная.
Данная обработка эксплуатирует идею доступа к содержимому любой печ.формы извне (без изменения программного кода формирования таблицы), изложенную здесь: http://www.infostart.ru/projects/316/
Вторым файлом выложена ВК MXL_DOCTOR.DLL, необходимая для работы программы. Инструкции - внутри архива.