02.06.14 — 16:08
Код такой:
Попытка
Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла);
Исключение
ЗаписьЖурналаРегистрации(
«#COM»,
УровеньЖурналаРегистрации.Ошибка,
ЭтотОбъект,
«Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла): «+Объект.ИмяФайла,
ОписаниеОшибки());
Возврат;
КонецПопытки;
Ошибка такая: Ошибка получения объекта COM: -2147221014(0x800401EA): Не удается открыть файл при помощи специального имени
Платформа вот такая: 8.3.4.482
Где ошибка?
1 — 02.06.14 — 16:11
Объект.ИмяФайла что там?
2 — 02.06.14 — 16:11
(1) D:Книга1.xls
3 — 02.06.14 — 16:14
Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла,»Excel.Application»);
а так?
4 — 02.06.14 — 16:15
да и прежде чем его обрабатывать,попробуй закрой его
5 — 02.06.14 — 16:16
(3) Неа, теперь так Ошибка получения объекта COM: -2147221005(0x800401F3): Недопустимая строка с указанием класса. Вроде же всю жизнь было Excel.Application.
6 — 02.06.14 — 16:20
(5) Эксель не установлен?
7 — 02.06.14 — 16:20
(5) а он у тебя установлен? может код на сервере выполняется?
8 — 02.06.14 — 16:24
(6) Excel установлен.
Балин…. Ну да… В процедуре формы с директивой &НаСервере
9 — 02.06.14 — 16:25
А на сервере Excel’я нет. А у меня тонкий клиент. Стало быть мне только Excel на сервак ставить и без вариантов, да?
10 — 02.06.14 — 16:27
(9) почему? — читаешь таблицу на клиенте
пишешь её в формат 1С — любая коллекция
передаешь её на сервер
11 — 02.06.14 — 16:32
(10) ТЬфу, не в тот раздел СП посмотрел и не на тот метод «ПолучитьCOMОбъект» =)))
Всем спасибо =)
12 — 02.06.14 — 16:33
Ну вот же гадство. Теперь Ошибка в получении объекта COM (0x80004002) Интерфейс не поддерживается. Что за фигня.
13 — 02.06.14 — 16:34
Процедура теперь на клиенте выполняется.
1cVandal
14 — 02.06.14 — 17:00
наКлиенте
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = «»;
Фильтр = «Таблица(*.xlsx)|*.xlsx»;
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = «Выберите файл c описью вложения»;
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
Иначе
Возврат;
КонецЕсли;
Тз = объект.ТЗ;
Тз.Очистить();
//Тз.Колонки.Добавить(«ШК»);
//Тз.Колонки.Добавить(«Сумма»);
Попытка
Excel = Новый COMОбъект(«Excel.Application»);
Excel.WorkBooks.Open(ПутьКФайлу);
ExcelЛист = Excel.Sheets(1);
Исключение
Сообщить(«Не установлено приложение MS Excel!»);
Возврат;
КонецПопытки;
Перейти к контенту
|
|||
IKSparrow
02.06.14 — 16:08 |
Код такой: Попытка Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла); Исключение ЗаписьЖурналаРегистрации( «#COM», УровеньЖурналаРегистрации.Ошибка, ЭтотОбъект, «Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла): «+Объект.ИмяФайла, ОписаниеОшибки()); Возврат; КонецПопытки; Ошибка такая: Ошибка получения объекта COM: -2147221014(0x800401EA): Не удается открыть файл при помощи специального имени Платформа вот такая: 8.3.4.482 Где ошибка? |
||
1cVandal
1 — 02.06.14 — 16:11 |
Объект.ИмяФайла что там? |
||
IKSparrow
2 — 02.06.14 — 16:11 |
(1) D:Книга1.xls |
||
1cVandal
3 — 02.06.14 — 16:14 |
Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла,»Excel.Application»); а так? |
||
1cVandal
4 — 02.06.14 — 16:15 |
да и прежде чем его обрабатывать,попробуй закрой его |
||
IKSparrow
5 — 02.06.14 — 16:16 |
(3) Неа, теперь так Ошибка получения объекта COM: -2147221005(0x800401F3): Недопустимая строка с указанием класса. Вроде же всю жизнь было Excel.Application. |
||
salvator
6 — 02.06.14 — 16:20 |
(5) Эксель не установлен? |
||
1cVandal
7 — 02.06.14 — 16:20 |
(5) а он у тебя установлен? может код на сервере выполняется? |
||
IKSparrow
8 — 02.06.14 — 16:24 |
(6) Excel установлен. Балин…. Ну да… В процедуре формы с директивой &НаСервере |
||
IKSparrow
9 — 02.06.14 — 16:25 |
А на сервере Excel’я нет. А у меня тонкий клиент. Стало быть мне только Excel на сервак ставить и без вариантов, да? |
||
RomaH
10 — 02.06.14 — 16:27 |
(9) почему? — читаешь таблицу на клиенте пишешь её в формат 1С — любая коллекция передаешь её на сервер |
||
IKSparrow
11 — 02.06.14 — 16:32 |
(10) ТЬфу, не в тот раздел СП посмотрел и не на тот метод «ПолучитьCOMОбъект» =))) Всем спасибо =) |
||
IKSparrow
12 — 02.06.14 — 16:33 |
Ну вот же гадство. Теперь Ошибка в получении объекта COM (0x80004002) Интерфейс не поддерживается. Что за фигня. |
||
IKSparrow
13 — 02.06.14 — 16:34 |
Процедура теперь на клиенте выполняется. |
||
1cVandal 14 — 02.06.14 — 17:00 |
наКлиенте Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = «»; Фильтр = «Таблица(*.xlsx)|*.xlsx»; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = «Выберите файл c описью вложения»; Если ДиалогОткрытияФайла.Выбрать() Тогда ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; Тз = объект.ТЗ; Тз.Очистить(); //Тз.Колонки.Добавить(«ШК»); //Тз.Колонки.Добавить(«Сумма»);
Excel = Новый COMОбъект(«Excel.Application»); Excel.WorkBooks.Open(ПутьКФайлу); ExcelЛист = Excel.Sheets(1); Исключение Сообщить(«Не установлено приложение MS Excel!»); Возврат; КонецПопытки; |
TurboConf — расширение возможностей Конфигуратора 1С |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
i am try to hook to outlook application from windows Service but getting an exception Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE)) here is my code.
public void ItemSendEvent()
{
try
{
if (Process.GetProcessesByName(ApplicationConstants.OUTLOOK_PROCESS_NAME).Count() > 0)
{
// If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
outlookApplication = Marshal.GetActiveObject(ApplicationConstants.OUTLOOK_APPLICATION_NAME) as Microsoft.Office.Interop.Outlook.Application;
Microsoft.Office.Interop.Outlook.NameSpace nameSpace = outlookApplication.GetNamespace(ApplicationConstants.OUTLOOK_NAME_SPACE);
nameSpace.Logon("", "", Missing.Value, Missing.Value);
nameSpace = null;
outlookApplication.ItemSend += outlookApplication_ItemSend;
}
log.Info("Outlook Item Send event registered successfully.");
}
catch (System.Exception ex)
{
log.Error("Exception occurred while registering Outlook Item Send event. " + ex.Message);
}
}
but the same code when i launch it through Windows Form Application its working Fine. i gone through some site’s and they were saying that outlook object is not in ROT Table. what will be the solution.
asked Jun 2, 2016 at 10:58
0
Outlook, or any other Office app, cannot run in a Windows service even if your service is running as an interactive user. Only Extended MAPI (C++ or Delphi only) or an Extended MAPI wrapper like Redemption (I am its author — its RDO family objects) can be used in a service.
In your particular case, it looks like you are trying to trap the Application.ItemSend
event. There is absolutely no reason to create a Windows service for that. Create a COM addin — it will be loaded by Outlook and run as long as Outlook itself is running in the same process in the same security context.
answered Jun 2, 2016 at 22:45
4
Two common issues could cause this.
The first would be that you are running Visual Studio in Administrator mode and you are starting your program from within VS, and the Office application is not. To fix that, you need to run your Office application with elevated privileges, in Administrator mode, as well.
The second could be caused by the application not being fully started/loaded when you call Marshal.GetActiveObject(...)
.
answered Jun 2, 2016 at 11:14
gmileygmiley
6,4561 gold badge11 silver badges24 bronze badges
3
Old, but still significant thread.
I collided with this error when tried to access Outlook data using the MS example.
Treating the error in a Try / Catch block and offering the option of newing Outlook solves the problem:
const int ERROR_HRESULT_0x800401E3_MK_E_UNAVAILABLE= -2147221021;
Outlook.Application application = null;
// Check whether there is an Outlook process running.
if (Process.GetProcessesByName("OUTLOOK").Any())
{
try
{
// If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
application = Marshal.GetActiveObject("Outlook.Application") as Outlook.Application;
}
}
catch (Exception ex)
{
//This is the branch where you can get correctly the current Outlook instance
if (ex.HResult == ERROR_HRESULT_0x800401E3_MK_E_UNAVAILABLE)
{
application = new Outlook.Application();
}
}
}
else
{
application = new Outlook.Application();
}
Although the newing trick functions, no other Outlook instance is created, as Outlook behaves like a Singleton.
I only tested it with Office 365 64 bits installed.
answered Nov 15, 2020 at 15:44
you don’t need to have your application as a service to get it on the background …
if your winform work well, just put your winform in background running on the systray for instance
answered Nov 8, 2016 at 21:11
bobzerbobzer
891 silver badge7 bronze badges
i am try to hook to outlook application from windows Service but getting an exception Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE)) here is my code.
public void ItemSendEvent()
{
try
{
if (Process.GetProcessesByName(ApplicationConstants.OUTLOOK_PROCESS_NAME).Count() > 0)
{
// If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
outlookApplication = Marshal.GetActiveObject(ApplicationConstants.OUTLOOK_APPLICATION_NAME) as Microsoft.Office.Interop.Outlook.Application;
Microsoft.Office.Interop.Outlook.NameSpace nameSpace = outlookApplication.GetNamespace(ApplicationConstants.OUTLOOK_NAME_SPACE);
nameSpace.Logon("", "", Missing.Value, Missing.Value);
nameSpace = null;
outlookApplication.ItemSend += outlookApplication_ItemSend;
}
log.Info("Outlook Item Send event registered successfully.");
}
catch (System.Exception ex)
{
log.Error("Exception occurred while registering Outlook Item Send event. " + ex.Message);
}
}
but the same code when i launch it through Windows Form Application its working Fine. i gone through some site’s and they were saying that outlook object is not in ROT Table. what will be the solution.
asked Jun 2, 2016 at 10:58
0
Outlook, or any other Office app, cannot run in a Windows service even if your service is running as an interactive user. Only Extended MAPI (C++ or Delphi only) or an Extended MAPI wrapper like Redemption (I am its author — its RDO family objects) can be used in a service.
In your particular case, it looks like you are trying to trap the Application.ItemSend
event. There is absolutely no reason to create a Windows service for that. Create a COM addin — it will be loaded by Outlook and run as long as Outlook itself is running in the same process in the same security context.
answered Jun 2, 2016 at 22:45
4
Two common issues could cause this.
The first would be that you are running Visual Studio in Administrator mode and you are starting your program from within VS, and the Office application is not. To fix that, you need to run your Office application with elevated privileges, in Administrator mode, as well.
The second could be caused by the application not being fully started/loaded when you call Marshal.GetActiveObject(...)
.
answered Jun 2, 2016 at 11:14
gmileygmiley
6,4561 gold badge11 silver badges24 bronze badges
3
Old, but still significant thread.
I collided with this error when tried to access Outlook data using the MS example.
Treating the error in a Try / Catch block and offering the option of newing Outlook solves the problem:
const int ERROR_HRESULT_0x800401E3_MK_E_UNAVAILABLE= -2147221021;
Outlook.Application application = null;
// Check whether there is an Outlook process running.
if (Process.GetProcessesByName("OUTLOOK").Any())
{
try
{
// If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
application = Marshal.GetActiveObject("Outlook.Application") as Outlook.Application;
}
}
catch (Exception ex)
{
//This is the branch where you can get correctly the current Outlook instance
if (ex.HResult == ERROR_HRESULT_0x800401E3_MK_E_UNAVAILABLE)
{
application = new Outlook.Application();
}
}
}
else
{
application = new Outlook.Application();
}
Although the newing trick functions, no other Outlook instance is created, as Outlook behaves like a Singleton.
I only tested it with Office 365 64 bits installed.
answered Nov 15, 2020 at 15:44
you don’t need to have your application as a service to get it on the background …
if your winform work well, just put your winform in background running on the systray for instance
answered Nov 8, 2016 at 21:11
bobzerbobzer
891 silver badge7 bronze badges
- Remove From My Forums
-
Question
-
I am trying to access Microsoft word instance through my service (windows service) but I am getting this error
Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE)) ,
I have opened word document ( i can also see WINWORD.EXE in Task Manager) ,
I am using VS 2010 and MS Office 2003. Here is my code
Dim fs As New FileStream("D:log.txt", FileMode.OpenOrCreate, FileAccess.Write) Dim sw As New StreamWriter(fs) sw.BaseStream.Seek(0, SeekOrigin.End) Dim wordapp As Word.Application wordapp = Marshal.GetActiveObject("Microsoft.Office.Interop.Word.Application") For Each doc As Word.Document In wordapp.Documents sw.WriteLine(doc.FullName.ToString() + "n" + doc.ActiveWindow.WindowState.ToString()) Next sw.Flush() sw.Close()
if i use this code in windows form application it works perfect, but doesn’t works in windows service.Why is that for ? Windows Service Doesn’t support Microsoft.Office.Interop ? If it does work please guide.
- Moved by
Tuesday, February 26, 2013 9:58 AM
- Moved by
Answers
-
As Ken mentioned — this is not supported so do not expect any real help for this on Microsoft forum. That said, ProgId you pass to Marshal.GetActiveObject is wrong, fix this.
- Marked as answer by
Quist Zhang
Tuesday, March 5, 2013 10:53 AM
- Marked as answer by
-
Even if you do succeed in somehow automating Word or another Office application in a Windows service it will break or fail at the worst possible moment. It’s just not relable, and if an error message or warning or other UI message
is spawned that will hang your application compltely. What you want to do is really a very bad and unreliable thing to do.thanks,
if Progid is wrong then why does this code works fine in windows form application ?
Ken Slovak MVP — Outlook
- Marked as answer by
Quist Zhang
Tuesday, March 5, 2013 10:53 AM
- Marked as answer by
After searching on the web without success, here’s my question.
I’ve a task that i want to schedule to retrieve the attachment of an email from outlook and extract the data.
It works fine when I launch the task manually but whenever I try to launch it through a scheduled task it fails with the error :
COMException (0x800401E3): Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))
It occurs when the program tries to retrieve or create an instance of Outlook as follow:
private Application GetApplicationObject()
{
Application application = null;
if (Process.GetProcessesByName("OUTLOOK").Any())
{
application = Marshal.GetActiveObject("Outlook.Application") as Application;
}
else
{
application = new Application();
}
return application;
}
I tried several ways (batch file, .exe file, parameter from a program) but they all failed.
It was launched with the same account that was use to launch the task manually.
Can someone help me ? Any help would be appreciated!
Cheers!
asked Nov 5, 2015 at 12:05
3
Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.
If you are building a solution that runs in a server-side context, you should try to use components that have been made safe for unattended execution. Or, you should try to find alternatives that allow at least part of the code to run client-side. If you use an Office application from a server-side solution, the application will lack many of the necessary capabilities to run successfully. Additionally, you will be taking risks with the stability of your overall solution. Read more about that in the Considerations for server-side Automation of Office article.
You may consider using a low-level API (or any other third-party wrappers) — Extended MAPI on which Outlook is based on. Or EWS in case of Exchange profiles, see EWS Managed API, EWS, and web services in Exchange for more information.
answered Nov 5, 2015 at 12:27
Eugene AstafievEugene Astafiev
41.6k3 gold badges21 silver badges39 bronze badges
1
Just a couple of thoughts:
-
It could be a GUI issue. According to this answer, GUI tasks cannot be run from scheduled tasks. There may be a workaround, but I am not aware of one.
-
It could be a context or permission issue. What settings are you configuring in the task, and are they the same as when you run the task outside of task scheduler?
answered Nov 5, 2015 at 12:26
theMayertheMayer
15.1k7 gold badges56 silver badges87 bronze badges
1
По сути, такое сообщение:
- Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается.
Как и другие подобные сообщения:
- «Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Класс не зарегистрирован»
- «Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Сервер RPC недоступен»
Возникает в следующих случаях:
У службы «Запуск серверных процессов DCOM» тип запуска должен быть «Авто». (После изменения этой настройки, перезагрузите компьютер).
Если служба «Агент сервера 1С:Предприятия 8.2 / 8.3» запускается от имени специального пользователя, то у него должны быть права на запуск компоненты «Приложение Microsoft Excel»
Служба «Агент сервера 1С:Предприятия 8.2» не должна запускаться от имени пользователя с ограниченными правами, у него должны быть права на запуск компоненты «Приложение Microsoft Excel».
1С предприятие установлено в 64-битном варианте, а Excel — в 32-битном. Может помочь установка 1С в 32-битном варианте или наоборот.
У службы «Запуск серверных процессов DCOM» тип запуска необходимо установить в «Авто».
Повреждён установленный пакет MS Office. Переустановите.
Источник
ПолучитьCOMОбъект не работает на сервере.
При использование ПолучитьCOMОбъект() на файловой базе прекрасно работает, при запуске на серверной базе выдает ошибку
<Документ.ИсходящиеПисьма.Форма.ФормаДокумента.Форма(571)>: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147467259(0x80004005): Неопознанная ошибка
Windows 2008 R2, MS SQL 2008, 1c 8.3.4.437. Агент запускается от пользователя USR1CV который имеет права администратора. Установлен MS office 2010.
Если использовать:
Файл = Новый Файл(ВремФайл);
Файл.Удалить();
Не находить процедуру Удалить().
Видимо дело в правах и доступе, но не пойму, где забыл открыть доступ.
ОболочкаActiveDocument.Записать (ActiveDocumentShell.Write)
ОболочкаActiveDocument (ActiveDocumentShell)
Записать (Write)
Синтаксис:
Тип: Строка.
Имя файла, в который необходимо записать Active document. Если файл существует, он будет перезаписан, иначе — создан.
Описание:
Записывает Active document в файл.
(16) tiz7, Воспользуйтесь другой функцией работы с COM объектом
О = Новый COMОбъект()
O.Open
.
И второе вынесете код работы с COM объектом во внешний модуль
Если работа идёт в режиме управляемых форм, то перед началом функции, которая вызывает ПолучитьCOMОбъект() должно стоять НаСервере.
Файл = Новый Файл(ВремФайл);
Файл.Удалить();
Такой файл удалить нельзя, так как он не сохранён. Его можно только Файл.Закрыть();
Часть кода.
&НаСервере
Функция ПолучитьМакетНаСервереИП()
ВремФайл = ПолучитьИмяВременногоФайла(«doc»);
Попытка
КомОбъект = ПолучитьCOMОбъект(ВремФайл);
Исключение
Сообщить(ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
Сообщить(«Ошибка создания»);
Возврат неопределено;
КонецПопытки;
//.
КонецФункции
Все это работало до на другом сервере и в серверной базе. Просто видимо забыл про какие то права пользователя(
Да как-бы пофиг. Главное под какой учеткой сервер 1С крутится.
Околосабж:
Я так понял нужно MS Office документы создавать? С моей точки зрения не очень хорошо ставить офисный пакет на сервер БД.
Можно и без офиса документы то создавать, вот вордовский http://infostart.ru/public/16215/ так-же и с экселем легко найти. Лицензия жеж, деньги жеж. Кстати чтение из excel «летаить», если читать драйвером ODBC. и SQL запросы можно ! Ня!
Загружаем данные из Excel
Все работает великолепно. Но сжирает лицензии. После этой обработки уже никто не может зайти в подсистему. Приходится перегружать сервер. Подскажите, как с этим можно бороться?
ЗЫ. Обработка работает 1 раз в неделю. Пользователи могут быть разными.
Источник
Ошибка класса при использовании COM-объекта
Всем добрый день.
Внезапно перестала работать печатная форма — выводившая трудовой договор в документ OpenOffice через COM-объект. Платформа: 8.3.10.2580; Конфигурация: ЗУП Корп – 3.1.3.224. Проявляется и на файловой и на клиент-серверной базе.
Выскакивает в момент вывода ошибка «Класс не зарегистрирован».
Текст ошибки в конфигураторе:
<ВнешняяОбработка.ТрудовойДоговор.Форма.Форма.Форма(204)>: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147417846(0x8001010A): Фильтр сообщений выдал диагностику о занятости приложения.
Т.е. ошибка при команде » ПолучитьCOMОбъект» (см. ниже код).
Часть кода :
ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»);
Desktop = ServiceManager.createInstance(«com.sun.star.frame.Desktop»);
Scr = Новый COMОбъект(«MSScriptControl.ScriptControl»);
Scr.Language=»javascript»;
Scr.Eval(«Args=new Array()»);
Args = Scr.Eval(«Args»);
Scr.AddObject(«ServiceManager», ServiceManager);
ДвоичныеДанныеМакета = ПолучитьИзВременногоХранилища(ПолучитьМакетСКлиента());
ИмяВрем = ПолучитьИмяВременногоФайла(«.odt»);
ДвоичныеДанныеМакета.Записать(ИмяВрем);
// выводим данные
Попытка
OpenOffice = Desktop.LoadComponentFromURL(ПреобразоватьВURL(ИмяВрем), «_blank», 0, Args);
Документ = ПолучитьCOMОбъект(ИмяВрем);
OpenOffice.ReplaceAll(Документ).
Что за ошибка, отчего может быть? Переустановку платформы — пробовали.
Источник
Ошибка при получении списка доменов
Подскажите куда копать не могу получить список доменов.
Вылетает на -> ПолучитьCOMОбъект(«LDAP://RootDSE»);
ошибка следующая:
//<ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(61)>:
//Ошибка при вызове метода контекста (ПолучитьCOMОбъект):
//Ошибка получения объекта COM: -2147023541(0x8007054B):
//Указанный домен не существует или к нему невозможно подключиться.
Win2008 R2 64x
1C8.3
Процедура ПолучитьСписокДоменов ()
КомандаАДО = Новый COMОбъект(«ADODB.Command»);
СоединениеАДО = Новый COMОбъект(«ADODB.Connection»);
СоединениеАДО.Provider = «ADSDSOObject»;
Попытка
СоединениеАДО.Open(«Active Directory Provider»);
Исключение
Сообщить(«Ошибка при открытии Active Directory Provider: » + ОписаниеОшибки());
КонецПопытки;
КомандаАДО.ActiveConnection = СоединениеАДО;
//Получаем имя домена к которому принадлежит данный компьютер
Попытка
RootDSE = ПолучитьCOMОбъект(«LDAP://RootDSE»);
//Валится после данного запроса
//=================================================================
//<ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(61)>:
//Ошибка при вызове метода контекста (ПолучитьCOMОбъект):
//Ошибка получения объекта COM: -2147023541(0x8007054B):
//Указанный домен не существует или к нему невозможно подключиться.
//=================================================================
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
(1) или, например, пользоваться поиском в гугле. Или, хотя бы, по форуму:
Источник
Содержание
- Ошибка «-2147467262(0х80004002) Интерфейс не поддерживается» при выводе печатных шаблонов WORD в тонком и веб-клиенте
- Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
- Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
- Особенности
- Устранение:
- Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Заключение
- Ошибка при вызове конструктора (COMОбъект) ; по причине: Интерфейс не поддерживается
- Ошибка — 2147467262: Интерфейс не поддерживается — как исправить?
- Причины возникновения ошибки в Windows
- Ошибка 2147467262 в Windows — что делать
- Восстановление системных файлов
- Утилита Windows Fix
- Другие способы решения ошибки
Ошибка «-2147467262(0х80004002) Интерфейс не поддерживается» при выводе печатных шаблонов WORD в тонком и веб-клиенте
Сложности в процессе решения:
Согласно инструкции разработчиков, по словам ошибки «интерфейс не поддерживается» проделали следующее:
1. Пользователю USR1CV82, от имени которого запускается сервер 1С, дать права на запуск DCOM MicrosoftWord и DCOM Microsoft Excel (при необходимости).
Для этого нужно:
1.1. Запустить службу компонентов. Из командной строки набрать
mmccomexp.msc
и найти компоненту Word или Excel. Пример для Word представлен на рисунке ниже:
При запуске службы компонентов на 64-х разрядной машине, 32-х разрядные компоненты могут не отображаться, тогда запуск нужно осуществить через команду:
C:WINDOWSSysWOW64>mmc comexp.msc /32
1.2. Открыть свойства компоненты и перейти на закладку Безопасность.
1.3. В разделе Разрешения на запуск выбрать пункт Настроить и нажать кнопку Изменить. Добавить пользователя USR1CV82.
Не помогло, база выдавала ошибку: Данная команда недоступна, так как не открыт ни один документ.
В ходе работ закончилась лицензия на MS Office, и в конфигурации после создания COM-объекта «Word.Application» на каждом шаге в отладке ОС запускает процесс завершения установки и активации MS Office. Клиент купил лицензию для сервера на MS Office.
После установки лицензий вернулась ошибка -2147467262(0х80004002) Интерфейс не поддерживается.
По словам разработчиков, перевод обработки Word на клиента не решит проблему. Судя по предоставленным нами логам — ошибка возникает в режиме веб-клиента. В этом режиме программная обработка Word на клиенте не возможна, только серверная обработка.
Но для работы базы необходимо было решить данную проблему. Мы вернули все изменения, которые сделали по инструкции разработчика. Долго прорабатывали доступы к папкам временного хранилища для пользователей извне. Создали еще одного администратора без пользовательских настроек, для него заново настраивали IIS.
Настроили работу сервера через Apache. Создали папку, в которой находятся редактируемые шаблоны Word, дали общий доступ к этой папке, для пользователя IUSR и группы пользователей IIS_users.
На Windows Server 2012 (64 разрядности) установлен Word 2013 (32 разрядности), а у пользователей установлен Adobe Reader. Шаблон договора заполняется в 1С на сервере и конвертируется в PDF, сохраняется во временную папку на сервере.
Мы переписали обработку, чтобы документ сохранился в формат PDF (по требованию клиента для запрета редактирования, изменения документа) и сохранялся во временное хранилище 1С. Из хранилища документ/файл передается на указанный нами путь (во временные папки у клиента), как для тонкого клиента, так и для веб-клиента. Открывается файл именно из этой временной папки. Ниже пример кода, который мы дописали для передачи файла с сервера на клиент.
&НаКлиенте
Попытка
ЗапуститьПриложение(ПолноеИмяФайлаНаКлиенте);
Исключение
Адрес = УПН_ОбщиеПроцедуры.ПолучитьФайл(ПолноеИмяФайлаНаКлиенте);
Описание = Новый ОписаниеПередаваемогоФайла(«C:doc» + ДанныеФайла.ИмяФайла,Адрес);
МассивОписаний=Новый Массив;
МассивОписаний.Добавить(Описание);
ПолучитьФайлы(МассивОписаний. Ложь);
ЗапуститьПриложение(«C:doc» + ДанныеФайла.ИмяФайла);
КонецПопытки;
В настроках Панель управления, далее путь: Администрирование->Управление групповой политикой->Домены – выбираем наш сервер и во вкладке «Делегирование» добавляем группу IIS_users и пользователя IUSR (через которого подключаются внешние пользователи).
В веб-клиенте после отправки документа на печать браузе попросит установить расширение. Нужно установить, и все заработает:
Предпочтительнее использовать Internet Explorer (IE) не ниже 8 версии. При использовании Google Chrome (гугл хром) возникает ошибка: Использование модальных окон в данном режиме запрещено.
Если Internet Explorer не запускает документ на печать, можно принудительно запустить браузер от имени администратора:
В тонком клиенте сразу открывается заполненный шаблон (на примере ниже стерты данные клиента). Форма открывается в формате PDF по требованию клиента, чтобы пользователь не мог редактировать документ перед печатью.
Источник
Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.
Особенности
Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.
Убедиться в причине ошибки возможно, если посмотреть логи системы.
Устранение:
- на сервере убиваем excel (taskkill /im excel.exe /f)
- открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
- в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
- справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.
Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Запускаем REGEDIT
- Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
- Создаем в ней строковый параметр AppID =
- Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
- После этого в Component Services должен появиться «Microsoft Excel Application»
Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.
Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.
Так что нельзя однозначно сказать, что же решило проблему.
Заключение
В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.
В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.
Бывает такое: вы прописываете для компонента пользователя и пароль.
Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.
Реклама — виновница того, что народ выбрал себе в вожди Гитлера. Реклама призвана убеждать граждан, что ситуация нормальна, когда она катастрофически ненормальна.
Источник
Ошибка при вызове конструктора (COMОбъект) ; по причине: Интерфейс не поддерживается
Необходимо сравнить данные в трех базах: УТ 10.3, БП 2.0 и Бух 7.7
Хочу использовать для этого COM-подключение к базам 7.7 и 2.0 из УТ.
Если базы поставить на Win XP, то COM-подключение работает.
Начинается лето и некоторое время я хотел поработать на даче. Перенес базы на ноутбук с Win 8.1. Отдельно все базы доступны и с ними можно делать что угодно. Но COM-подключение не работает
Выдается ошибка:
Ошибка при вызове конструктора (COMОбъект)
БазаОлеТек= Новый COMОбъект(«V77.Application»);
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается
Что можно (нужно) сделать чтобы все-таки COM-подключение заработало ?
Платформа 7.7 устанавливалась копированием.
Для УТ и БП использовалась платформа 8.2 и 8.3
Цитата |
---|
Платформа 7.7 устанавливалась копированием |
Геннадий Новосибрск пишет:
Цитата |
---|
Платформа 7.7 устанавливалась копированием |
Я впервые слышу об установке копированием.
Почему бы не установить штатно ?
Геннадий Новосибрск , На Win 8 (а также и на Win 7) штатно не устанавливается
Почитайте об этом в интернете
Рисовод , Про «бесплатно» не понятно. Из установочного комплекта 7.7 в Win 8 не устанавливается
Рекомендуют установить платформу на XP, а потом скопировать каталог, в который установлена 7.7, скопировать на компьютер с Win 8.
Так и было сделано. Отдельно все базы доступны работают, а COM-подключение не работает.
И причем здесь «бесплатно» ?
Цитата |
---|
Геннадий Новосибирск , На Win 8 (а также и на Win 7) штатно не устанавливается Почитайте об этом в интернете |
Как-то странноватенько — задавать один вопрос, под которым закамуфлирован на самом деле — другой, для разгадывания которого отсылать в интернет без конкретных ссылок
Там же в интернете и пишут — что делать. надо было очень постараться, чтобы понять это так, чтобы не работало и не устанавливалось.
Первые 2 самых очевидных способа, среди множества других без установок копированием, которые находятся сразу поиском в интернете:
- поднять виртуальную машину с Windows XP из под Windows 8.1 и там всё устанавливать без копирования
- в свойствах файла запуска в разделе Совместимость отметить:
— запустить программу в режиме совместимости c:
Windows XP (Пакет Обновления 3)
— Выполнять эту программу от имени администратора
Источник
Ошибка — 2147467262: Интерфейс не поддерживается — как исправить?
При установке программ, запуск которых доступен из контекстного меню Windows, происходит ошибка — 2147467262 Интерфейс не поддерживается. Как исправить её, вы сможете узнать в этой статье. Такая проблема может появляться на всех версиях ОС Windows. Но чаще она возникает на Windows 7. Будут использованы разные методы устранения. Если не подойдет один — используйте другой.
Причины возникновения ошибки в Windows
Причиной ошибки могут быть сбои системных файлов при установке программного обеспечения. При этом нарушения могли быть уже в системе до установки программ. Появляется сообщение, когда пользователь пытается воспользоваться контекстным меню (нажимая правую кнопку мыши (ПКМ)). Эти симптомы ОС могут говорить о наличии вирусов в компьютере, которые часто нарушают системные файлы.
Ошибка 2147467262 в Windows — что делать
Для начала попробуйте простые действия, которые могут решить большинство временных сбоев в системе. Прежде всего перезагрузите компьютер и попробуйте вызвать ошибку отсутствия поддержки интерфейса. Следующий шаг может помочь определить, с какой программой связано появление ошибки. Нам нужно попытаться загрузиться в «чистую» Windows. Для этого выполните следующие рекомендации:
- Нажмите внизу на значок «Пуск» и найдите строку поиска;
- В ней нужно ввести словосочетание «Конфигурация системы». Она нам необходима для настройки чистой загрузки ОС;
- В результатах найдите пункт «msconfig» и выберите его;
- В окне вверху расположены вкладки. Выберите «Общие»;
- Затем уберите галочку с пункта «Обычная загрузка» и переместите её на «Выборочная загрузка»;
Перезагрузите компьютер и снова попытайтесь вызвать ошибку. Если она появляется, значит системные службы не имеют к ней отношения. Но если системное сообщение больше не появляется, можно определить какая из служб вызывает её. Для этого необходимо по очереди ставить одну галочку на службе и перезагружать свой ПК. Для ускорения процесса поиска причинной службы вы можете выбирать не одну, а сразу несколько служб. Главное — запоминать группу, чтобы потом определить нерабочую из этой группы.
Во вкладке «Автозагрузки» выберите каждое приложение, которое запускается вместе с Windows и нажмите внизу кнопку «Выключить». При входе в систему способом чистой загрузки, их также нужно поочередно включить, чтобы определить причину ошибки. Когда вы определите службу, её можно временно отключить. После этого выясните, как можно устранить проблемы с этой службой. Также попробуйте переустановить или удалить программу, которую вы устанавливали на рабочую операционную систему.
- Откройте «Пуск» и нажмите справа на пункт «Панель управления»;
- Выберите здесь «Удаление программ» и найдите нужную в списке установленных;
Восстановление системных файлов
Если предыдущий метод не помог устранить ошибку, попробуем восстановить все возможные сбои в системных файлах. Для этого в Windows есть собственные утилиты. Вам понадобится стабильное подключение к интернету, так как утилитам нужен будет доступ к серверу Майкрософт для скачивания поврежденных файлов. Выполните следующую инструкцию:
- Необходимо запустить командную строку. Делать это нужно так: откройте «Пуск» и напишите в поиске «Командная строка». В результатах выберите её ПКМ. В контекстном меню появится пункт «От имени администратора». Нажмите его;
- В окне нужно записать «sfc /scannow» и нажать кнопку ввода. Дождитесь её завершения и проверьте, появляется ли ошибка 2147467262 «Интерфейс не поддерживается». Если вам удалось её исправить, можно закрыть все ненужные окна и продолжить работу;
- Если сбой снова появляется, в этом же окне введите другую команду: «dism /online /cleanup-image /checkhealth» без кавычек и нажмите кнопку ввода;
- Дождитесь завершения процесса проверки файлов, перезагрузите компьютер и снова попробуйте выполнить действия, которые вызывали ошибку.
Если этот метод также не помог, как и предыдущий, попробуйте восстановить систему при помощи загрузочного диска Windows. DVD, с которого вы устанавливали систему. Чтобы загрузиться с диска, вам снова нужно будет установить параметры загрузки с дискового привода в BIOS. Следующие действия схожи с установкой. Только при выборе действий нужно указать «Восстановление системы», вместо установки. Далее следуйте подсказкам мастера.
Утилита Windows Fix
Раньше на официальном сайте Microsoft была доступна утилита от создателей Windows. Она позволяла устранять множество проблем на компьютере и называлась Windows Fix It. Разработчики утилиты реализовали её функции иначе. Уже долгое время она не доступна по адресу загрузки. В последних версиях Windows разработчики присвоили возможности когда-то существовавшей утилиты во встроенной в ОС «Устранение проблем». В ранних версиях этот пункт никогда не рассматривался пользователями как действенный. Но сегодня, запустив «Устранение неполадок» в Windows 8.1, 10, мастер действительно становится полезным.
Группой программистов была разработана другая неофициальная версия этой утилиты. Загрузить её можно по адресу https://windowsfix.ru/. Так как разработчик неизвестен, перед запуском и установкой проверьте утилиту на вирусы. Для ОС Windows 10 есть другая утилита, которая также решает множество ошибок и сбоев. Скачать её можно на странице . Её не нужно устанавливать, это портативная программа. Требуется только запуск исполняемого файла. В целях безопасности компьютера, утилиту также нужно проверить на вирусы.
Если уж речь пошла о неофициальных методах решения, попробуйте скачать и запустить утилиту с данного форума — http://delphidevelop.ru/forum/29-312-1/. Ссылка находится в первом посте. Каждый, кто испробовал её утверждают, что ошибку удалось устранить.
Другие способы решения ошибки
Если появляется ошибка, и вы не можете открыть папки на своем компьютере, попробуйте создать новую учетную запись. Она не поможет решить ошибку на учетной записи администратора, но у вас будет доступ к файлам, которые можно перенести на другой диск, флэшку или в облако.
- Если пользователю не доступно стандартное окно «Пуск» или «Панель управления», нажмите вместе WIN+R и введите «netplwiz». Нажмите ENTER;
- Нажмите кнопку «Добавить» и создайте нового пользователя, присвоив нужные параметры;
- Перезагрузите компьютер и выберите новую учетную запись.
Когда вы окажитесь в системе, попробуйте открыть папки, где находятся важные данные и перенесите их. Сохранив копии файлов, систему можно попытаться восстановить или переустановить.
Есть еще один способ, который может решить ошибку 2147467262 — интерфейс не поддерживается. Он заключается в перерегистрации файлов динамической библиотеки (dll). Для его применения вам нужно вводить последовательно большое количество команд. По сложности он сопоставим с переустановкой Windows.
Источник
wardamask 0 / 0 / 0 Регистрация: 10.02.2016 Сообщений: 13 |
||||||||
1 |
||||||||
1C 8.x 15.02.2016, 16:14. Показов 13897. Ответов 6 Метки нет (Все метки)
Help me!!! Вот так ругается…
Подскажите пожалуйста что мне делать?
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
15.02.2016, 17:30 |
2 |
wardamask, на сервере установлен офис?
0 |
0 / 0 / 0 Регистрация: 10.02.2016 Сообщений: 13 |
|
15.02.2016, 17:34 [ТС] |
3 |
Да установлен
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
15.02.2016, 17:38 |
4 |
wardamask, а с сервера доступен файл который ты открываешь (путь с клиента)? Добавлено через 48 секунд Думаешь он откроется? Добавлено через 35 секунд
0 |
wardamask 0 / 0 / 0 Регистрация: 10.02.2016 Сообщений: 13 |
||||
15.02.2016, 18:11 [ТС] |
5 |
|||
Решил проблему так…
Теперь не важно есть ли на сервере офис, главное что бы он на клиенте был. На сервер только строковые значения передаются. И как не странно работает в три раза быстрее предыдущего варианта. Спасибо)))
0 |
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
15.02.2016, 18:11 |
6 |
wardamask, тоже долго возился с этим, правда в экселе, в итоге сделал все, что с экселем связано, на клиенте, специально для серверной базы. Можешь посмотреть мой пример, только там запись, а не чтение.
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
16.02.2016, 00:55 |
7 |
да не за что, главное что ты мозг включил……..
0 |
-
Приветствую.
Столкнулся с проблемой:
Создал обработку, которая запускает Excel, читает файл, заполняет его и записывает.
На клиенте все великолепно выполняется.
Создал регламентное задание, которое запускает в определенное время это на сервере.
При выполнении на сервере вылезает ошибка про то, что типа MS Excel не удалось получить доступ к файлу. При этом доподлинно известно, что ком. объект Excel даже не создался (нет его в процессах диспетчера задач).
Примечательно, что если запустить обработку клиентом с машины, где установлен сервер 1С, то все выполняется.Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.WorkBooks.Open("D:DstOrder.xls");
Чувствую, что дело тут в том, что при работе с клиента Excel запускается из-под пользователя в реальном сеансе, а в случае сервера — под пользователем хоть и с полными правами, но без запущенного сеанса.
Сервер Windows Server 2008 R2 Standart. Service Pack 1
Как это обойти? -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
1) Файл D:DstOrder.xls действительно существует на сервере?
2) У пользователя под которым запущен сервер есть право доступа к каталогу D:Dst? -
1. Да, файл существует. Обработка при запуске на этом же сервере из-под клиента выполняется без проблем.
2. Доступ есть. Пользователь — администратор. Пробовал файл в разные папки класть.— Объединение сообщений, 15 авг 2014 —
Полный текст ошибки. Ошибка от имени Microsoft Excel, однако процесса EXCEL в диспетчере задач нет!
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «D:DstOrder.xls». Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.— Объединение сообщений, 15 авг 2014 —
8.3.4.496
Последнее редактирование: 15 авг 2014 -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Т.е. сервер (ragent.exe и т.д.) стартует от имени Администратора? Или все же от USR1CV82 (не знаю как там по умолчанию под 8.3 пользователь называется).
-
У меня пользователь USR1CV81 со старых времен. Он входит в группу Администраторы.
Сейчас провел эксперимент. Зашел на сервер от имени этого пользователя и в клиенте запустил обработку — без проблем.
-
Попробовал вместо COMОбъект использовать ПолучитьCOMОбъект. Вот результат
Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147221021(0x800401E3): Операция недоступна
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
likalim и Mark768 нравится это.
-
Спасибо тебе, добрый человек. Сам бы не допер…
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Да не за что.
Не совсем я это, разум это коллективный.. -
Небольшое уточнение:
При выборе «Текущий пользователь», обработка на сервере запускает Excel только в том случае, если на сервер выполнил вход кто-нибудь из пользователей.
Если это условие не выполняется, то получаем ошибку:Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается
На вкладке «Удостоверения» есть 3-й вариант запуска — указать конкретного пользователя и пароль.
Я указал пользователя, от имени которого работает сервер 1С (USR1CV81).
В таком варианте обработка запускает Excel при отсутствии работающих пользователей на сервере.
Это меня устраивает.В моем случае не бывает работающих пользователей на сервере и тем более, запускающих Excel
Могу предположить, что при запуске Excel любым пользователем (не USR1CV81) могут возникнуть проблемы.
Например, Excel запускается и работает, однако при старте выдает «Невозможно использовать связывание и внедрение объектов». -
Приветствую.
Когда в этой теме мне очень помогли. Восстановили сервер после аварии. Теперь восстанавливаю возможность работы пользователя USR1CV81 с Excel.
Столкнулся с тем, что в Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM теперь нет ветки Microsoft Excel Application, хотя сам Excel установлен.
Что я сделал не так? -
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Переустанавливать эксель пробовали ?
-
Да, уже несколько раз и разные версии.
Вычитал в сети, что если нет ветки явно, то нужно в реестре найти его наименование в виде кода. В реестре нашел, но его кода в Настройка DCOM тоже нет. -
Offline
Ardak
- Регистрация:
- 21 дек 2015
- Сообщения:
- 1
- Симпатии:
- 1
- Баллы:
- 1
Вдруг кому понадобится
Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. -
Offline
limus80
- Регистрация:
- 30 май 2013
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
важное как мне кажется дополнение
ко всему вышесказанному надо добавить учетке права входа в качестве сервиса на компьютер
без этого у меня не работало на W2K12R2 -
Offline
Gucci76
Опытный в 1С- Регистрация:
- 9 мар 2008
- Сообщения:
- 75
- Симпатии:
- 0
- Баллы:
- 26
Здравствуйте.
У меня похожая проблема, но только с ВОРДом
В файловом варианте я могу Новый COMОбъект(«Word.Application»), а в клиент-серверном нет.
Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM тут НЕ нашел ворда (открывал через команду «mmc comexp.msc /32»).