[MXL to XLS]

17.03.08

Разработка - Разработка внешних компонент

Решаем две существующие проблемы 1С:Предприятия:

    * медленное сохранение табличных документов в формате Microsoft Excel.
    * некачественное сохранение табличных документов в формате Microsoft Excel.

Скачать исходный код

Наименование Файл Версия Размер
-
.1205122064 1,01Mb
2881
.1205122064 1,01Mb 2881 Скачать бесплатно
Проблема 1: Медленное сохранение.
=================================
Суть состоит в том, что время, которое нужно 1С для сохранения, резко возрастает при увеличении объема сохраняемого документа. Если небольшие документы объемом до 1-2 тыс. строк 1С сохраняет еще за приемлемое время, то документы объемом выше 10 тыс. строк могут сохраняться несколько часов (или даже суток).

Проблема 2: Некачественное сохранение.
======================================
Штатный конвертер 1С не отличается высоким качеством. Например, конвертер не поддерживает текст в ячейках длиной более 255 символов: при сохранении более длинный текст будет усекаться. Также не поддерживаются ячейки с поворотом текста, часто ячейки с многострочным текстом имеют высоту в одну строку, часто не переносятся многострочные объединения ячеек и другое. Подробнее можно посмотреть на этой странице: http://yoksel.net.ru/ProblemyStandartnogoMxl2Xls

Данная обработка решает эти проблемы.

Скоростные характеристики.
==========================
Отчет "Анализ продаж", 18 тыс. строк: 4,46 сек.
Отчет "Анализ продаж", 78 тыс. строк: 17,23 сек.
Отчет "Анализ продаж", 184 тыс. строк: 24,44 сек.

(Для таблиц объемом больше 65536 строк сохраняется только 65536 строк - поэтому разница между временем 78 тыс. и 184 тыс. строк невелика)

Тестовая таблица 10 тыс. строк x 256 столбцов (2,5 млн. ячеек): 57,32 сек.

Преимущества программы по сравнению с другими решениями
=======================================================

Для ускорения сохранения часто используется решение, известное под названием "патч Ромикса". Решение связано с модификацией кода 1С (патчем).
Отсюда вытекают основные проблемы решения:
- Проблемы при смене релиза 1С - при изменении релиза патч может перестать работать или вообще приведет к нестабильной работе 1С (аварийные завершения и возможность потери данных).

- Потенциальная ненадежность: т.к. исходных кодов 1С в открытом доступе нет, то и нет стопроцентной уверенности в корректности произведенной модификации.

Используемая в данной обработке внешняя компонента Йоксель не производит каких-либо модификаций исполняемого кода 1С, поэтому в ней отсутствуют указанные выше проблемы.

Другая проблема патча - "все равно медленно". В случае использования табличных документов со сложным форматирование сохранение все равно производится достаточно медленно. Компонента Йоксель сохраняет таблицы со сложным форматирование быстро.

Для решения проблем некачественного сохранения табличных документов в Excel часто применяют различные обработки, которые работает с Excel по технологии OLE-Automation и либо выполняют конвертирование документов полностью самостоятельно, либо сначала конвертируют документ стандартным конвертером, а потом исправляют допущенные конвертером ошибки.

Основной недостаток подобного решения: медленно. Обработки написаны на встроенном языке 1С:Предприятия и, значит, работают медленно, т.к. программный код интерпретируется. Далее, тормоза вносит использование OLE-Automation - данная технология никогда не предназначалась для обмена большими объемами данных.

Другой недостаток: необходимость наличия Excel. В связи с ужесточением ситуации с нелицензионным ПО, предприятия часто отказываются от использования Microsoft Office и переходят на свободное программное обеспечение (OpenOffice). Поэтому Excel может и отсутствовать. Также бывают ситуации, когда наличие Excel на компьютере нежелательно - например, в случае терминального сервера.

Компонента Йоксель не требует наличия Excel, поэтому может использоваться там, где Excel отсутствует. Также Йоксель написан на компилируемом языке - поэтому работает быстро.


Установка
=========
Для установки нужно следующее:

1) Если у вас еще не установлена FormEx или 1С++ версии 2.0, скопируйте компоненту FormEx (файл FormEx.dll) в каталог с программными файлами 1С (например, в каталог C:/Program Files/1Cv77/BIN).

2) Если у вас еще не установлена компонента Йоксель, скопируйте файл "SpreadSheet.dll" в каталог с программными файлами 1С (например, в каталог C:/Program Files/1Cv77/BIN).

(если нет возможности разместить внешние компоненты в каталоге программных файлов, то можно поместить компоненты в каталог информационной базы)

3) Скопируйте файл "Быстрое сохранение mxl в xls.ert" в подкаталог "ExtForms" каталога информационной базы.

4) В "Конфигураторе" добавьте на какую-нибудь панель инструментов кнопку следующего вида:
- Объект: "Задача".
- Команда: "Задача.Выполнить".
- Подсказка и короткая подсказка: "Сохранение таблицы в Excel"
- Параметры - Формула: "ОткрытьФорму ("Отчет",,КаталогИБ () + "ExtForms/Быстрое сохранение mxl в xls.ert")"

Использование
=============
Переключитесь на табличный документ 1С, который требуется сохранить в Excel, и нажмите на созданную в Конфигураторе кнопку. В открывшейся форме укажите, куда следует сохранить табличный документ и нажмите кнопку "Сохранить".

См. также

1С:Фото номенклатуры 7.7 - решение для работы с фотографиями номенклатуры в 1С:7.7 (включая формат PNG)

Работа с интерфейсом Логистика, склад и ТМЦ Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

5000 руб.

18.10.2022    5312    1    45    

3

HTTP сервер, HTTP асинхронный клиент, клиент ГИС МТ "Честный знак": внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

2000 руб.

27.05.2022    7999    19    16    

31

Загрузка банковской выписки для 1С 7.7 любой конфигурации

Банковские операции Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    20986    13    22    

14

Загрузка документов в 1С (7.7) из табличных файлов Excel,OpenOffice,1C,DBF,TXT (обработка)

Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Обработка решает поставленную задачу по вводу документов, а кроме того обладает важной функцией: настраивается на ассортимент конкретного поставщика, запоминая соответствие между его номенклатурой и «нашей». Т.е. фактически – является самообучающейся системой ввода накладных. У разных поставщиков могут быть накладные различного типа, с разным количеством полей, поэтому для каждого из них может быть сохранена своя собственная настройка диалоговой формы так, что любая поступающая накладная может быть обработана. По отношению к программе "1С:Предприятие 7.7" данное решение является внешними файлами. Для использования данного продукта не требуется вносить изменения в алгоритм существующих программ или используемых конфигураций.

2400 руб.

10.12.2009    76853    58    93    

68

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4858    1    0    

3

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    5877    2    19    

4

Компонента для 1С, принимающая вес с железнодорожных, автомобильных, крановых весов

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Транспорт, автопарки, такси Россия Платные (руб)

Программа "Компонента приёма веса для 1С, версия 3.0" позволяет принимать и заносить вес с весов непосредственно в программу "1С" - то есть, прием веса осуществляется целиком и полностью из программы "1С".

26400 руб.

09.04.2019    16141    2    8    

5

ЭВОТОР: выгрузка и загрузка в онлайн кассу в соответствии с требованием 54-ФЗ (54ФЗ). 1С: 7.7 ТиС

Загрузка и выгрузка в Excel ККМ Платформа 1С v7.7 1С:Торговля и склад 7.7 Управленческий учет Платные (руб)

Выгрузка из 1C версии 7.7 ТиС (Торговля и Склад) в EXCEL для дальнейшей загрузки в кассы ЭВОТОР, с помощью обработки обмен через EXCEL ( которая выбирается на сайте ЭВОТОР в магазине приложений). Полная версия без ограничений. Демоверсия позволяет выгружать только 5 строк номенклатуры(группы товаров). Демоверсия обладает такими же характеристиками что и полная за исключением того, что выгружает 5 строк неважно чего группы или номенклатуры (текст обработки зашифрован). Если у вас одна позиция номенклатуры или 5 позиций без групп, тогда Демоверсия для Вас. Если вдруг выскакивает ошибка по запуску обработки попробуйте запустить 1с с правами администратора

3000 руб.

19.06.2017    49980    9    26    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikukrnet 181 12.03.08 12:27 Сейчас в теме
Вроде работает!

Но 2 вопроса
1) есть ли проверка на доступность таблицы отчета (Таб.Защита(1))?
2) не работает, когда ПФ используется с формой самого отчета
samamoiloff; Ужас бухгалтера; +2 Ответить
2. Ужас бухгалтера 221 12.03.08 12:32 Сейчас в теме
(1)
1. Проверки нет. Исправлю
2. Понятно, исправлю.
samamoiloff; +1 Ответить
3. Ужас бухгалтера 221 17.03.08 09:45 Сейчас в теме
Исправлено:
1) Если таблица защищена, то сохранение в XLS отключается.
2) Добавлено сохранение таблицы, присоединенной к форме отчета. При этом контроль защиты таблицы производится аналогично пункту 1.
samamoiloff; +1 Ответить
4. Ужас бухгалтера 221 17.03.08 20:35 Сейчас в теме
Скачавшим обработку до 17 марта 2008 г. 20:37 по московскому времени рекомендуется загрузить обработку повторно или взять обновленную компоненту Йоксель со страницы хотфиксов: http://yoksel.net.ru/Hotfixes

Исправлена серьезная ошибка: некоторые числовые значения могли сохраняться некорректно. Например, число “131540.75” сохранялось как “272630697.”.
samamoiloff; +1 Ответить
5. viddik 240 17.04.08 12:52 Сейчас в теме
Баг (фича): текст, являющийся формулой Excel при конвертировании не опознается как формула. По крайней мере OpenOffice-ом. При конвертации через OLE используется свойство Ячейка.FormulaR1C1, если текст начинается с "=", и все работает. Хочу, чтоб в Йокселе тоже работало!!! :)
6. viddik 240 17.04.08 13:06 Сейчас в теме
Хотя это все-таки проблема скорее OpenOffice. Просто конвертация через мелкомягкое OLE автоматически приводит текст с ссылками в стиле R1C1 к виду A1 при необходимости, а у опена с этим проблемы.... :(
7. tikhon 10.06.08 11:21 Сейчас в теме
Скажите подалуйста, а работает ли эта программка с 1С.8?

Спасибо.
8. Ужас бухгалтера 221 10.06.08 21:12 Сейчас в теме
(7) Здесь: http://yoksel.net.ru/Hotfixes
можно скачать Йоксель в виде самостоятельного прилоежния (exe), которое умеет читать файлы Excel и сохранять листы из них в виде файлов mxl.
9. angro 09.08.08 14:31 Сейчас в теме
10. Robert Ingil 19.02.09 15:55 Сейчас в теме
Очуметь!
Реально помогла вещица.
11. Andzhej 22.03.09 02:27 Сейчас в теме
12. Andzhej 22.03.09 02:55 Сейчас в теме
Глючит. Говорит не обнаружено таблицы, хотя она есть - сформирована отчетом.
13. Andzhej 22.03.09 03:07 Сейчас в теме
а ее регить не нужно regsvr32?
14. Ужас бухгалтера 221 17.06.09 08:04 Сейчас в теме
Всем заинтересовавшимся данной обработкой советую также обратить внимание на эту: http://infostart.ru/projects/3387/
Она, в принципе, тоже может использоваться для преобразования MXL->XLS, однако дополнительно еще может добавить группы строк и колонок к отчету.

Также не забывайте обновлять SpreadSheet.dll. Обновленные версии выкладываются здесь: http://yoksel.net.ru/Hotfixes
misha3010; +1 Ответить
15. triGGer 30.10.09 12:58 Сейчас в теме
16. protas 30.11.09 20:27 Сейчас в теме
Да, уж! Валялась у меня одна dll`ка, все руки не доходили полазить по интернету, разобраться как ее подключить. Хотя частенько появлялась потребность именно в таком функционале. А тут - нате вам, все готовенькое.
Спасибо !!!
17. BlueWind 02.07.10 22:46 Сейчас в теме
Натолкнулся на проблему - сохраненную как штатными средствами 1с, так и с использованием Йокселя, таблицу, в которой более 256 колонок Excel не открывает. Пишет "Невозможно прочитать файл" и далее "В книге ххх обнаружено содержимое, которое не удалось прочитать", затем предлагает восстановить, но результат никакой (Office 2003, 2007) - в сохраненной таблице присутствует 256 колонок, а за ними - пустота.
18. Ужас бухгалтера 221 05.07.10 00:11 Сейчас в теме
(17) Йоксель сохраняет в формате Excel 97. Там поддерживается только 256 колонок. Чтобы Excel не ругался на файлы, созданные Йокселем из документов, содержащих больше 256 колонок, нужно взять более новую версию. В новой версии проверяется количество колонок и сохраняется только 256.
19. BlueWind 05.07.10 01:42 Сейчас в теме
(18) Ясно. Спасибо.

А может, есть возможность добавить в Йоксель поддержку Excel 2007 (в части большего количества колонок)?
20. Ужас бухгалтера 221 05.07.10 18:09 Сейчас в теме
(19) Возможность-то есть, но временнЫх ресурсов нет. :) Когда-нибудь, может быть.
Пока можно сохранять в mxl и с ним посылать Yoksel stand-alone, например.
21. BlueWind 06.07.10 02:38 Сейчас в теме
(20) Такой вариант я пробовал (Yoksel stand-alone 1.1.2.0) - Excel 2007 так же сообщает "В книге ххх обнаружено содержимое, которое не удалось прочитать"...

Пока что проходит единственный вариант - это сохранение в HTML и переименование файла в xls. Excel 2007 файл принимает, но нужно перенастраивать разделители, что добавляет в схему еще один минус (первый - собственно Excel 2007, но без него уж никак в этой ситуации не обойтись)...

Будем как-то извращаться.. и ждать появления временнЫх ресурсов..)
22. Ужас бухгалтера 221 06.07.10 10:32 Сейчас в теме
(21) Это старая версия. Новая здесь: http://yoksel.net.ru/Hotfixes

Я имел в виду не поддержку количества столбцов. А просто отсылку контрагенту обычного mxl-файла вместе с Yoksel.exe в качестве вьюера. У mxl уже нет таких ограничений на количество колонок.
23. wad_str 17.11.11 06:56 Сейчас в теме
Работает! Только проблемка с сохранением на сетевые ресурсы, ( база на сервере, а на раб станцию не сохраняет)
24. VladimirV 17.11.11 07:51 Сейчас в теме
очень помогла эта обработка при выгрузки в excel отчетов с програмно объединенными ячеками. Спасибо
25. cargobird 306 07.06.12 21:29 Сейчас в теме
Сделал на её основе отправку по почте печатной формы документа в экселевском формате, спасибо!
26. e-lexa 163 10.08.12 07:04 Сейчас в теме
Работает отлично, но если сохранять на сетевые ресурсы время сохранения увеличивается с нескольких секунд до нескольких минут.
27. Solikamsk 2 02.04.18 10:14 Сейчас в теме
Долгое время пользовались этой обработкой, пока не появились диаграммы - она с диаграммами не работает.. Я попробовал 1cv8fv.exe от 1С, но там сетку не выводит, плюс другие ошибки формата.. Какие-то есть обходные варианты? Сохранить внешними компонентами график в файл, вставить как картинку?...
28. CheBurator 3122 02.04.18 12:50 Сейчас в теме
Посмотри обработку Маляева по расширению возможности графики
Оставьте свое сообщение