|
Работа с Excel через OLE на сервере 1С | ☑ | ||
---|---|---|---|---|
0
NorthWind
07.03.21
✎
13:40
|
Добрый день.
Сие не относится непосредственно к моей работе, но тем не менее обратились за помощью, хочу посоветоваться. Итак, есть самописная производственная конфа на УФ. В конфе есть манипуляция - на сервере экселем (по OLE) открываются с расшаренной папки книги и из них что-то читается в базу, кажется, используется при заполнении доков. Ну да неважно. Суть в том что сначала это вроде как работало, а потом стало падать с ошибкой "неправильная строка класса" при конструировании ком-объекта Excel.Application. Говорят, что с серваком ничего не делали. Доступ до него по RDP есть (не админский). Я берусь смотреть и вижу, что Microsoft Office стоит в папке Program Files (x86), оттуда же и запускается. В диспетчере задач показан как 32-bit. Сервер 1С же 64-битный, как обычно и принято на современных серверах. . Казалось бы, все понятно. Но эти ребята, чье хозяйство, утверждают что все работало! И я в непонятках ... каким образом оно могло работать? Может, я чего не понимаю? |
|||
1
ДенисЧ
07.03.21
✎
13:48
|
У ребят 4 лапки и крепкий костный пацирь?
|
|||
2
acht
07.03.21
✎
13:52
|
(0) > каким образом оно могло работать
Через COM+ обертки |
|||
3
NorthWind
07.03.21
✎
14:10
|
(1) Ну типа. Ребята представляют собой довольно серьезную и забюрократизированную структуру, где может быть трудно найти концы.
|
|||
4
Turku
07.03.21
✎
14:12
|
(0) ИМХО, можно попробовать переустановить MS Office в надежде, что нужный класс зарегистрируется в системе.
А можно переписать логику на использование метода Прочитать() табличного документа... |
|||
5
NorthWind
07.03.21
✎
14:12
|
(2) Имеется в виду что-то вот такое https://sbis.ru/help/integration/1C_set/64bit?
|
|||
6
NorthWind
07.03.21
✎
14:19
|
(4) Над использованием другого метода доступа думали. Но вот эти книжки, которые зачитываются экселем - довольно противные. Они громоздкие, с кучей листов и непростым форматированием.
|
|||
7
ДедМорроз
07.03.21
✎
15:00
|
Дело в том,что excel работает не в адресном процессе объекта,а как отдельное приложение,в адресном процессе остаётся только Proxy DLL,а она может быть и 32 и 64 бит и никак с битностью основного процесса не связана.
И excel прекрасно работает как с 32битным,так и с 64битным приложением. Если же пишет,что неверная строка имени класса,то просто обновить офис. |
|||
8
ДедМорроз
07.03.21
✎
15:03
|
Опять же,у microsoft есть примеры вызовов DCOM,где вообще предлагается на сервере вызывать методы excel,который установлен на отдельной машине в сети,и у них все работает,и более того,лицензионное соглашение не нарушается,т.к.при установке офиса на терминальный сервер нужно иметь лицензию microsoft office на каждое рабочее место,с которого к серверу подключаются.
|
|||
9
NorthWind
07.03.21
✎
15:06
|
(7) то есть выходит, что в принципе необязательно иметь 64-битный офис для такой работы? И утверждения, что раньше все работало, необязательно ложные, могло быть и так что действительно работало?
Переустанавливать офис пробовали, не помогло. |
|||
10
spectre1978
07.03.21
✎
19:24
|
Разумнее всего настоять чтобы 64-бит поставили и не греть голову?
|
|||
11
DAFA
08.03.21
✎
11:05
|
Интуиция подсказывает ексель на сервере переустановили
|
|||
12
NorthWind
08.03.21
✎
12:22
|
А могут ли какие-либо проблемы быть связаны с пользователем, от которого стартует сервер 1С?
Может быть, работа с ком-объектами недоступна конкретно ему?.. |
|||
13
NorthWind
08.03.21
✎
12:59
|
состояние регистрации компоненты comcntr.dll может как-то на это влиять?.. или она только про com-соединение с 1С и никак не связана с другими com-объектами? Нагуглить ничего путного не получается. Попробовали поставить 64-битный офис - не помогает
|
|||
14
timurhv
08.03.21
✎
13:09
|
(0) Обновление винды может было.
Перепишите на NativeXLSX для xlsx файлов, они распаковываются как zip архивы и производится чтение xml. https://infostart.ru/1c/articles/300092/ |
|||
15
Cthulhu
08.03.21
✎
13:26
|
например начиная с 15-го релиза скрипач... эммм... ексель совсем не нужен для того чтобы ексельный файл читать...
|
|||
16
NorthWind
08.03.21
✎
13:47
|
(14) вот это варик еще не смотрели. Может быть. ТабличныйДокумент.Прочитать () дает адскую дичь, все листы фигачит в одну таблицу, а там достаточно сложный механизм выборки данных с учетом нумерации колонок на листе - выбрать становится невозможно.
|
|||
17
Cthulhu
08.03.21
✎
14:09
|
(16): сам ты дичь криворукая.
нужные листы по областям выбираются влет. с дальнейшим процессингом учетом хоть по нумерации хоть по содержимому хоть по чему угодно. |
|||
18
NorthWind
08.03.21
✎
14:36
|
(17) спс за подсказку, помогло
|
|||
19
NorthWind
08.03.21
✎
14:37
|
Показать () выглядит страшно, в реальности оказалось не так уж плохо
|
|||
20
NorthWind
09.03.21
✎
08:00
|
В конечном итоге переписали через ТабличныйДокумент, прояснить вопрос с сисадминами не получилось. Всем спасибо за помощь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |