#0
by ixilimuse
Всем доброго времени суток! Имею дело с очень объемными отчетами. Приходится бить отчет на части с помощью отборов и выгружать по частям, а потом в экселе собирать в один файл. Все потому что 1С вылетает с ошибкой о нехватки памяти, при попытке сохранить полную версию отчета в эксель. Хотя физически на сервере для этого дела 32 Гб ОЗУ. Так вот. Почитал про бинарную книгу Excel. Что она и сохраняется быстрее и весит меньше и на открытие более шустрый файл получается. Нагуглил что типа файла этого имеет константу = 50 = XLSB. Попытался сохранить так: Что интересно - сохраняет. Причем в разы быстрее обычного ТипФайлаТабличногоДокумента.XLSX Но размер такого файла чуть ли не на 3 раза больше оказался чем обычный XLSX. А должен был быть меньше. Да и открываться экселем - отказывается. Говорит формат вообще не опознанный) Кто сталкивался с подобными методами? Как решить проблему? Есть у меня в запасе идея через COM открывать экземпляр экселя, в новую книгу забивать данные из ТабДока, и самим же экселем сохранять в нужном формате. Но подозреваю это будет очень ресурсоемким методом. Да и скорее всего долгим. Но если других вариантов - не останется - буду делать так)
#2
by dk
чего-то ты не то курил 50 - это если записывать из Excel по COMу, а 1с xlsb вроде не умеет записывать
#7
by mehfk
Значения Описание: Содержит варианты форматов файлов для сохранения табличного документа. Используется для определения параметра <ТипФайлаТаблицы> метода Записать. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Возможен обмен с сервером. См. также: ТабличныйДокумент, метод Записать
#8
by aka AMIGO
Извинямси, а в 8-ке не проходит методика подсмотра макросов в Excel при выполнении какой-либо операции?.. ну, как это существует в 7-ке.
#10
by АНДР
ИМХО Из 1С выгружать форматированный текст или XML, затем подсовывать этот файл Excel'ю для конвертации. Для очистки программистской совести можно Excel'ем управлять по COM.
#13
by ixilimuse
Да, теперь я убедился что такого нет, но в глубине души - надеялся что прокатит))) А то что предопределенного типа файла - нет я понял, потому и пытался цифру подсунуть искуственно, думая что внутри этот метод таки использует какие-то DLL ки МикрософтОфиса... И то что не произошло исключения - подкрепило мои надежды. Но видимо зря)) Зря надеялся) Подозреваю так что все дороги ведут меня к COM :) XML можно было бы использовать как промежуточный этап, но боюсь с ним тоже памяти не хватит)
#14
by ixilimuse
Да-да. Именно что должен быть меньше размер)) А эксель тот) 2010й офис, из самого экселя он позволяет сохранять бинарную книгу. Проблемка все таки в отсутствии поддержки данного формата в 1С платформе.
#16
by Ndochp
А эти отчеты потом люди читают или машины? Если машины, то может с ними договориться можно? АДО вместо COM например
#17
by ixilimuse
Тоже есть такие думки потому и пытаюсь найти какую-то альтернативу) Читают к сожалению люди. Отдел актуарных расчетов получает эти файлы, проверяет на валидность и отправляют эти же эксель файлы на дисках в нац.банк.
#18
by ixilimuse
Но спасибо за мыслишку! )) Чет некая бредовенькая идейка родилась сейчас.. Может в данной ситуации имеет смысл выгружать таблицу в какой-нибудь MS Access например, и тут же запускать какой-нить простенький exe, вся суть которого сведется к выгрузке данных и Access в Excel с определенным форматом )) Изврат конечно. Но все быстрее чем цикличная передача данных в книгу экселя через COM
#19
by b_ru
Зачем .exe? Достаточно в самом Access макрос написать. Но с выгрузкой в .txt из 1С с последующим автоматическим открытием этого .txt экселем через COM и сохранением в .xlsb(x) было бы правильнее.
#20
by ixilimuse
Спасибо за рационализацию мыслей. Надо будет поэксперементировать. На сколько легко удастся сохранить в txt. Ну и на счет макроса тоже уже передумал с эксешником. Даже если не макросы то через тот же Com реализовать выгрузку в Excel)
#21
by Ndochp
Врут они все. Если у сервера 1С не хватает памяти на то, чтобы сохранить эксель файл, то у человека не хватит внимания его проверить (если только там не картинки с котиками). Единственно, по опыту, часто бывает что формат включает в себя всякую хрень в шапке типа списка фильтров, кто утвердил и тд. А проверяют все равно программы на той стороне. Вот тогда, что пересохранение текстовика, что АДО идут лесом. Можно конечно сначала выгрузить табличные данные, а потом уже экселем(COM, макрос) вставить нужные данные в шапку и подвал.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Сохранение документа без запроса на сохранение? (7.7)
- Сохранение параметров страницы при печати табличного документа
- Сохранение отчетов в формате Excel: "недопустимый формат файла"
- сохранение/восстановление ТЗ в документе
- Сохранение настроек построителя отчета.
- Сохранение табличного документа в *.xls
- Сохранение данных поля табличного документа в реквизит типа ХранилищеЗначения
- Медленное сохранение табличного документа в pdf
В этой группе 1С
- Почему на сервере 1с отладка отключена по умолчанию?
- Граница последовательности в УТ 11
- v7: 1С77: Справочник имеет реквизит тип "Справочник" (условие проверки)
- Запрос по документам в 1с 8.3
- КА, реализация, частичный зачет аванса
- (УТ11) Заказ покупателя из ИМ и чек ККМ
- v7: 1С77: Загрузка в справочник из ТЗ (Не выбран элемент!)
- Высота строки в Excel
- Фильтрация в отчете СКД
- Акт о списании материальных запасов Форма по ОКУД 0504230
- УФ ДеревоЗначений - Выполнение операции невозможно, т.к. строка была удалена.
- Сдельная з/п не отражается в Расчетном листе
- Выгрузка данных УПП 1.3 - УП 2.0
- Продолжение больничного листка
- Ошибка при отправлении письма через 1С
- Не меняется цвет текста заголовка страницы.
- Ошибка при вызове конструктора (COMОбъект)
- Как в 1С преобразовать строку из юникода
- Почему по ОС не отражаемому в НУ, амортизация начисляется по ВР?
- Пропали суммы в проводках в документе требование-накладная.