1с+wine@etersoft и загрузка данных из OpenOffice

WINE@Etersoft, "1С","Ананас" и прочие проекты

Модератор: Модераторы разделов

Ответить
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение DjSpike »

Есть обработка для 1с8.1 которая делает загрузку из файла OpenOffice. Все это прекрасно работает когда стоит на виндах с установленным OpenOffice. При переходе на linux возникла проблема. Варианты решения которые пришли на ум:
1) Установить в wine OpenOffice. http://www.kb.mista.ru/article.php?id=180
2) Использовать UniOffice. Upd. Не подходит ,т.к. нет такой функциональности...
3) Как-то напрямую обратиться к нативному OOo.
Update 26.01.2010
4)Нашел еще один способ функциональность 1с в wine от Etersoft

Подскажите как лучше поступить ?? По первому пункту OOo 3.1.1 почему-то не хочет устанавливаться в wine.....

// Загрузка прайса
Попытка
мПриложение = Новый COMОбъект("com.sun.star.ServiceManager");
мСкрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
мСкрипт.Language = "javascript";
мПараметры = мСкрипт.Eval("mArray = new Array()");
мСкрипт.AddObject("OpenOffice", мПриложение);
мСкрипт.eval("mArray[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
мСкрипт.eval("mArray[0].Name='Hidden'");
мСкрипт.eval("mArray[0].Value=true");
mDesktop = мПриложение.createInstance("com.sun.star.frame.Desktop");
мДок = mDesktop.LoadComponentFromURL(ConvertToURL(ИмяФайлаПрайса), "_blank", 0, мПараметры);
мЛист = мДок.GetSheets().GetByIndex(0);
Исключение
Предупреждение("Ошибка подключения к OpenOffice, загрузка невозможна.",64);
Возврат;
КонецПопытки;
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
ddragon
Сообщения: 15
ОС: ALTLinux / windows XP
Контактная информация:

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение ddragon »

Использовать UniOffice


Обратится к нативному OpenOffice не получится, по крайней мере на текущий момент.
Да и судя по обработке он вам не нужен, т.к. обращение идет сразу в OpenOffice

Как-то напрямую обратиться к нативному OOo.


в данный момент это не возможно...Эта функциональность сейчас изучается для будущих версий UniOffice
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение DjSpike »

Нашел интересное обсуждение:
http://bugs.etersoft.ru/show_bug.cgi?id=3874
OpenOffice может
работать как удаленный сервер для
формирования документов по средством
обращения к нему через UNO (кстати это
открывает дополнительные возможности по
сравнению с MS Office). Таким образом можно
запустить OpenOffice в host сисеме на
прослушивание порта, а из (wine + .Net)
осуществлять подключение на этот порт и
таким образом работать.


Кто нибудь пробовал такое реализовать ???
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
BIgAndy
Сообщения: 1923

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение BIgAndy »

jabber://BigAndy@jabber.ru
/me уже засыпав, когда увидел:
DjSpike писал(а):
26.01.2010 16:27
// Загрузка прайса
Попытка
мПриложение = Новый COMОбъект("com.sun.star.ServiceManager");
мСкрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
мСкрипт.Language = "javascript";
мПараметры = мСкрипт.Eval("mArray = new Array()");
мСкрипт.AddObject("OpenOffice", мПриложение);
мСкрипт.eval("mArray[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
мСкрипт.eval("mArray[0].Name='Hidden'");
мСкрипт.eval("mArray[0].Value=true");
mDesktop = мПриложение.createInstance("com.sun.star.frame.Desktop");
мДок = mDesktop.LoadComponentFromURL(ConvertToURL(ИмяФайлаПрайса), "_blank", 0, мПараметры);
мЛист = мДок.GetSheets().GetByIndex(0);
Исключение
Предупреждение("Ошибка подключения к OpenOffice, загрузка невозможна.",64);
Возврат;
КонецПопытки;


/me стало плохо. Я не знаю что такое 1С и его обрботки и как это работает.

Есть обработка для 1с8.1 которая делает загрузку из файла OpenOffice. Все это прекрасно работает когда стоит на виндах с установленным OpenOffice. При переходе на linux возникла проблема. Варианты решения которые пришли на ум:

3) Как-то напрямую обратиться к нативному OOo.
Update 26.01.2010

несмотря на то, что OOO имеет единый итерфейс (тьфублин, UNO), получение/экспорт данных в ООWriter/OOCalc/OOBase будет различаться.
Как это работает в 1С для меня большая тайна есть..
Здесь есть человек Lorte Он же Norther на форуме community.i-rs.ru
Вот он этот адынэс разобрал на части.
Я могу помочь с какими-то особенностями в ООо, работой в Calc/writer, но больше всего с Base.
Но никак не адынэс.. Я так рад, что в свое время запретил использовать эту поделку в компании, что одно напоминание од адынэс вводит меня в уныние :D

Подскажите как лучше поступить ??


С адынэс - понятия не имею. Могу подсказать, как выгрузить/загрузить данные непосредтвенно из документа (хотя это и не очень правильный путь), непосредственно в базу данных. Или файл...
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение Djelf »

DjSpike Если ods конвертнуть в xls, то с xls очень удобно общаться с помощью http://yoksel.net.ru/HomePage
На 8ке под Linux не пробовал (но 8 поддерживается), на 7ке очень стабильно и чрезвычайно быстро. Очень хорошая документация, есть демо конфигурация.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение DjSpike »

Попробовал Yoksel (как посоветовал Djelf) действительно на 7.7 работает очень хорошо и быстро. На 8 при запуске демо базы выдает ошибку что не возможно загрузить компоненту Yoksel.dll. На форуме yoksel есть тема с такой же проблемой но нет решения...
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение Djelf »

DjSpike писал(а):
02.02.2010 18:33
Попробовал Yoksel (как посоветовал Djelf) действительно на 7.7 работает очень хорошо и быстро. На 8 при запуске демо базы выдает ошибку что не возможно загрузить компоненту Yoksel.dll. На форуме yoksel есть тема с такой же проблемой но нет решения...

Закинь Yoksel.dll в 1с`оский каталог bin, Олег, видимо умудрился сделать так чтоб ее можно было под 8кой загружать не как OLE, а как ВК и изменил демку, а в доках забыл указать... (у меня, на его демке, если Yoksel.dll лежит в bin то он находится). Если что, пиши в ПМ, помогу.
Спасибо сказали:
smaharbA
Сообщения: 229
ОС: Windows Vista

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение smaharbA »

BigAndy - Norther может и преуспел в чем то, но тут точно никак

Обратится к нативному OpenOffice не получится, по крайней мере на текущий момент.

просто надо абстрагироваться

DjSpike - очень надо ? (йоксель для адинес конечно весч, но есть иные методы)

кстати код в (0) "мертвый" - избыточен для 8.х, это для 7.7, и уже давно есть и для 7.7 более верный подход
(как быстро теряют авторов методов, и каждый наровит лепить не задумываясь)
Я конечно далек от мысли...(с)
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение DjSpike »

Расскажи какие есть еще методы ?
И можешь показать код, который более оптимален ???
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
smaharbA
Сообщения: 229
ОС: Windows Vista

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение smaharbA »

DjSpike писал(а):
02.02.2010 23:32
Расскажи какие есть еще методы ?
И можешь показать код, который более оптимален ???



для 8.х есть ComSafeArray
для 7.7 - все необходимые для массива значения записываются в список значений, из него создается массив (думаю на мисте это было не единожды)

методы - создание скрипта-обертки и прописание его в локалсервер ком-объекта
Я конечно далек от мысли...(с)
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение DjSpike »

Вообщем Итог:
Yoksel http://yoksel.net.ru/HomePage
Это единственный способо организовать загрузку данных из xls в 1с запущенную в wine....
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: 1с+wine@etersoft и загрузка данных из OpenOffice

Сообщение DjSpike »

Вышла новая версия компоненты Yoksel. http://yoksel.net.ru/Hotfixes
http://yoksel.net.ru/files/release/yoksel_..._2010_06_29.rar
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Ответить