После обновления платформы 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:WindowsSysWOW64regsvr32 /u "c:Program Files1cv88.3.17.1851bincomcntr.dll"
или C:WindowsSysWOW64regsvr32 /u "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"
Затем
C:WindowsSysWOW64regsvr32 "c:Program Files1cv88.3.17.1851bincomcntr.dll"
или C:WindowsSysWOW64regsvr32 "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"
«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.
После регистрации библиотеки скорей всего синхронизация заработает.
Последние статьи:
Содержание:
1. Об ошибке «Недопустимая строка с указанием класса»
2. Устранение ошибки «Недопустимая строка с указанием класса»
1. Об ошибке «Недопустимая строка с указанием класса»
Приветствую, коллеги! В данной статье будет рассмотрена ошибка «Недопустимая строка с указанием класса» в 1С 8.3. Мы проведем диагностику ошибки, выясним, по каким причинам она возникла, и опишем инструкция-алгоритм, согласно которой можно полностью устранить данную ошибку.
Данная ошибка в системе 1С может иметь отображение в двух видах, а именно:
· ошибка из-за отключения базы с пользователями на платформе 1С: «Недопустимая строка с указанием класса»;
· ошибка из-за отключения базы пользователей на платформе 1С: «Различаются версии клиента и сервера, в клиентском приложении COM-администратор».
В случае, когда на ПК установлена версия 1С:Предприятие на 64 бита, то 64 бита устанавливается (в новых версиях платформы 1С) и на сервер, и на части программы для работы клиентов. В данном случае, когда «Effector Saver» создаёт подключение через COM к серверу, то возникает ошибка «Недопустимая строка с указанием класса». Данная неполадка может возникать и в случаях регистрации библиотеки «V83.COMConnector» для новейших версий системы 1С. Ошибка возникает по причине того, что в запросе «Effector Saver» ОС ищет COM приложение, которое будет соответствовать, после чего не может найти его, ведь данная библиотека является на 64 бита, а не на 86 битов.
2. Устранение ошибки «Недопустимая строка с указанием класса»
Наипростейший способ по устранению ошибки «Недопустимая строка с указанием класса» – это регистрация через regsvr32. Если это не помогло, то необходимо использовать нижеприведённую инструкцию.
Для начала необходимо создать коннектор, после чего включить консоль «Службы компонентов» по пути «Панель управления → Администрирование → Службы компонентов»:
Рис. 1 Создание коннектора для устранения ошибки «Недопустимая строка с указанием класса»
Далее перед нами откроется соответствующее окно, в которое необходимо добавить элемент, чтобы произвести данное действие, — кликаем «Компьютеры», переходим в «Мой компьютер», далее в списке кликаем на «Приложение СОМ+», как можно увидеть на скриншоте ниже:
Рис. 2 Выбор типа приложения для устранения ошибки «Недопустимая строка с указанием класса»
Открываем контекстное меню и кликаем на «Создать → Приложение», как показано на скриншоте далее:
Рис. 3 Создание приложения для устранения ошибки «Недопустимая строка с указанием»
Перед нами появится Мастер по установке приложений СОМ+, в нём кликаем «Далее», как видно на скриншоте ниже:
Во всплывшем окне «Установка или создание нового приложения» кликаем на «Создать новое приложение»:
Рис. 4 Создание нового приложения для устранения ошибки «Недопустимая строка с указанием»
Открывается новое окно, в котором в строке «Введите имя нового приложения» следует написать «V83.COMConnector». Далее в способе активации следует выбрать «Серверное приложение» и кликаем на кнопку «Далее»:
Рис. 5 Выбор имени приложения при устранении ошибки «Недопустимая строка с указанием»
Далее для устранения ошибки «Недопустимая строка с указанием класса» следует избрать запись учёта, с которой будет запускаться приложение. Далее установим «текущего пользователя», то есть того, который на данный момент находится в системе, и кликаем на кнопку «Далее», как видно на картинке ниже:
Рис. 6 Выбор пользователя при устранении ошибки «Недопустимая строка с указанием»
В последующих двух окнах по добавлению ролей в приложении оставляем всё как есть и кликаем «Далее».
В последнем открывшемся окне кликаем «Готово»:
Рис 7 Последнее окно приложения при устранении ошибки «Недопустимая строка с указанием»
Далее обращаемся к ветке приложения, которое создали и переходим в «Компоненты», где, соответственно, создадим компонент. Для этого в меню выбираем «Создать → Компонент», как демонстрируется на скриншоте ниже:
Рис. 8 Создание компонента при устранении ошибки «Недопустимая строка с указанием»
Вновь появится окно с Мастером по установке СОМ+ компонентов, в нём кликаем «Далее»:
Рис. 9 Открытие окна Мастера при устранении ошибки «Недопустимая строка с указанием»
В окне, которое открылось, выбираем «Установка новых компонентов»:
Рис. 10 Установка новых компонентов при устранении ошибки «Недопустимая строка с указанием»
В следующем окне выбираем нужный файл comcntr.dll и кликаем на «Открыть». После перемены окна кликаем «Далее»:
Рис. 11 Выбор нужного файла при устранении ошибки «Недопустимая строка с указанием»
После данного шага в мастере для устранения ошибки «Недопустимая строка с указанием класса» будут сформированы все нужные сведения, чтобы выполнить установку, в новом окне кликаем «Готово».
Примечание: по завершению установки обязательно следует поменять свойства у объекта: открываем ветку «V83.COMConnector» и выбираем свойства компонента, который создали, как можно увидеть на скриншоте ниже:
Рис. 12 Изменение свойств объекта при устранении ошибки «Недопустимая строка с указанием»
Для дальнейшей работы с ошибкой «Недопустимая строка с указанием класса» в том окне, которое откроется, кликаем на «Безопасность», далее в «Авторизация» убираем отметку «Принудительная проверка доступа для приложений», как показано на скриншоте ниже:
Рис. 13 Отключение принудительной проверки
В панели «Политика программных ограничений» ставим «галочку» около пункта «Применить политику программных ограничений» и в уровнях избираем «Неограниченный»:
Рис. 14 Настройка политики программных ограничений
Для устранения ошибки «Различаются версии клиента и сервера, в клиентском приложении COM-администратор» из описания выше, нужно перейти во вкладку «Удостоверение» и установить «Указанный пользователь». В этом поле необходимо внести информацию о пользователе, который имеет администраторские права, либо учётную запись домена, если вход был произведён с него, как показано ниже:
Рис. 15 Исправление ошибки «Различаются версии клиента и сервера, в клиентском приложении COM-администратор»
Кликаем «Применить» и «ОК».
После всех вышеперечисленных действий был сформирован класс V83.COMConnector, который следует использовать, чтобы подключиться к базам с информацией, следовательно – ошибка полностью устранена.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
regsvr32 "<путь к каталогу установки 1С>bincomcntr.dll"
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
1С — это очень сложная программа, которая выполняет множество задач в большинстве офисов. Для того чтобы программа нормально работала, ей необходимо обеспечение всех ресурсов, а если чего-то не хватает, то возникают разнообразные ошибки, которые приходится исправлять бухгалтеру или другому офисному сотруднику. В этой статье рассмотрим, как исправить ошибку «-2147221005(0x800401F3): Недопустимая строка с указанием класса», и как попытаться сделать это самостоятельно без привлечения специалиста.
Содержание
- «-2147221005(0x800401F3): Недопустимая строка с указанием класса» — причины
- Регистрация библиотеки comcntr.dl
- Создание коннектора COMConnector
- Как ещё можно устранить ошибку?
«-2147221005(0x800401F3): Недопустимая строка с указанием класса» — причины
Ошибка «-2147221005(0x800401F3): Недопустимая строка с указанием класса» обычно возникает по двум причинам:
- На компьютере не зарегистрированы необходимые для выполнения операции библиотеки.
- У программы нет достаточно прав для обработки запроса.
Ошибка появляется во время обмена данными между базами 1С в фоновом режиме, либо при выполнении ручной синхронизации. Для решения этой проблемы зарегистрируйте библиотеку comcntr.dl и организуйте корректный запуск COMConnector.
Регистрация библиотеки comcntr.dl
Чтобы зарегистрировать библиотеку, сделайте следующее:
- Запустите командную строку от имени администратора. Для этого нажмите на кнопку пуска и найдите там командную строку. Можно использовать поиск в пуске. Нажмите на «Запустить с правами администратора».
- Скопируйте и вставьте в командную строку команду regsvr32 “%ProgramFiles%1cv88.3.xx.xxxxbincomcntr.dll” и нажмите клавишу Enter. Чтобы вставить команду в командную строку, кликните правой кнопкой мышки в ней.
- В команде %ProgramFiles% — означает каталог установки 1С. Если программа у вас в другой папке, то команду следует изменить, указав верный путь. 8.3.xx.xxxx — это версия программы. Вместо xx.xxxx укажите свою версию.
- В случае успешного выполнения команды, появится такое сообщение.
- Если команда выполняется с ошибкой, то перед ней попробуйте выполнить ещё две команды: regsvr32 /u “%Program Files%1cv88.3.xx.xxxxbincomcntr.dll” а потом regsvr32 “%Program Files%1cv88.3.xx.xxxxbincomcntr.dll И после этого запустите команду из первого пункта. Также ошибка может появиться, если команда введена неверно или командная строка запущена без прав администратора.
Вам может быть это интересно: Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия — Решение.
Создание коннектора COMConnector
Следующий этап — создать коннектор COMConnector и корректно его запустить. Для этого сделайте так:
- Откройте раздел компьютера «Службы компонентов». Для этого в панели управления зайдите в «Администрирование».
- Теперь слева перейдите последовательно в раздел «Службы компонентов», «Компьютеры», «Мой компьютер», «Приложения COM+». Затем нажмите правой кнопкой мышки и выберите «Создать», а потом «Приложение».
- Появится окно, в котором выберите «Создать новое приложение».
- Затем введите название приложения V83COMConnector, выберите вариант «Серверное приложение» и нажмите кнопку «Далее».
- В следующем окне выберите учётную запись, которая будет запускать данное приложение. В большинстве случаев — это «Текущий пользователь».
- Разверните созданное приложение и нажмите правой кнопкой мышки на раздел «Компоненты», затем «Создать», а потом «Новый компонент».
- Потом выберите вариант «Установка новых компонентов» и нажмите кнопку «Далее».
- Теперь укажите путь на файл comcntr.dll, нажмите «Далее».
- В конце нажмите «Готово».
- Теперь зайдите в свойства созданного приложения, нажав по нему правой кнопкой мышки.
- Отключите во вкладке «Безопасность» опцию «Принудительная проверка доступа для приложения», а в опции «Уровень ограничений» установите вариант «Неограниченный». Сохраните изменения.
Теперь перезагрузите компьютер и проверьте, устранилась ли ошибка «-2147221005(0x800401F3): Недопустимая строка с указанием класса».
Как ещё можно устранить ошибку?
Если это не помогает, то можно попробовать сделать ещё такие действия:
- Перезапустите сервер 1С. Это поможет, если ошибка появилась из-за зависшего процесса.
- Убедитесь, что на компьютере установлена программ Microsoft Excel. Она нужна обязательно для успешного запуска многих процессов 1С. И её отсутствие может вызывать ошибку «-2147221005(0x800401F3): Недопустимая строка с указанием класса».
- Возможно, 1С неверно запрограммирована, и ошибочный код вызывает ошибку.
- В интерфейсе приложения переключите режим работы 1С на «Библиотечный».
- Вход осуществлён через пользователя, у которого нет прав для осуществления некоторых процессов в 1С.
Если вы затрудняетесь решить эту проблему, тогда придётся привлечь специалиста. Для этого можно позвонить в организацию, которая устанавливала вам 1С. Иногда они могут помочь дистанционно. В крупных организациях для таких задач есть штатный системный администратор.
Опубликовано 15.02.2023 Обновлено 15.02.2023
Данная пошаговая инструкция, это альтернативный вариант решения проблемы с регистрацией COM компоненты 1С Предприятия comcntr.dll.
Первоначально воспользуйтесь вариантом регистрации — regsvr32. Подробней: «Регистрация COM компоненты 1С Предприятия comcntr.dll (V83.ComConnector)». И только в случае неудачи, используйте вариант приведенный ниже.
Создаём коннектор. Запускаем консоль «Службы компонентов».
«Панель управления» — «Администрирование» — выбираем «Службы компонентов».
В открывшемся окне «Службы компонентов» добавляем новый элемент, для этого переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+».
В контекстном меню выбираем «Создать» — «Приложение».
Откроется Мастер установки приложений COM+.
Нажимаем «Далее».
«Установка или создание нового приложения» выбираем второй вариант «Создать новое приложение».
В поле «Введите имя нового приложения:» вводим «V83COMConnector».
«Способ активации» устанавливаем «Серверное приложение».
Нажимаем «Далее».
На следующем этапе выбираем учетную запись под которой запускается приложение.
Устанавливаем «Текущий (вошедший в систему) пользователь».
Нажимаем «Далее».
На этапе «Добавление ролей приложения» нажимаем «Далее».
На этапе «Добавление пользователей для ролей» нажимаем «Далее».
Нажимаем «Готово».
В ветке только что созданного нами приложения переходим в подветку «Компоненты» и создаем компонент.
В контекстном меню выбираем «Создать» — «Компонент».
Откроется Мастер установки компонентов COM+.
Нажимаем «Далее».
Выбираем первый вариант «Установка новых компонентов».
В открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть».
Окно Мастера установки компонентов COM+ измениться нажимаем «Далее».
Мастер собрал все необходимые сведения для выполнения установки, нажимаем «Готово».
Обратите внимание: после установки необходимо изменить свойства объекта.
Для этого переходим к ветке V83COMConnector.
Открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства».
В открывшемся окне переходим на вкладку «Безопасность».
В «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений».
В «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный».
Если вы получаете данную ошибку:
«Ошибка отключения пользователей базы 1С, Процесс сервера не может быть запущен, так как указана неправильная идентификация. Проверьте правильность указания имени пользователя и пароля, ProgID: «V83.ComConnector» (HRESULT=8000401A)»
Переходим на вкладку «Удостоверение», устанавливаем «Указанный пользователь:» и вводим данные учетной записи с правами Администратора. В случае если используете домен, укажите доменную учетную запись.
Нажимаем «Применить» — «ОК».
Класс V83.COMConnector успешно зарегистрирован и может использоваться для подключения к информационным базам.