Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП

После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.
Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:
Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса {ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(393)}: COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // "V83.COMConnector" {ОбщийМодуль.ОбщегоНазначения.Модуль(2830)}: Возврат ОбщегоНазначенияСлужебныйКлиентСервер.УстановитьВнешнееСоединениеСБазой(Параметры, ПодключениеНедоступно, КраткоеОписаниеОшибки); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(12564)}: ЗаполнитьПараметрыПодключенияВнешнегоСоединения(СтруктураНастроек)); {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1185)}: РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспорта( {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1164)}: Результат = ВнешнееСоединениеДляУзлаИнформационнойБазы(УзелИнформационнойБазы); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(6701)}: ВнешнееСоединение = ОбменДаннымиПовтИсп.ПолучитьВнешнееСоединениеДляУзлаИнформационнойБазы( {ОбщийМодуль.ОбменДаннымиСервер.Модуль(3952)}: ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ, {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(38)}: ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1036)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1026)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры); по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины возникновения ошибки -2147221005(0x800401F3)
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки -2147221005(0x800401F3) относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётной записи администратора).
Обновление конфигурации до последней версии
Вопрос обновления конфигурации 1С на примере «1С:Бухгалтерия 3.0» я рассматривал ранее. Поэтому здесь не имеет смысла описывать данный процесс.
Запускайте 1С с правами администратора
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки -2147221005(0x800401F3) является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
на строку:
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Регистрация в системе компоненты comcntr.dll
Довольно часто ошибка возникает после обновления платформы, когда во время установки новой версии не регистрируется компонента comcntr.dll
.
Для регистрации компоненты вручную необходимо выполнить в PowerShell от имени администратора следующие команды:
C:\Windows\SysWOW64\regsvr32 /u "c:\Program Files\1cv8\8.3.17.1851\bin\comcntr.dll"
или C:\Windows\SysWOW64\regsvr32 /u "c:\Program Files (x86)\1cv8\8.3.17.1851\bin\comcntr.dll"
Затем
C:\Windows\SysWOW64\regsvr32 "c:\Program Files\1cv8\8.3.17.1851\bin\comcntr.dll"
или C:\Windows\SysWOW64\regsvr32 "c:\Program Files (x86)\1cv8\8.3.17.1851\bin\comcntr.dll"
«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.
После регистрации библиотеки скорей всего синхронизация заработает.
Последние статьи: