При попытке выгрузить в EXCEL декларацию - возвращает следующую ошибку: "Невозможно выгрузить в EXCEL. Возможно у вас не установлен EXCEL". Он у меня действительно не установлен, но есть Open Office 2.2 сборки инфраресурс.
Налогоплательщик использует COM для передачи в EXCEL. Возможно следует заняться поддержкой AutomateIT! ( http://sourceforge.net/projects/automateit ), он работал с OOo<=2.0.4.
Мы ведём аналогичную AutomateIt разработку, скоро планируем опубликовать. Рабочее название UniOffice. Позволяет не только транслировать COM-объекты из MS в Open, но и обращения к COM-объектам OpenOffice преобразовывывать в Uno-вызовы на host-платформу.
Нормально начинает работать с UniOffice, Выгрузка уже доходит до 5-7%. Далее требуется реализация метода Add интерфейса ISheets.
Следующие функции к реализации, на которых споткнулась выгрузка. Worksheet - columns Worksheet - pagesetup Workbook - close
Так же требуется реализация: Range - copy Worksheet - delete Workbook - saveas
Реализовал Worksheet - columns Range - copy Worksheet - delete Выгрузка работает на 80%.
На данный момент многие документы уже выгружаются в OOffice нормально, но до полной поддержки еще требуется доработка.В основном касается поддержки графики (для штриш кодов) + еще несколько функций на которых спотыкаются некоторые документы. + Worksheet - pagesetup
До полной работоспособности выгрузки из Налогоплательщика ЮЛ осталось реализовать след. функции: oImage = oSheet.Pictures.Insert(cFile) oImage.Shape Range.Lock AspectRatio = 0 oImage.Shape Range.Width = значение oImage.Shape Range.Height = значение oImage.Locked =. T. oImage.PrintObject =. T. nVal = oSheet.Cells(nRow, nCol).Merge Area oSheet.Shapes.Add Line?(nBeginX, nBeginY, nEndX, nEndY) oWorkbook.Protect(EXCEL_PASSWORD,. T.) oSheet.Range(oSheet.Cells(1, 1), poSheet.Cells(nRows, nCols)).Locked =. T. oSheet.Protect(sPassword,. T.,. T.,. T.,. T.) И решить проблему с openoffice: Оказалось, что если в названии таблицы есть две подряд идущие запятые, то OO при открытии дает это таблице новое "Стандартное" имя и это нарушает алгоритм выгрузки, даже если все остальные функции реализованы правильно.
Реализовано в версии 0.2 UniOffice oWorkbook.Protect(EXCEL_PASSWORD,. T.) oSheet.Protect(sPassword,. T.,. T.,. T.,. T.) oSheet.Range(oSheet.Cells(1, 1), poSheet.Cells(nRows, nCols)).Locked =. T - реализована и не падает, но работает не так как excel!
Реализовал nVal = oSheet.Cells(nRow, nCol).Merge Area
Исправлена функция SaveAs, теперь сформированный документ сохраняется правильно и с форматированием.
>И решить проблему с openoffice: Оказалось, что >если в названии таблицы есть две подряд >идущие запятые, то OO при открытии дает это >таблице новое "Стандартное" имя и это >нарушает алгоритм выгрузки, даже если все >остальные функции реализованы правильно. Эта проблема исчезает при использовании OpenOffice 3.0
Unioffice 0.4 , OpenOffice 2.4.1 от ИнфраРесурс. Налогоплатильщик 4.12.2 При пыпытки выгрузить декларацию в Excel выдает ошибку: Ошибка OLE, код 0х80020009: Если жмать пропустить несколько раз (15-20 ) то откруется OpenOffice.Calc с некоторыми данными.
Обновил OpenOffice. (3.0 от Инфры) Все нормально стало выгружаться.
Ну замечательно.
В релизе UniOffice 0.4 указано, что Налогоплательщик работает нормально только с версией OpenOffice 3.0 Закрываю.