Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Способ №1.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Способ №2.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыbincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Привет, уважаемые гуру!
я начинающий 1с-ник. Столкнулся с проблемой. Заменил комп на новый и перестал работать код:
V83 = Новый COMОбъект(«V83.Application»);
connection = Истина;
ДанныеДляПокдлючения = «File=»»» +
СокрЛП(«C:8.3.12.1412test01») + //ПутьКбазе
«»»;Usr=»»» +
СокрЛП(«user_wo_ws») + //Логин
«»»;Pwd = «»» +
СокрЛП(«1111») + «»»;»; //Пароль
Попытка
connection = V83.Connect(ДанныеДляПокдлючения);
Исключение
//Сообщить(ОписаниеОшибки());
ТекстОшибки = ОписаниеОшибки();
connection = Ложь;
#Если Клиент Тогда
Сообщить(«ОШИБКА ПОДКЛЮЧЕНИЯ: » + ТекстОшибки);
#КонецЕсли
КонецПопытки;
Ошибка: «Ошибка при вызове метода контекста (Connect): Неизвестная ошибка»
База серверная. Платформа 8.3.12.1790
При этом на старом ПК всё работает, на новом нет.
Заметил, что на старом ПК в НАСТРОЙКА DCOM есть «1CV83 Application», а на новом компе нет.
Регистрация библиотеки comcntr.dll эффекта не даёт. Переустановка платформы на клиентском ПК тоже не помогает.
Подскажите, куда копать?
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Способ №1.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Способ №2.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыbincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Содержание
- Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
- Заполнение внешней таблицы
- Выборка данных и запись
- Использование хранимых процедур
- Новые записи:
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83′». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Способ №1.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Способ №2.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
2.Для платформы х64
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Пришлось недавно ближе поработать с объектами ADODB. Давно этого не делал, так что пришлось снова смотреть в старый код, а что-то и в интернете поискать. Решил скомпоновать базу здесь, в блоге — для дальнейшего возвращения.
Работа с ADODB производится через несколько объектов:
ADODB.Connection — Объект производит подключение к источнику данных, а так же трансляцию команд и наборов данных
ADODB.RecordSet — Объект предоставляющий механизмы работы с набором данных, такие как получение, модификация, удаление или добавление данных.
ADODB.Command — Объект, так же предоставляющий механизмы работы с наборами данных, но, в отличие от RecordSet, не возвращает данные на клиента.
ADODB.Connection
Перед тем как начать работать с данными из внешнего источника необходимо установить с ним связь, для этого вызывается функция Open объекта Connection, в единственный параметр этой функции передается строка ConnectionString с описанием параметров подключения.
Попытка ADOСоединение = Новый COMОбъект(«ADODB.Connection»); ADOСоединение.Open(«Provider=SQLOLEDB.1; |Persist Security Info=False; |User ID=»+Пользователь+»; |Password=»+ Пароль+»; |Initial Catalog=»+ База+»; |Data Source=»+ Сервер); Возврат ADOСоединение; Исключение КонецПопытки;
Provider — Имя драйвера источника данных (к примеру SQLOLEDB.1 для MS SQL server)
Persist Security Info — необходимость использования шифрованого канала
User ID — Имя пользователя внешнего источника
Password — Пароль пользователя
Initial Catalog — Имя базы внешного источника
Data Source — Имя сервера
ADODB.RecordSet
Открытие набора данных для всей таблицы. Этот вариант хорош тем, что есть возможность указания дополнительных параметров набора данных.
RecordSet.Open(Источник, Соединение, ТипКурсора, ТипБлокировки, Параметры)
В приведенном ниже примере набор данных открывается с параметрами
Источник — «IMPORT_PRODUCTS»
Соединение — мADOСоединение
ТипКурсора — «0» (adOpenForwardOnly)
ТипБлокировки — «2» (adLockPessimistic)
Параметры — «2» (adCmdTable)
ADOНаборДанныхТовары = Новый COMОбъект(«ADODB.RecordSet»); ADOНаборДанныхТовары.Open(«IMPORT_PRODUCTS», мADOСоединение, 0, 2, 2);
Открытие набора данных по запросу (использование дополнительных параметров вызывает исключения)
ТекстЗапросаТоваров = «SELECT * | FROM | where in (SELECT FROM where (( = ») |or ( = ‘NULL’) or( = ‘1’)))»; ADOНаборДанныхТовары = Новый COMОбъект(«ADODB.RecordSet»); ADOНаборДанныхТовары .Open(ТекстЗапросаТоваров, мADOСоединение);
Заполнение внешней таблицы
При необходимости очистить таблицу внешнего источника данных, и загрузить туда обновленные данные.
Подключаемся к внешней базе
Попытка СтрокаСоединения = «Provider=SQLOLEDB.1; |Persist Security Info=False; |User ID=»+Пользователь+»; |Password=»+ Пароль+»; |Initial Catalog=»+ База+»; |Data Source=»+ Сервер); Connection = Новый COMОбъект(«ADODB.Connection»); Connection.Open(СтрокаСоединения); Исключение Возврат; КонецПопытки; С помощью объекта ADODB.Command выполняем запрос по удалению данных из таблицы по определенному условию. При этом, в CommandText прописываем сам запрос, и важно указать CommandType равным 1.
Command = Новый COMОбъект(«ADODB.Command»); Command.CommandTimeout = 100; Command.CommandText = «DELETE FROM .. WHERE PERIOD_ID = Convert(datetime,’»+Лев(Строка(ДатаНач),10)+»‘,103)»; Command.CommandType = 1; Command.ActiveConnection = Connection; Command.Execute();
Устанавливаем новый запрос, который запишет в таблицу отобранные данные, и выполняем его.
// Выборка данных за прошлый месяц Выборка = Запрос.Выполнить.Выбрать(); Пока Выборка.Следующий() Цикл Command.CommandText = «INSERT INTO ..(PERIOD_ID, CO_ID, ART_ID, S ) VALUES (» + » Convert(datetime,’»+Лев(Строка(ДатаНач),10)+»‘,103)» + «,NULL» + «,»+Формат(Выборка.Код, «ЧГ=») + «,»+Строка(?(Сумма = 0,»0″,Формат(Сумма,»ЧРД=.; ЧГ=; ЧО=»))) +»)»; Попытка Command.Execute(); Исключение Сообщить(«Ошибка записи данных в базу: «+ОписаниеОшибки()); КонецПопытки; КонецЦикла;
Выборка данных и запись
Вариант ситуации, когда необходимо выполнить выборку данных, и записать результат для дальнейшей обработки. (Не забываем создавать объект Connection)
В данном случае используется объект ADODB.Recordset, который позволяет получить набор записей.
CommandText = «select g_id, saledate, sqty, scost from dbo.»+НастройкиADODB.dbo+»(‘»+Формат(НачПериода,»ДФ=yyyyMMdd»)+»‘,’»+Формат(КонПериода,»ДФ=yyyyMMdd»)+»‘) where g_id in («+СтрокаКодовТМЦ+»)»; Попытка rsRES = NEW COMObject(«ADODB.Recordset»); rsRES.Open(CommandText, Connection); Исключение Connection.Close(); Возврат; КонецПопытки Пока не rsRES.eof() Цикл НоваяЗапись = НаборЗаписей.Добавить(); Для х = 0 по 3 Цикл НоваяЗапись = rsRES.Fields(х).Value; КонецЦикла; rsRES.MoveNext(); КонецЦикла; НаборЗаписей.Записать(Истина); rsRES.Close(); Connection.Close();
Кстати, советую пользоваться функцией EOF вместо RecordCount, так как последняя очень не надежна, неопределенная во времени выполнения и может привести к «залипанию» процесса — подробнее можно почитать на форумах.
Использование хранимых процедур
Хранимые процедуры можно вызвать просот из запроса, вписав в начале текста слово «exec», либо указав соответствующий CommandType и название хранимой процедуры в CommandText.
Command = Новый COMОбъект(«ADODB.Command»); Command.CommandTimeout = 100; Command.ActiveConnection = Connection; Command.CommandText = «add_image»; Command.CommandType = 4; Создаем параметр посредством объекта Parameter (на перевес этому можно воспользоваться методом CreateParameter), и добавляем его методом Append в наше подключение.
Парам = Новый COMОбъект(«ADODB.Parameter»); Парам.Name = «@code»; Парам.Direction = 1; //1 — adParamInput Парам.Type = 201; // Парам.Size = 255; Парам.Value = ВнутреннийКод; Command.Parameters.Append(Парам);
Переводим файл, который хотим передать в двоичный поток, создаем и добавляем параметр
Поток = Новый COMОбъект(«ADODB.Stream»); Поток.Type = 1; //StreamTypeEnum.adTypeBinary = 1 StreamTypeEnum.adTypeText = 2 Поток.Open(); Поток.LoadFromFile(ПолноеИмяФайла); локПотокБайт = Новый ComSafeArray(Поток.Read()); Парам = Новый COMОбъект(«ADODB.Parameter»); Парам.Name = «@file_data»; Парам.Direction = 1; //1 — adParamInput Парам.Type = 205; //205 — adLongVarBinary Парам.Size = локПотокБайт.GetLength(); Парам.Value = локПотокБайт; Command.Parameters.Append(Парам); Command.Execute();
-
21.02.2018, 12:02
#1
Гость форума
Проблема при синхронизации, помогите
При попытке синхронизации БП и ЗУП 8.3 выходит ошибка:
Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначе нияКлиентСервер.Модуль(1166)} : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединен� �я);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.1861) отличается от версии корневого модуля ‘core83’ (8.3.10.2466)Помогите, пожалуйста, разобраться
-
21.02.2018, 12:06
#2
Гость форума
Re: Проблема при синхронизации, помогите
Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначе нияКлиентСервер.Модуль(1166)} : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединен� �я);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.1861) отличается от версии корневого модуля ‘core83’ (8.3.10.2466)
-
21.02.2018, 12:07
#3
Гость форума
Re: Проблема при синхронизации, помогите
Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначе нияКлиентСервер.Модуль(1166)} : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединен� �я);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.1861) отличается от версии корневого модуля ‘core83’ (8.3.10.2466)
Идея интересная, но у меня имеет место быть проблема. Если создавать COM-объекты разных версий с некоторой паузой между этим созданиями, то всё хорошо, вроде бы.
А, вот, если эту паузу не выдерживать — то возможно возникновение двух ошибок (я так и не смог понять причины и следствия когда какая ошибка возникает, скорее всего сначала первая, а при повторной попытке уже вторая)
Запускалось всё под клиентом одной или второй версии (пробовал и так и так) — файловый вариант.
Основной COM-объект был версии 8.3.10.2252, но даже если к нему обращаться как к «v83.COMConnector» то это ничего не меняло
Последовательность создания COM-объектов не влияет, но если получить первую ошибку, переставить их местами — возникает вторая ошибка
Версия клиента 1С: Предприятие так же не влияет.
Запуск в новом сеансе 1С проблему не решает.
Выполняю такой алгоритм:
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
Возникает первая ошибка:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent(«srv2»);
по причине:
Неизвестная ошибка
При повторном запуске она повторяется
Переставляем местами создание COM-Объектов
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
И возникает вторая ошибка:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(12)}: Ошибка при вызове конструктора (COMОбъект)
ком = новый COMОбъект(«V83.COMConnector_8.3.10.2252»);
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура.
При повторном запуске она повторяется
Далее — если снова переставить обратно — ошибка будет повторяться
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(10)}: Ошибка при вызове конструктора (COMОбъект)
ком = новый COMОбъект(«V83.COMConnector_8.3.10.2252»);
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура. [
Спустя минут 15-20 всё проходит — и начинается с начала (с учётом переставленных вызовов создания COM-объектов):
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent(«srv1»);
по причине:
Неизвестная ошибка
Значит COM-объект где-то кешируется (платформой 1С? — мало вероятно — т.к. перезапуск клиента ничего не решает) и при попытке создать повторно (пусть и, в общем-то, другой COM-Объект) идёт обращение к старому и происходит какой-то конфликт версий.
Увы, это почти ставит крест на данной методике. Но, если одновременная (читай последовательная но в одно и то же время в пределах 20 минут) работа не требуется — описанный в статье метод будет работать.
Но, лично мне нужна была одновременная работа
Надо попробовать выполнить те же обращения, но не из 1С — если проблемы не будет, то значит это 1С кеширует (и это можно обойти — но логику работы с COM-объектом придётся выносить за пределы 1С), а если будет…. то нужно что инове придумывать!
Попробовал так же с компонентами редакции 8.2:
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
В общем-то такая же ситуация, но ошибка всегда на ВТОРОЙ по счёту компоненте (не важно какой она версии!!!) и всегда такая:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(42)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent("srv4);
по причине:
Неизвестная ошибка
При этом если создавать и использовать их отдельно (посадил на разные кнопки)
То ситуация такая
1. Любую создаю — всё нормально
2. Создаю вторую — возникает ошибка
3. Создаю первую — ошибки нет
4. Создаю вторую — ошибка
5. Повторно создаю вторую — ошибки нет
6. Снова создаю вторую — ошибки нет
7. Создаю первую — ошибка
8. Создаю первую — ошибки нет
9. Создаю вторую — ошибка
10. Создаю вторую — ошибки нети
То есть первый раз создаётся нормально и если сразу создавать другой версии — будет ошибка — но при повторном создании — ошибки не будет — но она снова будет у первой, что при повторном создании так же ошибки не будет
Поэтому с v82 я написал вот так — и в общем-то оно работает
попытка
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
исключение
сообщить("v82.COMConnector_8.2.19.80: "+ОписаниеОшибки());
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
конецпопытки;
попытка
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
исключение
сообщить("v82.COMConnector_8.2.19.68: "+ОписаниеОшибки());
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
конецпопытки;
Показать
Значит компонента 8.2 не кэшируется, в отличии от 8.3
Попытка же написать так же для 8.3
попытка
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
исключение
сообщить("V83.COMConnector_8.3.10.2252: "+ОписаниеОшибки());
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
конецпопытки;
попытка
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
исключение
сообщить("v83.COMConnector_8.3.8.2054: "+ОписаниеОшибки());
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
конецпопытки;
Показать
первый раз отработало, но повторный запуск привёл к ошибке
V83.COMConnector_8.3.10.2252:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(38)}: Ошибка при вызове конструктора (COMОбъект): -2147024769(0x8007007F): Не найдена указанная процедура.
это самая первая строка в первой попытке — и эта ошибка дальше стабильно повторялась
Попробовал работать параллельно с компонентами V82 и v82
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
Никаких ошибок не возникает!
Так что — как 1С (или windows) это всё обрабатывают, что возникает такой винегрет из разных ситуаций — непонятно….
Надо ещё разбираться и экспериментировать
Возможно эти проблемы чисто связаны с моей конфигурацией ОС — использую windows 8
А может дело в используемых релизах 1С: Предприятие, клиента и компонент (хотя на клиенте 8.2.19.80 я тоже попробовал — всё то же самое)
Может, у меня просто компоненты как-то неправильно установлены или какие-то заморочки с настройками COM+
Я, например, не нашёл типовых компонент в разделе COM+ как на картинках автора
Хорошо бы кто-то ещё это всё проверил бы на своих конфигурациях платформ и компонент
1C 8 Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Описание ошибки:
В ранее работавшем обмене из базы УТ в БП при выполнении выгрзки стала возникать ошибка:
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(9234)}: Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединения);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Найденные решения:
Нажатие на изображении увеличит его
Рис. 1. Пример возникновения ошибки при работе обмена между базами 1С УТ 10.3 и БП 3.0
Так же перестал работать настроенный и работавший ранее односторонний обмен из базы конфигурации 1С: Зарплата и управление персоналом, ред. 3.0 в 1С: Бухгалтерия предприятия, ред. 3.0. В журнале регистрации ошибок обмена так же содержалась похожая формулировку от исходной ошибки:
Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Нажатие на изображении увеличит его
Рис. 2. Пример ошибки при работе выгрузки данных из базы 1С ЗУП 3.0 в БП 3.0
Итак, попробуем разобраться, в чем причина, почему возникает ошибка, проблема «Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия» и как ее исправить?
В тексте ошибки явно находим подсказку на то, что нужно в первую очередь проверить права пользователя в базе, к которой происходит подключение для обмена справочниками и документами в рамках настроенной выгрузки. Формулировка «Внешнее соединение не разрешено для указанного пользователя» указывает, что дело в первую очередь в пользователе «Обмен», как видно на Рис.1. Удивительным было то, что ранее у пользователя, под которым выполнялось com-подключение к базе-приемнику, все было настроено для работы обмена и работало продолжительное время.
Поэтому в базе Бухгалтерия переходим в раздел «Администрирование» — ссылка списка настроек «Настройки пользователей и прав» — ссылка «Пользователи».
Нажатие на изображении увеличит его
Рис. 3. Переход к списку пользователей в базе конфигурации 1С: Бухгалтерия 3.0
Откроется форма списка пользователей базы. Находим в списке пользователя «Обмен» — в Вашем случае это будет пользователь, под которым выполняется выгрузка, если используется прямое подключение к базе. Нажимаем на надпись-ссылку «Права доступа».
Нажатие на изображении увеличит его
Рис. 4. Вид формы настроек пользователя базы 1С: Бухгалтерия предприятия, редакция 3.0
Как оказалось, в моем случае, ошибка «Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия по причине» возникла с некоторого времени из-за того, что у пользователя отключены все права доступа в списке «Профили пользователя». Разбираться — почему так было бы долго. Это мог быть кто-нибудь из пользователей базы, или что крайне маловероятно, но все-таки возможно — результат обновления базы (крайне редко, но удивительные веди после обновлений могут возникать). В общем проще было установить снова права пользователю. Для возможности выполнения обмена в принципе достаточно профиля «Администратор», но, на всякий случай рекомендуется еще и установить профиль «Синхронизация данных с другими программами».
Нажатие на изображении увеличит его
Рис. 5. Состав прав доступа пользователя для возможности выполнения синхронизации (обмена данных)
После проделанных операций работоспособность синхронизации между базами 1С 8 была восстановлена.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
20-07-2022
Журавлев А.С.
(Сайт www.azhur-c.ru)
|
|||
Kurbash
27.10.14 — 07:12 |
Всем привет. Настраиваю синхронизацию УП 2.0 с ЗУП 2.5. Штатными средствами. При попытки синхронизации выдется сообщение
Не удалось произвести обмен: Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(1702)}: Ошибка при вызове метода контекста (Connect) Подключение проверял кнопкой «Проверить подключение», там все прошло нормально. Почему так может быть? |
||
МимохожийОднако
1 — 27.10.14 — 07:19 |
Неправильное имя или пароль пользователя |
||
Kurbash
2 — 27.10.14 — 07:19 |
(1) как может так быть если проверка подключения проходит нормально? |
||
Kurbash
3 — 27.10.14 — 07:25 |
ставил ПОльзователь-1 пароль-1 такая же ерунда |
||
МимохожийОднако
4 — 27.10.14 — 07:27 |
(2)У тебя сабж поэтому и появился. |
||
Kurbash
5 — 27.10.14 — 07:28 |
когда с реальным логином не проканало завел для теста этот. |
||
МимохожийОднако
6 — 27.10.14 — 07:30 |
У реального логина права есть на внешнее соединение? |
||
Kurbash
7 — 27.10.14 — 07:30 |
конечно, полные права |
||
МимохожийОднако
8 — 27.10.14 — 07:30 |
Пробовал с полными правами? |
||
МимохожийОднако
9 — 27.10.14 — 07:31 |
Покажи строку соединения. Может кто и подскажет. |
||
Kurbash
10 — 27.10.14 — 07:37 |
так откуда ж я ее возьму-она не показывается, адрес базы, логин и пароль |
||
МимохожийОднако
11 — 27.10.14 — 07:40 |
Встань отладчиком на больную строку и возьми оттуда переменную СтрокаСоединения |
||
Kurbash
12 — 27.10.14 — 08:22 |
«Srvr = «server:1041»; Ref = «zup»; Usr = «Обмен»; Pwd = «1»» вот такая вот строка соединения получается, все верно. Смущает одно- в УП захожу под полными правами и в ЗУП тоже, а выдается сообщение что синхронизация данных запрещена АДминистратором. |
||
Kurbash
13 — 27.10.14 — 08:25 |
При создании настройки обмена во второй информационной базе возникли ошибки: {ОбщийМодуль.ОбменДаннымиСервер.Модуль(5002)}: Выполнение обмена запрещено администратором. |
||
Kurbash
14 — 27.10.14 — 08:33 |
апну |
||
Галахад
15 — 27.10.14 — 08:38 |
В зупе синхронизация разрешена? |
||
Kurbash
16 — 27.10.14 — 08:41 |
(15) вот, я тоже самое начал искать, нет там такой галки, облазил все настройки программы-нет такой там галки. В конфигураторе ЗУПа есть константа такая но в режиме предприятия я не нашел ее. Пините в правильном направлении. |
||
Kurbash
17 — 27.10.14 — 08:49 |
ау |
||
Kurbash
18 — 27.10.14 — 09:15 |
fgye |
||
Kurbash
19 — 28.10.14 — 06:32 |
Зашел в Администрирование серверов 1с-предприятие галки «Запрет выполнения регламентных заданий» тоже нет. Ума не приложу в чем причина |
||
Kurbash
20 — 28.10.14 — 07:24 |
ау люди, не бросайте. вопрос срочный |
||
Галахад
21 — 28.10.14 — 07:40 |
(16) Фиг знает. Я бы просто кодом проставил. Константы.<Имя константы>.Установить(Истина) |
||
Kurbash
22 — 28.10.14 — 07:45 |
(21) уже проставил, вот жду чего получится |
||
kolbasaPWNZ 23 — 28.10.14 — 13:07 |
Совпадение или нет, только что тыкался между бух и ЗУП, жал синхронизацию несколько раз в обеих, стало так же ругаться. |
Прочитай, хотя бы, Митичкина «Разработка в системе 1С:Предприятие 8». Волшебник
На чтение 4 мин. Просмотров 817 Опубликовано 15.12.2019
При синхронизации 1С ЗУП 3.0 — БП 3.0 при проверке подключения выскакивает ошибка :
Не удалось подключиться к другой программе: -2147221164(0x80040154): Класс не зарегистрирован.
В чем может быть дело? В каком направлении рыть??
- 5
- 4
- 3
- 2
- 1
(0 голосов, в среднем: 0 из 5)
Поддержите нас, расскажите друзьям!
СПРОСИТЕ в комментариях!
Это проблема связана с соединением другой базы данных по COM объекту.
Очень вероятно что не хватает прав.
Думаю, тут скорее дело в том, что на COM-компонент не зарегистрирован в системе.
Нужно запустить командную строку под именем администратора, затем выполнить regsvr32 [ПутьККомпонентуCOM]. Компонент чаще всего находится в папке с платформой в папке bin (выглядит это приблизительно вот так: «C:Program Files (x86)1cv88.3.6.2449in»). И называется comcntr32.dll.
Спасибо большое, помогло!
Огромное спасибо! Помогло. Вы супер!
Илья, добрый день!
А для 32-х и 64-х платформ 1С различаются процедуры?
Спасибо, тоже помогло!
В командной строке ( CMD в поиске) в моем случае вводил: regsvr32 «C:Program Files (x86)1cv88.3.12.1529incomcntr.dll»
Все время забываю об этой длл. СПАСИБО, что напоминаете.
Для 64-х платформы:
C:WindowsSysWOW64RegSvr32.exe «C:Program Files1cv88.3.15.1656incomcntr.dll»
При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie в соответствии с настоящим уведомлением в отношении данного типа файлов. Если вы не согласны с тем, чтобы мы использовали данный тип файлов, то вы должны соответствующим образом установить настройки вашего браузера или не использовать сайт.
Отправляя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности данного сайта.
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Добрый день, коллеги! Назрел такой насущный вопрос:
Есть сервер 1С, его обновили до версии 1С.Предприятия 8.3.12.1685. И есть терминальный сервер, с которого работают с базами, размещенными на сервере 1С. Оба сервера под управлением Windows Server 2012 R2.
На сервере 1С размещена база Бух 3.0 и Зуп 3.1. Между ними на предыдущей платформе, 8.3.11.2954 была настроена синхронизация. На 8.3.11.2954 синхронизация работала нормально, но для обновления Бух до последней конфигурации были вынуждены перейти на 8.3.12.1685(предвосхищая возможный вопрос — нет, тестового сервера нет). После перехода выяснилось, что синхронизация не работает. При попытке соединения(например, в окне проверки настроек) получаю сообщение:
1C 8 Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Описание ошибки:
В ранее работавшем обмене из базы УТ в БП при выполнении выгрзки стала возникать ошибка:
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(9234)}: Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединения);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Найденные решения:
Нажатие на изображении увеличит его
Рис. 1. Пример возникновения ошибки при работе обмена между базами 1С УТ 10.3 и БП 3.0
Так же перестал работать настроенный и работавший ранее односторонний обмен из базы конфигурации 1С: Зарплата и управление персоналом, ред. 3.0 в 1С: Бухгалтерия предприятия, ред. 3.0. В журнале регистрации ошибок обмена так же содержалась похожая формулировку от исходной ошибки:
Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Нажатие на изображении увеличит его
Рис. 2. Пример ошибки при работе выгрузки данных из базы 1С ЗУП 3.0 в БП 3.0
Итак, попробуем разобраться, в чем причина, почему возникает ошибка, проблема «Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия» и как ее исправить?
В тексте ошибки явно находим подсказку на то, что нужно в первую очередь проверить права пользователя в базе, к которой происходит подключение для обмена справочниками и документами в рамках настроенной выгрузки. Формулировка «Внешнее соединение не разрешено для указанного пользователя» указывает, что дело в первую очередь в пользователе «Обмен», как видно на Рис.1. Удивительным было то, что ранее у пользователя, под которым выполнялось com-подключение к базе-приемнику, все было настроено для работы обмена и работало продолжительное время.
Поэтому в базе Бухгалтерия переходим в раздел «Администрирование» — ссылка списка настроек «Настройки пользователей и прав» — ссылка «Пользователи».
Нажатие на изображении увеличит его
Рис. 3. Переход к списку пользователей в базе конфигурации 1С: Бухгалтерия 3.0
Откроется форма списка пользователей базы. Находим в списке пользователя «Обмен» — в Вашем случае это будет пользователь, под которым выполняется выгрузка, если используется прямое подключение к базе. Нажимаем на надпись-ссылку «Права доступа».
Нажатие на изображении увеличит его
Рис. 4. Вид формы настроек пользователя базы 1С: Бухгалтерия предприятия, редакция 3.0
Как оказалось, в моем случае, ошибка «Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия по причине» возникла с некоторого времени из-за того, что у пользователя отключены все права доступа в списке «Профили пользователя». Разбираться — почему так было бы долго. Это мог быть кто-нибудь из пользователей базы, или что крайне маловероятно, но все-таки возможно — результат обновления базы (крайне редко, но удивительные веди после обновлений могут возникать). В общем проще было установить снова права пользователю. Для возможности выполнения обмена в принципе достаточно профиля «Администратор», но, на всякий случай рекомендуется еще и установить профиль «Синхронизация данных с другими программами».
Нажатие на изображении увеличит его
Рис. 5. Состав прав доступа пользователя для возможности выполнения синхронизации (обмена данных)
После проделанных операций работоспособность синхронизации между базами 1С 8 была восстановлена.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
20-07-2022
Журавлев А.С.
(Сайт www.azhur-c.ru)