Имя: Пароль:
1C
1С v8
1С, OpenOffice, файл xls с макросами
0 paderub
 
25.01.16
10:41
Добрый день!

1С:Предприятие 8.2.19.130, Управление торговлей 10.3.13.2

На сервере стоит OpenOffice, но работать нужно с файлами xls.

Подключаюсь так:

OpenOffice = Новый COMОбъект("com.sun.star.ServiceManager");
    Desktop = OpenOffice.createInstance("com.sun.star.frame.Desktop");
    
    scr = Новый COMОбъект("MSScriptControl.ScriptControl");
    scr.language = "javascript";
    
    
    scr.eval("MassivParametrov = new Array()");
    MassivParametrov = scr.eval("MassivParametrov");
    
    scr.AddObject("OpenOffice", OpenOffice);
    
    scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    scr.eval("MassivParametrov[0].Name='Hidden'");
    scr.eval("MassivParametrov[0].Value=true");
    
    Файл = Desktop.LoadComponentFromURL(URLИзИмениФайла(ИмяФайла), "_blank", 0, MassivParametrov);
ТекущийЛист = Файл.sheets.getByIndex(0);

//Закрытие и сохранение файла
файл.unlockControllers();
файл.removeActionLock();
файл.store();
Файл.Close(Истина);
Desktop.Terminate();

Это все работает.

В файле есть макрос, который нужно выполнить. Нашел такой код:

Массив=scr.eval("new Array()");
URLМакроса=scr.Eval("OpenOffice.Bridge_GetStruct('com.sun.star.util.URL')");
URLМакроса.Complete="macro://./Standard."+"Лист1"+"."+"HidenRows()";
Frame  = файл.CurrentController.Frame;
Dispatcher = Frame.queryDispatch(URLМакроса,"_self",0);
dispatcher.Dispatch(URLМакроса,Массив);

Ничего не срабатывает.
Имя модуля и процедуры указаны правильно. OpenOffice вообще может выполнять макросы MSExcel?
1 paderub
 
25.01.16
10:53
Сейчас процесс проходит так: есть шаблон заявки поставщику, сотрудник запускает обработка, указывает файл шаблона, файл заполняется, далее открывает его через Excel (на рабочем месте MS Office стоит), нажимает на контрол, который запускает макрос, сохраняет и отправляет вручную поставщику. Хотелось бы полностью это автоматизировать.
2 Garykom
 
гуру
25.01.16
10:57
libreoffice может выполнять макросы, но не напрямую готовые из ms office, нужно переводить
http://www.cyberforum.ru/vba/thread633228.html
3 paderub
 
25.01.16
10:58
(2) Переводить не вариант. Поставщик может поменять шаблон.
4 paderub
 
25.01.16
11:09
Какой еще есть вариант работать с файлом xls без установленного офиса, чтобы можно было выполнять макросы?
5 Карупян
 
25.01.16
11:20
так вроде оо на каком то уровне поддерживает макросы.
6 Карупян
 
25.01.16
11:21
попробуй для начала запустить макрос в самом оо
7 Garykom
 
гуру
25.01.16
11:22
(3) (4) для начала нафига они вообще нужны?
8 paderub
 
25.01.16
11:54
Поставщик не примет заявку, если она будет не в установленной форме. Макрос скрывает незаполненные строки и еще что-то делает. Его выполнять обязательно
9 Garykom
 
гуру
25.01.16
12:01
(8) для начала поменяйте поставщика...
а если серьезно пусть они вам купят офис и все
10 Карупян
 
25.01.16
12:04
(9) Вот поэтому ты 1сник, а не бизнесмен )))
11 Смотрящий
 
25.01.16
12:06
(8) Разобраться что делает макрос; переписать эти операции на 1С.
12 Garykom
 
гуру
25.01.16
12:07
(10) гм правильно понял что это мне сказал "бизнесмен", а не не 1С-ник?
13 Карупян
 
25.01.16
12:07
(12) Я тоже 1сник, но не учу никого жить )))
14 yukon
 
25.01.16
12:08
(10) Зато поставщик бизнесмен прям атбога - так "любить" своих клиентов это прям вершина клиентоориентированности.
15 Garykom
 
гуру
25.01.16
12:08
(12)+ с точки зрения бизнеса дешевле купить офис чем поиметь кучу трабл в будущем с этими файликами/макросами/кривыми программерами
16 Масянька
 
25.01.16
12:09
(10) Не смешно.
Нормальный (всего лишь - нормальный) поставщик для своих клиентов делает b2b (в гугле ищи).
(11) Плюсую.
17 vmlspb
 
25.01.16
12:09
намучились мы одно время с этим ОО. Случай был похожий, формировать шаблон для поставщика с формулами и с определенным оформлением. В итоге, переписали обработку, теперь делаем через эксель. Много проблем ушло
18 yukon
 
25.01.16
12:13
(15) С т.з. бизнеса надо купить офис и искать нормального поставщика, чтобы не "поиметь кучу трабл в будущем с этими файликами/макросами/кривыми программерами".
19 Garykom
 
гуру
25.01.16
12:15
(17) криворукие нифига не знающие сотрудники/маркетологи/економисты и прочие которые кроме Ёкселя нифига не знаю и считают его верхом авто/информатизации слегка поднадоели

скажите чем мешает обычный DBF если нет возможности освоить XML|JSON ?
или есть много лет https://ru.wikipedia.org/wiki/CommerceML

куча b2b сервисов в том числе систем заказа с клиентами, в т.ч. бесплатных/открытых