Недостаточно прав на создание com объекта

1. Adrenal1n 3 01.08.20 22:01 Сейчас в теме
Ребят, есть проблема, хочу открыть Excel файл посредством COM на сервере, пишу такой код:
&НаСервере
Процедура ПродолжитьЗагрузкуНаСервере (СтруктураПараметровФайла, ДополнтиельныеПараметры)
	
	ФайлЗагрузки = ПолучитьИзВременногоХранилища(СтруктураПараметровФайла.Адрес);
	ПутьДляФайла = ПолучитьИмяВременногоФайла(СтруктураПараметровФайла.Расширение);
	ФайлЗагрузки.Записать(ПутьДляФайла);
	
	ФайлЗагрузки = Новый COMОбъект("Excel.Application");
	Книга = ФайлЗагрузки.WorkBooks.Open(ПутьДляФайла);
	ЧислоЛистов = Книга.Sheets.Count;
	Счетчик = 0;
	Элементы.Лист.СписокВыбора.Очистить();
	Пока Счетчик <= ЧислоЛистов - 1 Цикл
		ЛистExcel = Книга.WorkSheets(Счетчик + 1);
		Элементы.Лист.СписокВыбора.Вставить(Счетчик, ЛистExcel.Name, ЛистExcel.Name);
		Счетчик = Счетчик + 1;
	КонецЦикла;
	Если Элементы.Лист.СписокВыбора.Количество() > 0 Тогда
		Лист = Элементы.Лист.СписокВыбора[0].Значение;		
	КонецЕсли;
КонецПроцедуры
Показать

Разумеется до этого файл получил на клиенте, обработал и передал (т.е. файл в папке по нужному пути появляется), но на строке
ФайлЗагрузки = Новый COMОбъект("Excel.Application");
Вылетает с ошибкой, что недостаточно прав, скрины во вложении.
По обертке - конфа тррехзвенка (MSSQL), Ecxel 64 битный, сервер-приложение и платформа тоже (платформа 8.3.16.1030, пользователь заведен стандартный (USR1CV8), этому пользователю разрешил все в службах компонентов (папка DCOM, Microsoft Excel Application), папки C:\Windows\SysWOW64\config\systemprofile\Desktop\ и C:\Windows\System32\config\systemprofile\Desktop\ созданы, права на них полные, дал еще полные права на папку C:\Windows\System32\config\systemprofile\AppData. Все это для пользователя USR1CV8. Комп перезагружал, службу 1с и MSSQL тоже перезагружал, вроде все сделал, а прав как не было, так и нет, что нужно еще сделать? Разумеется, что на клиенте или в файловом варианте работы такой проблемы нет.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Tiger77 69 02.08.20 03:06 Сейчас в теме
1. Администрирование - Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ - Создать приложение – Создать новое приложение – вводим имя «V83.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)


Убедитесь что подставляете нужную версию и розрядность
2. В появившейся ветке V83COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов - <каталог 1С>\bin\comcntr.dll

Обязательно!
3. Правой кнопкой по ветке V83COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» - Поставил галку «Применить политику программных ограничений» - Уровень ограничений «Неограниченный»
4. Adrenal1n 3 02.08.20 06:57 Сейчас в теме
(2) Не помогло то что описано, сделал все в точности по инструкции, скрин прилагаю. В чем еще может быть проблема? Может банально прав на какую-то папку не хватает?
Прикрепленные файлы:
3. Tiger77 69 02.08.20 03:09 Сейчас в теме
В версии 1с старше 8.3.10 уже не нужно использовать Excel для чтения многостраничных файлов

См. пример:
https://infostart.ru/1c/articles/341855/
5. Adrenal1n 3 02.08.20 07:01 Сейчас в теме
(3) Да, я знаю, спасибо, в этом случае я загружаю только список листов, для того, чтобы пользователь смог выбрать нужный ему лист.
Если использовать "ТабличныйДокумент.Прочитать(...)", то листы либо склеятся, либо загрузится только один (а его нужно передать по имени).
6. AlexandrSmith 69 02.08.20 10:06 Сейчас в теме
Попробуйте для начала положить файл под ноги, то есть в папку 1С. Тогда вы точно отсечете все возможных блокировки доступа, 1с точно увидит файл у себя под ногами. Прямо в папку bin запихните, а потом уже будете играться с правами на рабочем столе, с правами созданными для каталога или унаследованными или вообще замените владельца всех папок. Это будет уже в будущем.
12. Adrenal1n 3 02.08.20 10:30 Сейчас в теме
(6)Он уже и так под ногами лежит (Функция ПолучитьИмяВременногоФайла гарантирует, что к возвращемому пути будет доступ и что после окончания сеанса будет очищен файл). Да и с файлом самим нет проблемы хотя бы потому что валится на этой строчке ФайлЗагрузки = Новый COMОбъект("Excel.Application"); а эта строка никак не связана с файлом. Если я просто возьму кнопку и повешаю на сервере обработчик ее нажатия такой же, то тоже будет ошибка (без какого либо файла)
7. AlexandrSmith 69 02.08.20 10:09 Сейчас в теме
Для V83COMConnector создания, пока нет повода, возможно конечно это поможет, но вероятнее всего проблема проще. Где то у вас действительно не хватает доступа, вероятнее всего на уровне файловой системы. До V83COMConnector создания, нужно все проверить как следует.
13. Adrenal1n 3 02.08.20 10:34 Сейчас в теме
(7)С ком коннектором у меня и не было на самом деле проблем, есть бухия и УТ, которые обмениваются напрямую на этом же сервере, и не вылетают с ошибкой, так что вряд ли дело в этом..
9. AlexandrSmith 69 02.08.20 10:15 Сейчас в теме
Если говорить серьезно о V83COMConnector. То для меня исчерпывающей была эта статья из всех выше приведенных.
Если сервер 1С стоит на Windows х64, то рано или поздно Вы столкнетесь с проблемой создания COM-соединения, если соединение инициируется на стороне сервера. На стороне клиента COM-соединение работает нормально, на стороне сервера вываливается с ошибкой. Данная статья позволяет снять проблему. НО - до переустановки платформы.
https://infostart.ru/1c/articles/197627/
Тут описано все досконально, по ней и настраивал Com-соединение. Но если честно, то давно уже такие настройки нигде не требуются.
14. Adrenal1n 3 02.08.20 10:34 Сейчас в теме
10. AlexandrSmith 69 02.08.20 10:20 Сейчас в теме
Если вам кто-то на данных момент предложит настройку V83COMConnector. Значит, скорее всего в фирме очень мало денег и работают плохие администраторы, которые "грамотными" действиями вставляют палки в колеса программистам. Либо компьютеры настолько слабые, что не может фирма избавиться от старых версий Windows Сервер, в которых с трудом работал V83COMConnector. Но зачастую в современных реалиях достаточно сделать следующее
http://www.steeltrace.ru/details/articleid/22/%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82­%D1%80%D0%B0%D1%86%D0%B8%D1%8F-1%D1%81-com-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0­-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-64-%D0%B1%D0%B8%D1%82%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F­%D0%BC%D0%B8.aspx
11. AlexandrSmith 69 02.08.20 10:25 Сейчас в теме
Еще я бы обратился напрямую к статье microsoft
https://support.microsoft.com/ru-ru/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Тоже очень удобная связка статей, позволяет трезво взглянуть на создание собственного V83COMConnector. Нужен ли он вообще
15. Adrenal1n 3 02.08.20 10:35 Сейчас в теме
(11)да мне вообще не нужен) мне нужно, чтобы excelApplication на сервере заработало
16. frying 21 02.08.20 14:03 Сейчас в теме
(15) С excel те же шаманства, что с коннектором. Разрядность excel, права доступа на com объект excel
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот