Имя: Пароль:
1C
1С v8
Libre Office 3.6 и 1с
,
0 kn
 
06.11.12
07:11
Работало так в более ранних версиях Libro Office

Попытка
ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
Исключение
Предупреждение(ОписаниеОшибки() + Символы.ПС + "программа OpenOffice\LibreOffice не установлена на данном компьютере!");
Возврат Неопределено;
КонецПопытки;

Сейчас поставили 3.6 - вызывается исключение. Подскажите, что может быть?
1 Кокос
 
06.11.12
07:19
Может просто разработчики переименовали комобъект?
2 kn
 
06.11.12
07:23
вот как это можно узнать?где?
3 Кокос
 
06.11.12
07:24
(2) ну я обычно в хелп лезу.  Там есть инфа о COM/COM+.
4 Кокос
 
06.11.12
07:38
http://api.libreoffice.org/docs/common/ref/com/sun/star/module-ix.html хотя тут вроде тоже самое
5 Кокос
 
06.11.12
07:40
хотя СервисМенеджер я там не вижу
6 kn
 
06.11.12
07:42
А кто-нибудь работает с Libre office 3.6 из 1с?Все нормально?
7 Кокос
 
06.11.12
07:47
http://api.libreoffice.org/docs/common/ref/com/sun/star/lang/ServiceManager.html тут еще сервисменеджер вообще в ветке lang

ServiceManager = Новый COMОбъект("com.sun.star.lang.ServiceManager");

попробуй написать так. Если не прокатит хз. Надо весь код смотреть.
8 kn
 
06.11.12
07:56
нет не получается,
вообще если libre office уже открыт, то (0) работает.
9 Кокос
 
06.11.12
07:58
(8) у меня такая фигня был а на сервере с обычным офисом. Сервер просто резал доступ к объектам и пока не откроешь файл и не нажмешь "Разрешить" ничего не работало
10 kn
 
06.11.12
07:59
просто открыт, даже другой файл, не тот который загружаю
11 kn
 
06.11.12
08:03
(9)а как вылечилось?
12 Кокос
 
06.11.12
08:44
(11) Ну мне разово было надо загрузить накладную. Так что я это как-то перенес :)
13 kn
 
06.11.12
08:51
при выполнении (0)сначала выскакивает табличка справка libre office
unknown option: -embedding и дальше возможные опции.
14 kn
 
06.11.12
09:58
вверх
15 tremp
 
06.11.12
11:38
Такая же проблема, причём на локальных машинах всё ок, а на терминале эта гадость.

Перезагружать машину пробовал? (у нас проблематично это сделать в рабочее время)
16 kn
 
06.11.12
11:42
у нас не в терминале, перезагружать пробовали
17 zladenuw
 
06.11.12
11:43
а до этого опен случайно не стоял ?
18 kn
 
06.11.12
11:44
стояла предыдущая версия libre office
19 tremp
 
06.11.12
11:44
случайно нет, а специально - да :) (как на локальных так и на терминалах)
20 tremp
 
06.11.12
11:46
(18) На какой ОС у вас не работает?
21 kn
 
06.11.12
11:46
win xp
22 tremp
 
06.11.12
11:53
у нас на 7-ке работает
23 Кокос
 
06.11.12
11:56
попробуй снести либре и поставить обычный старофис
24 kn
 
06.11.12
11:59
(23)не могу,нет прав админа. нужен libre.
25 zladenuw
 
06.11.12
13:05
26 zladenuw
 
06.11.12
13:06
скорей всего класс не зарегистрировался в реестре. и по этому только при открытом, ты можешь вызвать сервисманаге
27 kn
 
06.11.12
13:40
не очень понятно как средством просмотра объектов OLE/COM (oleview.exe)пользоваться.
28 tremp
 
06.11.12
14:55
Мы пока откатились
в олевью найди объект libreOffice service manager 1.0  и взгляни строку запуска - что там написано?
29 tremp
 
06.11.12
14:57
и в реестре если поискать строку "-embedding" - ничего нет?
30 kn
 
06.11.12
17:01
(28)в ветке all objects есть libreOffice service manager 1.0, если попробовать раскрыть нажав на +, то выдается такой же диалог с той же ошибкой что и (13)
31 kn
 
06.11.12
17:26
(29)прям такого -embedding нет, но есть несколько embedding
например здесь C:\Program Files\Sun\Sun ODF Plugin for Microsoft Office 3.1\Basis\share\registry\modules\org\openoffice\Office\Embedding лежат файлы с таким словом
думаю, может дело в некорректном удалении предыдущей версии.
32 Filippov
 
06.11.12
18:11
Использовал Writer. Сейчас проверил на Libre Office 3.6.3: Получил unknown option: -embedding. Завтра "c перламутровыми... - будем искать" (c)
33 kn
 
06.11.12
18:17
попробую поставить сейчас на чистую машину, где еще не стоял
libre
34 kn
 
06.11.12
18:35
и в (33) таже ошибка
35 sttt
 
06.11.12
18:55
о! запустил в (0) и у меня IBM Lotus Simphony запустился)))) жесть, эти все игрушечки...
36 tremp
 
09.11.12
15:59
короче это ошибка только версии 3.6.3 (3.6.2 нормально работает)
37 kn
 
10.11.12
09:10
спасибо.
38 iant71
 
15.11.12
16:25
Те-же грабли с 3.6.3.... В 3.4 все работает!
Проблему временно решил след. образом:

если в "Исключение" пробежать
  ShellExecute(Handle, 'open',
                PChar('scalc.exe'),
                PChar('--invisible'),
                nil,
                SW_NORMAL);

а потом опять вызвать CreateOleObject("com.sun.star.ServiceManager");
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший