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

-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): Недопустимая строка с указанием класса

Причины возникновения ошибки -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С.

C:\Windows\SysWOW64\regsvr32

После регистрации библиотеки скорей всего синхронизация заработает.

Синхронизация данных ЗУП-БП

Последние статьи: