Поддержка выгрузки в Excel 2007 для 1С 7.7 в одну строку

27.12.22

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

Внешняя компонента 1С 7.7. для сохранения таблиц в формате Excel 2007.

Скачать файлы

Наименование Файл Версия Размер
Поддержка выгрузки в Excel 2007 для 1С 7.7 в одну строку:
.7z 8,66Mb
17
.7z 0.9 8,66Mb 17 Скачать

Внешняя компонента, умеет сохранять таблицы в формате xlsx, html и PDF.

При загрузке перехватывает штатное интерактивное и программное сохранение в Excel, HTML и TXT. В диалоге выбора файла заменяет вариант выбора ".xls" на ".xlsx" и ".txt" на "PDF"

Компонента подключается так:

ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter");

Для добавления поддержки формата выгрузки в Excel 2007 и PDF этого достаточно.

Поддерживается сохранение рисунков, надписей и внедренных OLE объектов. 

Белый фон картинок станет прозрачным при сохранении (как на первом скриншоте), если в свойствах узора картинки установить цвет "Авто".

Для выгрузки в html и PDF можно создать объект конвертера :

Таб = СоздатьОбъект("Таблица");
Таб.Вывести();

Конвертер = СоздатьОбъект("AddIn.Moxel.Converter");

Конвертер.Присоединить(Таб);

ИмяФайла = Конвертер.Записать("Тест.html", 2); //Запись в html

ИмяФайла = Конвертер.Записать("Тест.pdf", 3); //Запись в pdf

 

У объекта имеется метод для включения/отключения перехвата штатного сохранения:

Конвертер = СоздатьОбъект("AddIn.Moxel.Converter");

Если Конвертер.ПерехватитьЗапись(1) = 1 Тогда
	Сообщить("Перехват записи включен");
Иначе
	Сообщить("Перехват записи не включен");
КонецЕсли;

Если Конвертер.ПерехватитьЗапись(0) = 1 Тогда
	Сообщить("Перехват записи выключен");
Иначе
	Сообщить("Перехват записи не выключен");
КонецЕсли;

В архиве находится обработка с примерами.

 

Для работы требуется .Net 4.6.1

Для установки нужно распаковать архив на локальный диск, и запустить register.cmd с правами администратора. Два раза нажать Enter.

 

upd 08.04.2019 Новая версия

Добавлено чтение настроек страницы.

Теперь при сохранении в xlsx и PDF к документу применяются настройки страницы, установленные через "Файл-Параметры страницы" и Таблица.ПараметрыСтраницы().

Применяются: 

Размер бумаги

поля слева/справа/сверху/снизу

Ориентация страницы

Для xlsx применяется масштаб и "вписать в страницу по ширине".

Добавлен перехват штатного сохранения в HTML 

Теперь штатное сохранение таблицы в HTML перенаправляется в компоненту аналогично xlsx

 

upd 16.04.2019 Новая версия

Добавлены разрывы страниц при сохранении в Excel.

Для экономии памяти приложения 1С конвертация таблиц, занимающих больше 2 Мб вынесена во внешний процесс.

 

upd 24.05.2020 Новая версия

Если в ячейке есть символ переноса строки, то при экспорте в Excel устанавливается галка "Перенос по словам"

 

upd 21.06.2020 Новая версия

Исправлена ошибка GDI+ если в таблице есть объекты "Картинка".

Доработано отображение прогресса при длительных сохранениях

 

upd 23.06.2020 Новая версия

Доработано форматирование объединенных ячеек.

В варианты сохранения добавлен формат PDF вместо TXT

Для программного сохранения нужно вызвать:
 

Таб.Записать(ИмяФайла, 0);// - MOXEL 
Таб.Записать(ИмяФайла, 1);// - XLSX 
Таб.Записать(ИмяФайла, 2);// - HTML 
Таб.Записать(ИмяФайла, 3);// - PDF 

 

При интерактивном сохранении пункт "Текстовый файл" заменен на "PDF"

Обновлено описание.

 

upd 25.06.2020 новая версия

Форматирование в PDF доработано.

Исправлена ошибка с чтением параметров страницы.

Увеличилась скорость сохранения в Excel больших файлов.

 

upd  22.03.2022 Новая версия

Исправлены некоторые баги.

Улучшена скорость работы.

Уменьшено потребление памяти.

Уменьшено количество файлов в составе компоненты.

 

Т.к. разработка судя по всему спросом не пользуется - исходники выложены на github.  

Внешняя компонента 7.7 Excel 2007 PDF

См. также

HTTP сервер 1С 7.7 + 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), а затем обрабатывать данные по мере их поступления.

2000 руб.

27.05.2022    7813    19    13    

31

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

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

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

3588 руб.

29.07.2021    20604    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    76468    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    4801    1    0    

3

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

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

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

1200 руб.

02.12.2021    5778    2    19    

4

Выгрузка товаров из 7.7 для загрузки в личный кабинет АТОЛ для ньюджеров 91Ф, 92Ф и подобных

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

Выполняет выгрузку товаров (всех, только с признаком в прайсе, только из указанной папочки) с гибкой настройкой выгружаемых данных. Формируется файл в формате XLSX подходящий для прямой удаленной загрузки в кассовый аппарат АТОЛ 91Ф/92Ф и им подобных, имеющих управление через Личный кабинет АТОЛ (lk.atol.ru).

1 стартмани

31.01.2021    8156    2    &-rey    1    

3

Криптография: внешняя компонента для 1С 7.7

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v7.7 Абонемент ($m)

Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7.

1 стартмани

08.06.2020    9053    27    mdbruyfn    10    

9

Клиент HTTP(S): внешняя компонента для 1С 7.7

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

Компонента позволяет использовать различные веб-сервисы интернет-ресурсов, например работать с онлайн-кассой через API, предоставленное ее разработчиком. Тестировалась на платформе 1С релиза 7.70.027.

1 стартмани

14.11.2019    18144    88    mdbruyfn    82    

15
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
100. MadDAD 152 23.02.21 01:02 Сейчас в теме
(98) Вот версия, где все затратные по памяти операции свопятся на диск.
Прикрепленные файлы:
Release.zip
101. митчел 25.03.21 19:31 Сейчас в теме
Мне обработка понравилась. Прописал в глобальный модуль, запускается без проблем, сохраняет в Excel и PDF, очень удобно. Для меня было важно, чтобы не обрезался текст в ячейках (стандартные средства имеют ограничения). Скоро буду пробовать сохранять в pdf много листов за один раз (от 200 до 300), посмотрю как справится с этим заданием.
102. митчел 24.04.21 20:56 Сейчас в теме
Сегодня попробовал сохранить большой файл (200 листов) в pdf, увы, ошибка "Таблица не выгружена", уменьшаю количество страниц до 100, сохранят, но в оперативке весит 400 Мб, и QR-код который был на табличной форме "убежал" со своего места. Жаль, очень надеялся на эту обработку. Время выполнения сохранения 100 листов заняло примерно 2,5 минуты. Одностраничные документы сохраняет без проблем.
109. MadDAD 152 25.04.21 19:17 Сейчас в теме
(102)
и QR-код который был на табличной форме "убежал" со своего места.


Прикрепите, пожалуйста bсходный MXL - посмотрю что с картинками
103. MadDAD 152 25.04.21 01:56 Сейчас в теме
(102) попробуйте версию из (100)
104. митчел 25.04.21 12:00 Сейчас в теме
Здравствуйте!
Попробовал вариант нового релиза. Содержание архива скопировал в папку, заменил старые файлы на новые, повторно запустил с правами администратора файл "Register.cmd". Теперь, после запуска обработки, появляется ошибка "Ошибка сохранения таблицы в PDF. Не удалось прочитать таблицу". Пример кода во вложении. До момента слияния файлов выгружалось по 50 листов (проблема описана в предыдущем посте). Тестовая обработка выдает такую же ошибку.
Прикрепленные файлы:
105. митчел 25.04.21 12:11 Сейчас в теме
В дополнение к (104). Файлы находятся на диске "C". В приложении состав папки.
Прикрепленные файлы:
106. MadDAD 152 25.04.21 18:50 Сейчас в теме
(104) Добрый вечер.
Попробуйте так - полностью удалите все из папки.
Лучше всего перед этим перезагрузить ПК.

Потом распакуйте туда версию из (100) и запустите register с правами администратора.

И еще вопрос - какая операционка и какая версия 1С 7,7
107. митчел 25.04.21 19:09 Сейчас в теме
Операционная система Windows 7 64bit
108. MadDAD 152 25.04.21 19:15 Сейчас в теме
(107)
Новая версия
Прикрепленные файлы:
Release.zip
110. митчел 25.04.21 19:54 Сейчас в теме
С новым релизом документ сохраняется. На 120 листов выделяется 400 Мб оперативной памяти. При чем что интересно, если нажать Файл=Сохранить как... и выбрать pdf, то все нормально (пробовал сохранить один лист).
В приложении фото как съехали в многостраничном документе.
Могу ли я mxl прислать Вам в личку?
Спасибо Вам за оперативность!
Прикрепленные файлы:
111. MadDAD 152 25.04.21 19:54 Сейчас в теме
(110)
Могу ли я mxl прислать Вам в личку?

Да, конечно
112. DenisVol 3 19.05.21 14:24 Сейчас в теме
Ребята а у меня не работает? Что не так делаю?
- Распаковал в каталог базы.
- зарегистрировал dll все
- жму записать говорит "формат или расширение являются недопустимыми"
113. MadDAD 152 19.05.21 14:29 Сейчас в теме
(112)
- зарегистрировал dll все

Каким образом?

И вопрос что за ОС? Версия и битность
114. DenisVol 3 19.05.21 14:46 Сейчас в теме
115. DenisVol 3 19.05.21 14:47 Сейчас в теме
в распакованном архиве запустил Register.cmd
116. MadDAD 152 19.05.21 14:53 Сейчас в теме
(115)
Register.cmd

от имени Администратора?
118. DenisVol 3 19.05.21 15:01 Сейчас в теме
да в тестовой обработке
(116)
Register.cmd

от имени Администратора?


да от админа запускал. и в тестовой обработке
120. MadDAD 152 19.05.21 15:03 Сейчас в теме
(118)
Понял.
1. Попробуйте версию из (108)
2. Постараюсь сегодня посмотреть на виртуалке под Win7. Тестировалось на WinServer 2008, 2016 и Win 10. Все x64
122. DenisVol 3 19.05.21 15:11 Сейчас в теме
117. MadDAD 152 19.05.21 14:55 Сейчас в теме
(115)
- жму записать говорит "формат или расширение являются недопустимыми"


Это в тестовой обработке?
119. DenisVol 3 19.05.21 15:02 Сейчас в теме
да от админа запускал. и в тестовой обработке
121. DenisVol 3 19.05.21 15:06 Сейчас в теме
123. DenisVol 3 19.05.21 15:32 Сейчас в теме
все эти dll, которые в архиве нужны? Если я хочу только внедрить в свой отчет сохранение в xlsx.
125. MadDAD 152 19.05.21 15:36 Сейчас в теме
(123)
Компонента сделана на .Net - поэтому у нее много зависимостей. Основной объем - это поддержка xlsx и pdf-конвертер
124. MadDAD 152 19.05.21 15:33 Сейчас в теме
(123) Для работы компоненты нужны все.
Теоретически можно полностью вырезать поддержку PDF. Но это смогу сделать не в ближайшую неделю.
126. DenisVol 3 19.05.21 15:56 Сейчас в теме
понял, спасибо за оперативные и понятные ответы
127. Ветер в поле 3 31.05.21 09:05 Сейчас в теме
Отличная компонента!
Но есть нюансы. В случае, когда в таблицу вставлена картинка, но файл изображения не подгружен, то возникает ошибка чтения таблицы при сохранении в html и pdf. Предлагаю в случаях, когда что-то не удается прочитать (всякие внедренные объекты, например), то их просто пропускать, а не выбрасывать ошибку.
Прикрепленные файлы:
Таблица с пустой картинкой.mxl
128. MadDAD 152 31.05.21 11:10 Сейчас в теме
(127)
Добрый день. На ближайшей неделе добавлю обработку таких случаев.
Предупреждения об отсутствующих ресурсах будут выводиться в окно сообщений.
129. Ветер в поле 3 31.05.21 17:36 Сейчас в теме
130. zhenyat 6 23.07.21 18:27 Сейчас в теме
Здравствуйте
Пробую вашу компоненту, столкнулась с проблемой масштабирования картинок (см в приложении)
Это лучше сем штатное сохранение, но все равно плохо :(
Прикрепленные файлы:
131. MadDAD 152 23.07.21 18:30 Сейчас в теме
(130)
Здравствуйте, попробуйте версию из (108) .
Если не помогает - можете прислать таблицу на которой криво масштабируется (mxl) - мне в личку, посмотрю в ближайшие выходные.
132. zhenyat 6 26.07.21 12:11 Сейчас в теме
(131) на новом так же :(
Хм... обнаружила, что при сохранении? и последующем открытии файла mxl в 1с масштабирование так же слетает! Блин, и что с эти делать?
133. MadDAD 152 26.07.21 17:24 Сейчас в теме
(132)
Высота строки с картинкой не фиксированная?
134. zhenyat 6 26.07.21 17:54 Сейчас в теме
(133) фиксированная...

Кстати, после замены на новую, после первого раза, перестала вообще сохранять, при сохранении в mxl или xlsx просто молча, а при сохранении в pdf ругается
Прикрепленные файлы:
135. MadDAD 152 26.07.21 17:58 Сейчас в теме
(134)
фиксированная...

Соответственно, по вертикали картинка подгоняется под высоту строки, при сохранении в mxl. (А для конвертации сначала таблица выгружается в mxl)

По поводу ошибки сохранения - присылайте в личку моксель, на котором ошибка. Посмотрю.
136. zhenyat 6 26.07.21 18:03 Сейчас в теме
(135) вложила
Прикрепленные файлы:
Прайс.mxl
137. MadDAD 152 26.07.21 18:04 Сейчас в теме
(136)
Хорошо, постараюсь сегодня посмотреть.
138. zhenyat 6 26.07.21 18:05 Сейчас в теме
(135) тогда может подскажете как сделать высоту ячейки авто и при этом чтобы высота картинки оставалась заданной жестко?
139. MadDAD 152 26.07.21 18:07 Сейчас в теме
(138)
(135) тогда может подскажете как сделать высоту ячейки авто и при этом чтобы высота картинки оставалась заданной жестко?

Честно говоря с ходу не подскажу, давно 7-кой не занимаюсь.
Возможно в свойствах картинки есть настройки масштабирования?
Когда буду разбираться с ошибкой - может что-то выясню.
140. zhenyat 6 27.07.21 11:50 Сейчас в теме
(131)А вот ещё вопрос:
в версии для скачивания за стартмани - 19 файлов
в последней версии - всего 8
Я когда обновляла но новую - удалила ВСЕ файлы от старой, может из-за нехватки какого-нибудь из них и не работает вк?
141. MadDAD 152 27.07.21 13:22 Сейчас в теме
(140)
В последней версии все по максимум собрано в одной библиотеке.

Сделал такую версию:
У картинок сохраняются пропорции (из исходного bmp), если вертикальный размер превышает высоту строки - строка раздвигается.
Прикрепленные файлы:
Release.zip
142. zhenyat 6 27.07.21 13:53 Сейчас в теме
(141)Уже почти идеально! Есть непонятные артефакты: скриншот, мохельку и эксельку прилагаю
Прикрепленные файлы:
Прайс.mxl
Прайс.xlsx
143. zhenyat 6 27.07.21 15:09 Сейчас в теме
(141)А можно сделать настройку, что делать с картинкой - изменять размер в соответствии с ячейкой, или оставлять оригинальный, так же как это у 1с с картинкой:
<Режим> -:
1 - растягивать;
2 - рисовать по центру с оригинальным размером;
3 - рисовать, сохраняя оригинальное соотношение размеров.

Тогда можно было бы сами картинки выполнить в одном размере (высота = ширина) и высоту строк таблицы 1с формировать программно исходя из количество строк в самой большой колонке...
146. MadDAD 152 27.07.21 16:50 Сейчас в теме
(143)
А можно сделать настройку, что делать с картинкой - изменять размер в соответствии с ячейкой, или оставлять оригинальный, так же как это у 1с с картинкой:
-:
1 - растягивать;
2 - рисовать по центру с оригинальным размером;
3 - рисовать, сохраняя оригинальное соотношение размеров.


Посмотрю как будет время.
144. zhenyat 6 27.07.21 16:40 Сейчас в теме
(141)Ура! мне удалось победить все сложности с последней версией компоненты! А не стала привязывать картинку к углам ячейки, чтобы не включалось авторастягивание картинки с растягиванием ячейки, разместив ее посередине ячейки с небольшими отступами. Задала изначальную фиксированную высоту ячейки, и перед выводом строки таблицы вычисляю сколько строк в самой большой колонке (это описание), вычисляю необходимую для этого высоту строки и сравниваю с текущей фиксированной высотой строки - если меньше - то оставляю у секции текущую высоту, если больше - то задаю вычисленную
Типа как то так:
ВысотаСтрокиПоОписанию = 10.5 * СтрКоличествоСтрок(Товар.Описание) + 0.75;
Секция = Т.ПолучитьСекцию(ИмяСекции + "|Наименование");
ВысотаСтроки = Секция.Область().ВысотаСтроки();

...

Секция = Т.ПолучитьСекцию(ИмяСекции + "|ПерваяКолонка");
Секция.Область().ВысотаСтроки(?(ВысотаСтрокиПоОписанию > ВысотаСтроки, ВысотаСтрокиПоОписанию, ВысотаСтроки));
Т.ВывестиСекцию(Секция);
Показать


Результат - просто конфетка! :) Спасибо!!!

PS Жаль вот только нет индикатора прогресса - после "Сохранить как" управление почти сразу возвращается в 1с, но файл в папке появляется через несколько секунд, что поначалу пугает - Где файл, не сохранился что-ли? но потом он на глазах появляется.
145. MadDAD 152 27.07.21 16:50 Сейчас в теме
(144)
(141)Ура! мне удалось победить все сложности с последней версией компоненты! А не стала привязывать картинку к углам ячейки, чтобы не включалось авторастягивание картинки с растягиванием ячейки, разместив ее посередине ячейки с небольшими отступами. Задала изначальную фиксированную высоту ячейки, и перед выводом строки таблицы вычисляю сколько строк в самой большой колонке (это описание), вычисляю необходимую для этого высоту строки и сравниваю с текущей фиксированной высотой строки - если меньше - то оставляю у секции текущую высоту, если больше - то задаю вычисленную

Отлично!
Вот исправленная версия без "артефактов" из предыдущей.
Прикрепленные файлы:
Release.zip
147. MadDAD 152 27.07.21 17:02 Сейчас в теме
(144)
PS Жаль вот только нет индикатора прогресса - после "Сохранить как" управление почти сразу возвращается в 1с, но файл в папке появляется через несколько секунд, что поначалу пугает - Где файл, не сохранился что-ли? но потом он на глазах появляется.


Внизу есть "подобие" индикатора, бегут процентики... Это заметно на больших файлах, теоретически можно прикрутить прогресс бар в строку статуса.

Полноценный индикатор сделать пока руки не дошли, т.к. сохранение идет в несколько потоков для скорости.

Управление в 1С возвращается только после того как файл физически записан. Но возможно отображение запаздывает
148. zhenyat 6 27.07.21 17:13 Сейчас в теме
(147)
Внизу есть "подобие" индикатора, бегут процентики... Это заметно на больших файлах, теоретически можно прикрутить прогресс бар в строку статуса.
Ага, теперь обратила внимание

Управление в 1С возвращается только после того как файл физически записан. Но возможно отображение запаздывает
Видимо да

Еще раз, спасибо, отличная вещь :)
149. zhenyat 6 02.08.21 11:31 Сейчас в теме
Хм, сегодня вылезла странная ошибка при сохранении в xlsx:

Ошибка сохранения таблицы в XLSX: System.ArgumentException: Row number out of bounds
в OfficeOpenXml.ExcelWorksheet.Row(Int32 row)
в v7Moxel.Moxel.ExcelWriter.ExcelWriter.Save(Moxel moxel, String filename)
в Moxel.Moxel.SaveAs(String filename, SaveFormat format, Int32 PaperWidth, Int32 PaperHeight)
в Moxel.SaveWrapper.SaveToExcel(IntPtr pSheetDoc, String FileName)
150. MadDAD 152 02.08.21 11:42 Сейчас в теме
(149) Могу посмотреть если есть moxel. Вероятно где-то ошибка с получением номера строки...
151. zhenyat 6 02.08.21 12:09 Сейчас в теме
(150) да вроде все тоже самое, немного только переделала структуру таблицы, из-за необходимости размещения графической шапки при том что количество колонок может меняться...
Прикрепленные файлы:
Прайс.mxl
152. MadDAD 152 04.08.21 18:28 Сейчас в теме
153. zhenyat 6 06.08.21 11:39 Сейчас в теме
(152)Ошибка сохранения таблицы в XLSX: System.InvalidOperationException: Can't delete/overwrite merged cells. A range is partly merged with the another merged range. BV44:CG44
в OfficeOpenXml.ExcelWorksheet.MergeCellsCollection.Clear(ExcelAddressBase Destination)
в OfficeOpenXml.ExcelRangeBase.set_Merge(Boolean value)
в v7Moxel.Moxel.ExcelWriter.ExcelWriter.Save(Moxel moxel, String filename)
в Moxel.Moxel.SaveAs(String filename, SaveFormat format, Int32 PaperWidth, Int32 PaperHeight)
в Moxel.SaveWrapper.SaveToExcel(IntPtr pSheetDoc, String FileName)
Прикрепленные файлы:
Прайс.mxl
154. zhenyat 6 13.08.21 12:33 Сейчас в теме
155. MadDAD 152 13.08.21 12:42 Сейчас в теме
(154)

Причину нашел - начиная с 44 строки в последней колонке таблицы идет выравнивание "По выделенному" (Это когда ячейки на самом деле не объединены, но текст выравнивается внутри всей задействованной области как в одной ячейке), Эксель таких изысков не умеет, поэтому когда встречается такое - компонента просто объединяет все задействованные ячейки.

В данном случае там встретилось еще какое-то объединение, а ячейка не может быть в двух объединенных областях одновременно, поэтому - эксепшн.

Варианты решения:

1. Самое быстрое и простое - изменить макет. просто объединить ячейки в последней колонке таблицы вместо выравнивания по выделению.

2. Быстрое - я могу в компоненте игнорировать такие ошибки, но тогда последняя колонка будет выглядеть так себе.

3. Правильное, но самое долгое - мне в компоненте нужно анализировать пересечение областей с объединенными ячейками и областей где применено выравнивание "по выделенному".
156. zhenyat 6 16.08.21 17:27 Сейчас в теме
(155)Ага, поняла, изменила алгоритм формирование этих столбцов - там у некоторой продукции должны отражаться реальные остатки в двух столбцах (Остаток/Резерв) а у всех остальных только слова "В наличии" или "Отсутствует" с объединением обеих колонок.
Теперь все ОК, еще раз СПАСИБО!
157. MadDAD 152 16.08.21 17:35 Сейчас в теме
(156)
(155)Ага, поняла, изменила алгоритм формирование этих столбцов - там у некоторой продукции должны отражаться реальные остатки в двух столбцах (Остаток/Резерв) а у всех остальных только слова "В наличии" или "Отсутствует" с объединением обеих колонок.

Ну вот и отлично :)
158. zhenyat 6 25.08.21 18:18 Сейчас в теме
(157) не отпускает меня тема :)
при сохранении в xslx числа выведенные с помощью Формат(Число,"Ч.2. ") - т.е. с точкой в качестве разделителя целой и дробной и пробел как разделитель разрядов - сохраняются как текст
А если выводить как Формат(Число,".2, "), т.е. с запятой - то почему то запятая сдвигается на два разряда вправо и число 123,45 становится 12345,00
161. MadDAD 152 27.08.21 12:00 Сейчас в теме
(158)
при сохранении в xslx числа выведенные с помощью Формат(Число,"Ч.2. ") - т.е. с точкой в качестве разделителя целой и дробной и пробел как разделитель разрядов - сохраняются как текст
А если выводить как Формат(Число,".2, "), т.е. с запятой - то почему то запятая сдвигается на два разряда вправо и число 123,45 становится 12345,00


Вообще при разборе чисел используется разделитель установленный в системе в настройках...
Можете прислать пример mxl и получившийся xlsx?
159. PVL03 27.08.21 11:55 Сейчас в теме
Здравствуйте. Написано было что при сохранении печатной формы в форматы PDF и XLSX компанента читает и формирует файл в соответствии с параметрами печати. Что-то я никак не могу добиться этого. В PDF ориентация листа не встаёт, в XLSX всё время встают большие поля рамки (отступы от краёв листа). Компанента скачена последняя, перерегистрирована, ОС WinServer 2012. Что нужно сделать чтобы применялись параметры страницы? Спасибо.
160. MadDAD 152 27.08.21 11:58 Сейчас в теме
(159)
Здравствуйте. Написано было что при сохранении печатной формы в форматы PDF и XLSX компанента читает и формирует файл в соответствии с параметрами печати. Что-то я никак не могу добиться этого. В PDF ориентация листа не встаёт, в XLSX всё время встают большие поля рамки (отступы от краёв листа). Компанента скачена последняя, перерегистрирована, ОС WinServer 2012. Что нужно сделать чтобы применялись параметры страницы? Спасибо.


Здравствуйте.
Параметры страницы установлены каким образом?

Компонента читает параметры из памяти, т.е. они буду установлены после программной установки или после установки через Файл -> Параметры печати.
162. PVL03 27.08.21 12:19 Сейчас в теме
(160)
Параметры выставляются программно Таб.ПараметрыСтраницы(,,,)
163. MadDAD 152 27.08.21 12:20 Сейчас в теме
(162)
Параметры выставляются программно Таб.ПараметрыСтраницы(,,,)


До вызова конвертера?
164. PVL03 27.08.21 12:26 Сейчас в теме
(160)
И через Файл -> .. тоже.. Ни одно, ни другое не сработало..
165. MadDAD 152 27.08.21 12:27 Сейчас в теме
(164)
И через Файл -> .. тоже.. Ни одно, ни другое не сработало..


Можете оформить формирование примерной таблицы и установку параметров в виде обработки?
Посмотрю на выходных.
170. PVL03 02.09.21 07:38 Сейчас в теме
(165)

Не удалось пока посмотреть?
166. PVL03 27.08.21 12:28 Сейчас в теме
(163)
И даже пробовал два раза ставить: перед формированием таблицы и после, но до конвертера..
167. PVL03 27.08.21 12:28 Сейчас в теме
Спасибо, сейчас сделаю..
168. PVL03 27.08.21 13:33 Сейчас в теме
(165)

Можете оформить формирование примерной таблицы и установку параметров в виде обработки?
Посмотрю на выходных.

В обработке нужно поменять пути
Прикрепленные файлы:
ТестТаб.ert
171. PVL03 09.09.21 11:20 Сейчас в теме
(165)
Можете оформить формирование примерной таблицы и установку параметров в виде обработки?
Посмотрю на выходных.

Не удалось посмотреть по параметрам страницы при конвертации?
172. MadDAD 152 24.11.21 22:24 Сейчас в теме
(171) Пока не удалось, к сожалению.
Постараюсь на следующей неделе
173. M_W_W 30 20.02.22 15:26 Сейчас в теме
Добрый день!
Давно и успешно пользовался обработкой, по начау, много обсуждал, помогал отловить баги...
Потом, где-то с 63 сообщения темы, стало все устраивать и я благополучно забыл об этой компоненте - типа, работает, все устраивает(использовал почти каждый день), и ладно! :-)
Но, тут сегодня Инфостарт в рассылке напомнил. Зашел, посмотрел - релизов куча появилась... Ну, решил обновить... Как говорится - нашел на ж**у приключений... Лучшее, как известно враг хорошего :-(
Вообще все поломал. Стала ошибка появляться как тут:
(104) "Ошибка сохранения таблицы в PDF. Не удалось прочитать таблицу"
При попытке сохранить в XLSX, ошибки не возникает, просто молча все как-бы отрабатывает, но файл в целевой папке не появляется...
При попытке сохранить в HTML, тоже ошибка:
Ошибка сохранения таблицы в HTML :One or more errors occurred.

Нормально сохраняет только в моксель.
Использую без какого-либа кода, только подключение компоненты при старте, просто интерактивно из меню.

Пробовал разные версии(в том числе и из сообщения (100), которая помогла митчел в (104)), перерегистрировал неоднократно, чистил реестр вручную, опять регистрировал... Пепеустанавливал 1С и фреймворк - безрезультатно...
Система Win732-bit, 1с7.7 27 релиз, сетевая... В принципе, какая разница - до сегодняшнего дня, все тут-же и работало. От мокселя не зависит - любой, первая попавшаяся платежка...

Какую таблицу он прочитать не может? Может, что-то с темпами, или еще каким-то системным окружением не то?
Куда еще можно покопать?
174. M_W_W 30 20.02.22 16:12 Сейчас в теме
+(173) От мокселя не зависит - любой, первая попавшаяся платежка...

И все-таки, я был не прав... Посыпаю голову пеплом...
Это именно моксель виноват... Чего ему не нравится, не могу понять - первое попавшееся в базе типовой УСН платежное поручение...
Взял соседний, первый попавшийся счет - и оказывается, все работает...
Просто так сложилось, что после обновления, для теста на платежку ткнул, и попал на гиморой :-(

Во вложении, моксель платежки, если будет возможность, посмотрите пожалуйста, что ему там не нравится...
Прикрепленные файлы:
Печать.zip
176. MadDAD 152 22.03.22 01:00 Сейчас в теме
(174) Исправлено.
Прикрепленные файлы:
Release.7z
177. MadDAD 152 22.03.22 01:02 Сейчас в теме
(176)
Проблема была в именованных областях.
По неведомой мне причине размер массива именованных областей - длиной 4 байта всегда, при том что остальные обычно от 2 до 4.
175. MadDAD 152 20.02.22 16:46 Сейчас в теме
(174) добрый день, сегодня постараюсь посмотреть.
178. user1061229 22.12.22 11:09 Сейчас в теме
Добрый день!
Подскажите пож v7moxel.dll нужно через ЗагрузитьВнешнююКомпоненту или через файл register.cmd и потом уже использовать ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter") ?
180. user1061229 22.12.22 11:20 Сейчас в теме
(178)
ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter")

Вроде зарегил через register но при включенном перехвате и сохранении в Excel 2007 выдает ошибку о нехватки памяти. Позиций в каталоге порядка 300 с фотками.
Прикрепленные файлы:
181. MadDAD 152 22.12.22 11:24 Сейчас в теме
(180)
Вроде зарегил через register но при включенном перехвате и сохранении в Excel 2007 выдает ошибку о нехватки памяти. Позиций в каталоге порядка 300 с фотками.


Если фотки не отмасштабированы физически, то вполне вероятно что памяти не хватает.
есть версия (100) в которой сделан своп картинок на диск. Попробуйте её.
182. user1061229 22.12.22 12:54 Сейчас в теме
(181) Спасибо получилось с этой версией. Единственно заметил что при выходе из 1С тогда остается висеть процесс в таск менеджере. Может тогда нужно еще делать отключение компоненты принудительно?
183. MadDAD 152 22.12.22 18:31 Сейчас в теме
(182)
(181) Спасибо получилось с этой версией. Единственно заметил что при выходе из 1С тогда остается висеть процесс в таск менеджере. Может тогда нужно еще делать отключение компоненты принудительно?


Отключение компонент на C# к сожалению с ходу не реализуется, я пока не нашел решения.

Вообще не должно зависать. Перед выходом снимаете перехват сохранения?
184. user1061229 22.12.22 19:04 Сейчас в теме
(183)
выходом

Перехват не снимал принудительно. Еще потестировал - вроде пока не зависала 1С. Посмотрю тогда как будет у пользователей работать.
Единственная проблема не поддерживается в таком режиме кодировка фонтов Arial (Cyrillic), Arial (Baltic). Сохраняет только в Cyrillic - под той в которой кодировка уже.
185. MadDAD 152 22.12.22 19:09 Сейчас в теме
(184)
не поддерживается в таком режиме кодировка фонтов Arial (Cyrillic), Arial (Baltic). Сохраняет только в Cyrillic - под той в которой кодировка уже



Не совсем понятно в чем ошибка... Шрифты берутся те которые указаны в исходном MXL. Если там не указаны ни какие шрифты, тогда по умолчанию - Arial (Cyrillic), т.к. взять не где.
186. user1061229 22.12.22 23:11 Сейчас в теме
(185)
Ну вот в данном примере в диалоге можно выбрать язык - раскладку Windows с кодировкой. Это аналог 1251 (Cyrillic) и 1257 (Baltic). Но в самом Excel ее уже нет. Она была еще в старой версии 5.0/95 и через штатный метод сохранения получается нормально потом сохранить в новой версии.
Через данную компоненту или тот же Yoksel это уже не работает. Вот и думаю есть ли какие обходные пути. :-)
Прикрепленные файлы:
179. MadDAD 152 22.12.22 11:12 Сейчас в теме
(178) Добрый день. Сначала зарегистрировать через register.cmd с правами администратора, затем ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter").
В архиве есть обработка с примером использования в разных вариантах.
187. MadDAD 152 22.12.22 23:42 Сейчас в теме
(186) должно быть. Посмотрю в воскресенье
188. Kennik 13 26.12.22 18:17 Сейчас в теме
Здравствуйте. Установил .net.
Распаковал содержимое архива в папку с базой.
Запустил register.

В процедуре "При начале работы системы" (в самом начале) :
ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter");
При запуске выдает:
Ошибка при инициализации объекта из компоненты <Неизвестная компонента>

Если написать:
ПодключитьВнешнююКомпоненту("v7Moxel.dll");
При запуске выдает:
Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует CLSID)

Если написать:
ЗагрузитьВнешнююКомпоненту("v7Moxel.dll");
При запуске выдает:
Ошибка при инициализации объекта из компоненты D:\Tega\Губин\БАЗЫ\Торговля+склад2007\v7Moxel.dll


Если запустить тестовую обработку, то пишет
Загружена компонента AddIn.Moxel.Converter
Создан объект "AddIn.Moxel.Converter"
Но файл через Файл - сохранить как в xlsx не сохраняет, пишет:
Не удалось загрузить файл или сборку "ClosedXML".

Прошу автора помочь.
189. MadDAD 152 26.12.22 18:19 Сейчас в теме
(188)
Не удалось загрузить файл или сборку "ClosedXML".

Здравствуйте.

'register.cmd' запускали с правами Администратора?
Какая ОС и какая версия 1cv7s.exe ?
И еще можно скриншот каталога, куда распакованы файлы компоненты?
190. Kennik 13 26.12.22 18:27 Сейчас в теме
-да
-W server 2008 r2 standart
-D:\Tega\Губин\БАЗЫ\Торговля+склад2007
191. Kennik 13 26.12.22 18:31 Сейчас в теме
Платформа 7,70,027, база файловая
192. MadDAD 152 26.12.22 18:33 Сейчас в теме
(190)
-D:\Tega\Губин\БАЗЫ\Торговля+склад2007


1. Компоненту лучше всего распаковывать в отдельный каталог.
2. Попробуйте одну из обновленных сборок, например последнюю из (176)
193. Kennik 13 26.12.22 18:56 Сейчас в теме
Вот спасибо!
Я видел, что есть обновления, но был уверен, что в публикации архив тоже обновляется.
Скажите, для всех пользователей теперь это будет работать, останется только в рабочей базе при начале работы инициацию прописать?
194. MadDAD 152 26.12.22 18:58 Сейчас в теме
(193)
Скажите, для всех пользователей теперь это будет работать, останется только в рабочей базе при начале работы инициацию прописать?


Да, будет работать для всех.
195. Kennik 13 27.12.22 16:13 Сейчас в теме
Тут еще есть проблема при печати, выдается сообщение:
Названия для печати должны быть непрерывеыми и полными строками или столбцами.
196. MadDAD 152 27.12.22 16:14 Сейчас в теме
197. Kennik 13 27.12.22 16:30 Сейчас в теме
Сохранили печатную форму в эксель 2007, затем хотим файл эксель распечатать и не получается...
198. MadDAD 152 27.12.22 16:33 Сейчас в теме
(197)

1. Посмотрите что с заголовками в исходной таблице (MXL)
2. Попробуйте установить масштаб листа на 100%

Ошибка не связана с компонентой. Компонента переносит заголовки таблицы как есть из MXL.
199. MadDAD 152 27.12.22 16:37 Сейчас в теме
(197) Печатная форма точно сохранилась в формате 2007 ?

Ошибка похожа на то что бывает если открыть книгу в формате excel-97.

Расширение у файла какое?
Оставьте свое сообщение