Как правило, ошибка возникает при фоновом обмене данными между базами 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). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.
Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата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С.
После регистрации библиотеки скорей всего синхронизация заработает.
Последние статьи:
Содержание
- 2147221005(0x800401F3): Недопустимая строка с указанием класса — что делать?
- Суть и причины дисфункции
- Обновите вашу конфигурацию 1С до актуальной версии
- Запускайте 1С с правами админа
- Измените код программы
- Зарегистрируйте в системе библиотеку comcntr.dll
- Проверьте наличие установленного в системе Excel
- Используйте специализированные форумы 1С
- Заключение
- COMОбъект: -2147221005(0x800401F3): Недопустимая строка с указанием класса
- Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
- Подготовительные действия
- Подходы к решению
- Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
- Причины возникновения ошибки -2147221005(0x800401F3)
- Обновление конфигурации до последней версии
- Запускайте 1С с правами администратора
- Измените код программы
- Регистрация в системе компоненты comcntr.dll
- Как устранить ошибку -2147221005(0x800401F3) в 1С?
- Причины
- Как исправить ошибку -2147221005(0x800401F3)?
- Регистрация объектов
- Отказ от устаревших объектов
2147221005(0x800401F3): Недопустимая строка с указанием класса — что делать?
При выполнении каких-либо задач с комплексом 1С (фоновый обмен данными между компонентами, запуске нужной конфигурации, проверки выполнения кода etc) может появиться сообщение об ошибке 2147221005(0x800401F3). Последняя обычно сопровождается строкой « Недопустимая строка с указанием класса » и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами. Давайте разберёмся, что делать при появлении ошибки в вашей 1С.
Суть и причины дисфункции
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки 2147221005 относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С . К примеру, фиксировались случаи появления ошибки при использовании архаичной конфигурации «Управление торговлей» при попытке обмена данными с 1С «Бухгалтерия предприятия»;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо модерного «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll , имеющая важное значение для работы 1С;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётки администратора);
- В системе не установлен (не зарегистрирован) Excel , необходимый для работы 1С.
Давайте разберёмся, как исправить ошибку 2147221005 «Недопустимая строка с указанием класса» в вашей системе 1С.
Первым делом убедитесь, что вы используете самую свежую версию конфигурации 1С. При подключении к нужным базам для выполнения обмена она может попытаться использовать устаревшую платформу (к примеру, 8.2), которая фактически отсутствует. Потому обновите вашу версию конфигурации до актуального релиза, а потом попробуйте осуществить требуемое подключение.
Используйте свежую версию 1С
Запускайте 1С с правами админа
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки 2147221005 является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Зарегистрируйте в системе библиотеку comcntr.dll
Если вы пользуетесь Виндовс 64, то необходимо провести корректную регистрацию в системе библиотеки comcntr.dll . Нажмите на Win+R, введите следующую строку:
C:WindowsSysWOW64regsvr32 «c:Program Files(x86)1cv88.3.12.1469bincomcntr.dll»
Вместо «8.3.12.1469» укажите установленную у вас версию технологической платформы. После этого нажмите на ввод. Указанная регистрация может помочь избавиться от ошибки 2147221005 в 1С.
Проверьте наличие установленного в системе Excel
Наличие установленного в системе Excel является необходимым элементом при обращении к нему системы 1С. Потому рекомендуем убедиться, что Эксель в системе установлен корректно, для чего нажмите Win+R, введите там Excel , и нажмите ввод. Если программа запустилась, тогда всё работает корректно. Если нет, тогда следует установить (переустановить) Excel (комплекс «MS Office») на вашей машине (машинах).
Используйте специализированные форумы 1С
Если не один из указанных советов вам не помог, обратитесь к помощи форумов, которые посещают множество программистов и специалистов 1С. В частности, рекомендуем такие форумы как forum.infostart.ru, cyberforum.ru/1c-standard, is.ideasoft.in.ua где вам могут помочь в решении возникшей дисфункции.
Заключение
В нашем материале мы разобрали, когда появляется ошибка «2147221005(0x800401F3): Недопустимая строка с указанием класса», и как можно её исправить. Данная дисфункция может иметь различные причины, а для её решения рекомендуем задействовать весь комплекс способов, перечисленным нами выше. Их выполнение может помочь устранить ошибку 2147221005 в вашей системе 1С.
Источник
COMОбъект: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Все же, в какой ветке реестра Windows прописывается регистрация платформы?
(36) Статью в (22) читал, но по другому поводу: Альфа-Авто обычно ведет Com-обмены с УПП/КА1. Когда поддержка КА1 кончилась, создали базу ERP/КА2, но она потребовала более высокую версию платформы. С OLE-обменом возникли проблемы: https://i.ibb.co/pdrH9Wy/COM.jpg. Меняю версию зарегистрированной платформы, тогда нормально. Даже функции написал:
Но это только для пользователей с административными правами, пришлось от них отказаться. А метод COM (не OLE) нормально работает. Нашел на http://catalog.mista.ru/public/1042208/ метод открытия объекта по ссылке в другой базе (подобно OLE), написал:
— указывает необходимость перехода по ссылке. Поддерживаются ссылки формата e1c:
Если указана внешняя ссылка — выполняется поиск запущенного клиентского приложения с той же строкой соединения, которая указана в параметре. В найденном клиентском приложении не должно быть открыто модальное или блокирующее окно. После этого выполняется попытка перехода по локальной ссылке из исходной навигационной ссылки и активизируется основное окно приложения. В случае неудачи клиентское приложение продолжает работу. Если исходная навигационная ссылка не содержит локальной ссылки (содержит только адрес информационной базы), то попытка перехода не выполняется, активируется основное окно найденного клиентского приложения.
Если подходящего клиентского приложения не найдено, строка соединения определяется из параметра командной строки /URL.
Если указана локальная ссылка — клиентское приложение запускается в общем порядке. После запуска выполнится попытка перехода по переданной локальной ссылке.
Для ссылок формата http(s) всегда запускается (или находится активный) тонкий клиент.
© ООО «1С-Софт», 1996-2019. Все права защищены.
Источник
Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
Источник
Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
13.01.2021 1 мин. чтения
После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.
Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:
Причины возникновения ошибки -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С.
После регистрации библиотеки скорей всего синхронизация заработает.
Источник
Как устранить ошибку -2147221005(0x800401F3) в 1С?
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам. К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:WindowsSysWOW64regsvr32 /u “c:Program Files1cv88.3.17.1851bincomcntr.dll” и C:WindowsSysWOW64regsvr32 “c:Program Files1cv88.3.17.1851bincomcntr.dll”. Если результат будет неожиданным, скорее всего в вашей системе вместо Program Files нужно использовать Program Files (x86).
Если в тексте сообщения есть указание проблемного COM-объекта, нужно поработать с ним. Например, у некоторых пользователей проблема в MSXML2.XMLHTTP.4.0. Решением будет его регистрация или редактирование объекта. В конкретном случае нужно просто запустить редактор реестра, в поиск ввести MSXML2.XMLHTTP.4.0 и заменить значение с 4.0 на 6.0.
Отказ от устаревших объектов
Еще одна из наиболее вероятных проблем – обращение к устаревшему объекту. Если у вас где-то в коде есть строка COMConnector = Новый COMObject(«V82.COMConnector»);, то нужно заменить на актуальную версию V83.COMConnector. То же самое и с другими объектами, которые сейчас не поддерживаются.
Преимущественно одно из действий помогает устранить ошибку -2147221005(0x800401F3) в 1С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Источник
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам. К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:WindowsSysWOW64regsvr32 /u “c:Program Files1cv88.3.17.1851bincomcntr.dll” и C:WindowsSysWOW64regsvr32 “c:Program Files1cv88.3.17.1851bincomcntr.dll”. Если результат будет неожиданным, скорее всего в вашей системе вместо Program Files нужно использовать Program Files (x86).
Если в тексте сообщения есть указание проблемного COM-объекта, нужно поработать с ним. Например, у некоторых пользователей проблема в MSXML2.XMLHTTP.4.0. Решением будет его регистрация или редактирование объекта. В конкретном случае нужно просто запустить редактор реестра, в поиск ввести MSXML2.XMLHTTP.4.0 и заменить значение с 4.0 на 6.0.
Отказ от устаревших объектов
Еще одна из наиболее вероятных проблем – обращение к устаревшему объекту. Если у вас где-то в коде есть строка COMConnector = Новый COMObject(«V82.COMConnector»);, то нужно заменить на актуальную версию V83.COMConnector. То же самое и с другими объектами, которые сейчас не поддерживаются.
Преимущественно одно из действий помогает устранить ошибку -2147221005(0x800401F3) в 1С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Mikhail Volkov
12.11.20 — 15:11
Перестало работать OLE-соединение «V83.Application»: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса. Тема заезженная, везде предлагают выполнить перерегистрацию платформы. Стоит 8.3.10.2466 х64, но клиентская часть 32-разрядная, делаю (под админом): regsvr32 «c:Program Files1cv88.3.10.2466bincomcntr.dll» (или надо regsvr32 «c:Program Files (x86)1cv88.3.10.2466bincomcntr.dll»?). Дальше надо сервер перезагрузить, или необязательно?
Читал статьи Ошибка V82.COMConnector на сервере 64. Решение проблемы (http://catalog.mista.ru/1c/articles/197627/) и Решение проблемы «Недопустимая строка
с указанием класса (https://efsaver.ru/docs/reshenie-problemy-nedopustimaya-stroka-s-ukazaniem-klassa.html), кое-что изменил/добавил в приложение COM+ V8COMConnector. Чтобы изменения вступили в силу, как перезапустить?
Mikhail Volkov
1 — 12.11.20 — 15:36
Службы компонентов/Действие/Пуск?
Kigo_Kigo
2 — 12.11.20 — 15:40
не помню что конкретно сделал, но статья с инфостарта не помогла, по моему привел разрядность к одному знаменателю
Kigo_Kigo
3 — 12.11.20 — 15:41
сижу уже с начала создания темы вспоминаю как эту бяку победил, хоть убей не помню, помню точно что по статье делал, не вылечилось и сервант ребутил и клиента
ДенисЧ
4 — 12.11.20 — 15:42
Взять regsvr32 не из system, а из SysWOW ?
Mikhail Volkov
5 — 12.11.20 — 15:50
Не помогло… Службу Агент сервера 1С:Предприятия 8.3 (x86-64) перезапустить, выкинет пользователей?
(1) У Альфа-Авто должна быть 32-разрядная клиентская часть, иначе торговое оборудование не работает.
(4) Полностью C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.10.2466bincomcntr.dll»? Не Program Files (x86)?
ДенисЧ
6 — 12.11.20 — 15:52
(5) Если SysWOW, то (x86)
И наоборот
Kigo_Kigo
7 — 12.11.20 — 15:52
(5) как ты пытаешься вызвать х64 ком объект с х32 разрядного клиента? ответ, никак, регистрируй на клиенте х32 компненту
Mikhail Volkov
8 — 12.11.20 — 15:53
(4) Чтоб в силу вступило, что сделать?
Kigo_Kigo
9 — 12.11.20 — 15:55
(8) Ничего, так должно все работать, у тебя из сабжа не создается ком объект, потому что он ее не видит, а точнее видит другой разрядности, это не проблема подключений к базе через ком(сервер х64,х32, не важно), это проблема создания объекта как такого
Kassern
10 — 12.11.20 — 15:56
(0) делай обертку через службы компонентов для библиотеки comcntr.dll
Mikhail Volkov
11 — 12.11.20 — 16:09
(9) Дык, как правильно ее регистрировать?
(10) Вроде все сделано. Описание: 1CV83 COM Connector Class, DLL: C:Program Files1cv88.3.10.2466bincomcntr.dll
Kigo_Kigo
12 — 12.11.20 — 16:22
(11) а у тебя точно регистрация проходит?
Kigo_Kigo
13 — 12.11.20 — 16:24
И так, делает reg.bat файл , вставляем туда строку
C:WindowsSystem32regsvr32.exe «C:Program Files1cv88.3.15.1830bincomcntr.dll»
pause
сохраняем, запускаем от имени администратора, пробуй, скрин о регистрации сюда
Kigo_Kigo
14 — 12.11.20 — 16:25
(13) Пути поменять на свои, лучше полные
Kigo_Kigo
15 — 12.11.20 — 16:26
для х32 путь в C:Program Files (x86)
arsik
16 — 12.11.20 — 16:31
Mikhail Volkov
17 — 12.11.20 — 16:55
(13) Успешное выполнение: https://ibb.co/z5h2fHc. Ошибка осталась. 1С надо перезапускать?
(16) Что им должен увидеть?
Вроде дело не в регистрации, в чем-то другом… Может служба какая-то отвалилась… Какая? Работало же раньше…
Kigo_Kigo
18 — 12.11.20 — 17:01
1С конечно надо перезапустить
Mikhail Volkov
19 — 12.11.20 — 17:03
(18) Не помогло.
ZDenis
20 — 12.11.20 — 17:51
(19) У тебя com соединение на сервере ведь создается, причем тут клиентская часть. Вот на сервере и регистрируй dll. Причем, если сервер 64х, то и dll нужно соответствующую. Сперва лучше отмени уже сделанную регистрацию, чтобы в реестре путаницы не было.
МимохожийОднако
21 — 12.11.20 — 17:59
В БСП и типовых конфигурациях есть функция ЗарегистрироватьCOMСоединитель()
TormozIT
22 — 12.11.20 — 18:14
О да тут похоже все не понимают, что COMСоединитель и OLEAutomation (V8*.Application) — разные вещи и имеют существенные отличия в отношении контроля совместимости версий платформы и способа регистрации.
Кто хочет прокачать теорию, читайте тут все разжевано http://catalog.mista.ru/1c/articles/387577/
Кому нужно решение, в (16) уже дали ссылки — там все сделано очень универсально (как и весь ИР). Картинка на странице описания правда старовата уже. Запускать эту приблуду надо на том компьютере, где будет создаваться COM-объект (COM-клиент).
Mikhail Volkov
23 — 12.11.20 — 19:49
(20) (22) Уже всяко пробовал, в том числе с ключом /u (с отменой регистрации). Другой вариант: переустановить платформу, при этом она зарегистрирует все компоненты заново. Но это крайний вариант. Вроде дело не в регистрации…
Службы компонентов как перезапустить? Хотя сервер перезагрузил (все вышли), не помогло!?
Mikhail Volkov
24 — 12.11.20 — 22:16
Где, в какой ветке реестра Windows прописывается регистрация платформы?
TormozIT
25 — 12.11.20 — 22:43
(23) Если ты пробовал все, что я рекомендовал, то покажи скриншот с COM классами в ИР.
Mikhail Volkov
26 — 13.11.20 — 05:33
(25) Как это сделать? Это с помощью инструментов (16)? У меня их нет.
TormozIT
27 — 13.11.20 — 07:54
(26) Почему у тебя их нет? Что ты делал, чтобы они у тебя появились?
Mikhail Volkov
28 — 13.11.20 — 08:09
(27) Управление COM классами 1С
Просмотр и регистрация COM классов платформы 1С.
Все разрядности
Все типы классов
Все издания платформы
Генерация конфигурационного файла разрешения отладки COM-соединения
Можно указать для каждого класса нужную версию платформы из списка установленных
Пожалуй стоит поставить…
А «Регистрация утилиты администрирования серверов (8.3.10.2466)» — то, нет? Объект: «C:Program Files (x86)1cv88.3.10.2466binRegMSC.cmd» выполнил: C:Program Files (x86)1cv88.3.10.2466bin>regsvr32 /n /i:user radmin.dll — Успешное выполнение DllInstall в radmin.dll, но ошибка осталась.
TormozIT
29 — 13.11.20 — 08:14
(28) Поздравляю. Ты сделал первый шаг в правильном направлении — осознал, что «стоит поставить». Представляй, что я крепко держу тебя за руку, и потому делай уверенно следующий шаг.
XLife
30 — 13.11.20 — 08:15
«C:Program Files (x86)1cv88.3.10.2466bin1cv8.exe» /regserver
Mikhail Volkov
31 — 13.11.20 — 08:21
(29) Не понял, что скачивать: ИНСТРУМЕНТЫ РАЗРАБОТЧИКА ПОРТАТИВНЫЕ 1С 8.2+ V5.67P или 1С 8.3 V5.67E (1С 8.2 смущает)?
(30) В командной строке (под админом)?
XLife
32 — 13.11.20 — 08:24
(31) да… а потом на всякий случай: regsvr32 «C:Program Files (x86)1cv88.3.10.2466bincomcntr.dll»
МимохожийОднако
33 — 13.11.20 — 08:27
(31) не смущайся. Скачивай
TormozIT
34 — 13.11.20 — 08:31
(31) Там не 8.2, а 8.2+. Качай портативные
Mikhail Volkov
35 — 13.11.20 — 08:33
(32) Сообщений не выдало, процесс OLE-соединения вроде пошел… сразу ошибку (0) не выкинула. О, Подключение выполнено к базе: ‘Srvr=»ANDROMEDA»;Ref=»PATRCA»;’ 13.11.2020 10:27:23 — успех! Посмотрю как в рабочей базе…
TormozIT
36 — 13.11.20 — 08:44
(35) Только это не из-за (32), а из-за (30). Ну хоть кто то здесь знает разницу из (22).
Mikhail Volkov
37 — 13.11.20 — 11:29
Все же, в какой ветке реестра Windows прописывается регистрация платформы?
(36) Статью в (22) читал, но по другому поводу: Альфа-Авто обычно ведет Com-обмены с УПП/КА1. Когда поддержка КА1 кончилась, создали базу ERP/КА2, но она потребовала более высокую версию платформы. С OLE-обменом возникли проблемы: https://i.ibb.co/pdrH9Wy/COM.jpg. Меняю версию зарегистрированной платформы, тогда нормально. Даже функции написал:
// Определяет версию подключаемого приложения, при не соответствии требуемой переключает ее для OLE
// для пользователей с административными правами
Функция ВерсияПодключаемогоПриложения(СтрокаПодключения) Экспорт
СисИнфо = Новый СистемнаяИнформация;
ТекущаяВерсия = СисИнфо.ВерсияПриложения;
Если Найти(ТекущаяВерсия, «8.3») = 0 Тогда
Возврат ТекущаяВерсия;
КонецЕсли;
ТребуемаяВерсия = ?(ПодключенаВысокаяВерсия(СтрокаПодключения), ВысокаяВерсия, ПрежняяВерсия);
х86 = Не ПодключенаВысокаяВерсия(СтрокаПодключения);
WshShell = Новый COMОбъект(«WScript.Shell»); Ключ = «»;
Значение = ЗначениеКлючаЗарегистрированнойВерсииV83Application(WshShell, Ключ);
// Перключение версии OLE
// Если Не ПустаяСтрока(Значение) И Найти(Значение, ТребуемаяВерсия) = 0 Тогда // ТекущаяВерсия <> ТребуемаяВерсия
// Значение = СтрЗаменить(Значение, «Program Files» + ?(х86, «», » (x86)»), «Program Files» + ?(х86, » (x86)», «»));
// Значение = СтрЗаменить(Значение, ТекущаяВерсия, ТребуемаяВерсия);
// WshShell.RegWrite(Ключ, Значение);
// ЗапуститьПриложение(«taskkill.exe /f /im dllhost.exe»,, Истина);
// Сообщить(«Переключили версию платформы на » + ТребуемаяВерсия, СтатусСообщения.Информация);
// КонецЕсли;
Возврат ?(ПустаяСтрока(Значение), ТекущаяВерсия, ТребуемаяВерсия);
КонецФункции // ВерсияПодключаемогоПриложения()
// Переключает на старую версию платформы для OLE-соединения, если она переключена на новую версию
// для пользователей с административными правами
Процедура ЗвершитьПодключениеOLE() Экспорт
WshShell = Новый COMОбъект(«WScript.Shell»); Ключ = «»;
Значение = ЗначениеКлючаЗарегистрированнойВерсииV83Application(WshShell, Ключ);
Если ПустаяСтрока(Значение) Или Найти(Значение, «Program Files (x86)1cv8» + ПрежняяВерсия) > 0 Тогда
Возврат;
КонецЕсли;
WshShell.RegWrite(Ключ, «C:Program Files (x86)1cv8» + ПрежняяВерсия + «bin1cv8.exe»);
ЗапуститьПриложение(«taskkill.exe /f /im dllhost.exe»,, Истина);
КонецПроцедуры // ЗвершитьПодключениеOLE()
Функция ЗначениеКлючаЗарегистрированнойВерсииV83Application(WshShell, Ключ) Экспорт
// значение HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{e92b75e3-2ea1-4fec-b493-cef3ec59fca6}LocalServer32 должно быть C:Program Files1cv88.3.14.1779bin1cv8.exe
CLSID = «{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}»;
Ключ = «HKEY_CLASSES_ROOTWow6432NodeCLSID» + CLSID + «LocalServer32»;
Значение = «»;
Попытка
Значение = WshShell.RegRead(Ключ);
Исключение
Сообщить(«Произошла исключительная ситуация (WshShell.RegRead): Неверная ссылка на корень в разделе реестра » + Ключ + » — недостаточно прав на реестр Windows», СтатусСообщения.Внимание);
КонецПопытки;
Возврат Значение;
КонецФункции // ЗначениеКлючаЗарегистрированнойВерсииV83Application()
Но это только для пользователей с административными правами, пришлось от них отказаться. А метод COM (не OLE) нормально работает. Нашел на http://catalog.mista.ru/public/1042208/ метод открытия объекта по ссылке в другой базе (подобно OLE), написал:
// Открытие объекта по ссылке в базе ERP/КА2, работающей на более высокой версии платформы
//
Процедура ОткрытьОбъектВБазеВысокойВерсии(Ссылка) Экспорт
Если обЗначениеНеЗаполнено(Ссылка) Тогда
Предупреждение(«Объект в » + БазаОрганизации(ОрганизацияТекущегоПодключенияКА()) + «не найден!», 60);
Возврат;
КонецЕсли;
ИмяСервера = Сред(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), 7, Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), «;Ref=») — 8); // «andromeda:1641»;
ИмяБазы = Сред(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), «;Ref=») + 6, СтрДлина(ОбъектКА.СтрокаСоединенияИнформационнойБазы()) — Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), «;Ref=») — 7); // «PatrERP»;
Если Не БазаКАОткрытаПользователем() Тогда
Предупреждение(«База ‘» + ИмяБазы + «‘ не открыта под пользователем ‘» + СокрЛП(ПараметрыСеанса.Пользователь) + «‘», 60);
Возврат;
КонецЕсли;
Объект = Ссылка.ПолучитьОбъект();
ТипОбъекта = СокрЛП(Объект.Метаданные().ПолноеИмя());
GUID = ОбъектКА.XMLСтрока(Ссылка.УникальныйИдентификатор());
НавигационныйGUID = Сред(GUID, 20 ,4) + Сред(GUID, 25, 12) + Сред(GUID, 15, 4) + Сред(GUID, 10, 4) + Сред(GUID, 1, 8);
ПутьОбъекта = «e1cib/data/» + ТипОбъекта + «?ref=» + НавигационныйGUID;
НазваниеОкна = СокрЛП(ОбъектКА.Константы.ЗаголовокСистемы.Получить()); // «КА2 ИП Патрушева Г.М.»;
НазваниеОкна = СтрЗаменить(НазваниеОкна, «»»», «»»»»»);
НазваниеОкна = СтрЗаменить(НазваниеОкна, » «, «»» «»»);
СерверБаза = ИмяСервера + «» + ИмяБазы;
СерверБаза = «/S»»» «»»» + СерверБаза + «»»» «»»/URL»»» «»»» + ПутьОбъекта; // после СерверБаза? » /N»»Администратор»» /P»»2001221″
ПутьКФайлу = «corp.akitworkspace$1c1с_Архивы»;
ПолныйПутьКФайлу = ПутьКФайлу + «ОткрытьСсылкуВДругойБазе.exe»;
ПолныйПутьОткрытияОбъекта = «»»»»»; // вроде не нужно СтрЗаменить(«c:Program Files1cv8common1cestart.exe ENTERPRISE » + СерверБаза,» «,»»» «»»);
Файл = Новый Файл(ПолныйПутьКФайлу);
Если Не Файл.Существует() Тогда
Сообщить(«Файл: ‘» + ПолныйПутьКФайлу + «‘ не существует.», СтатусСообщения.Информация);
Возврат;
КонецЕсли;
Приложение = ПолныйПутьКФайлу
+ » » + НазваниеОкна
+ » » + ПутьОбъекта
+ » » + СерверБаза
+ » » + ПолныйПутьОткрытияОбъекта;
// Сообщить(Приложение, СтатусСообщения.Информация);
ЗапуститьПриложение(Приложение);
КонецПроцедуры // ОткрытьОбъектВБазеВысокойВерсии()
acht
38 — 13.11.20 — 11:40
(37) > ПолныйПутьКФайлу = ПутьКФайлу + «ОткрытьСсылкуВДругойБазе.exe»;
/URL <адрес>
— указывает необходимость перехода по ссылке. Поддерживаются ссылки формата e1c:
Если указана внешняя ссылка — выполняется поиск запущенного клиентского приложения с той же строкой соединения, которая указана в параметре. В найденном клиентском приложении не должно быть открыто модальное или блокирующее окно. После этого выполняется попытка перехода по локальной ссылке из исходной навигационной ссылки и активизируется основное окно приложения. В случае неудачи клиентское приложение продолжает работу. Если исходная навигационная ссылка не содержит локальной ссылки (содержит только адрес информационной базы), то попытка перехода не выполняется, активируется основное окно найденного клиентского приложения.
Если подходящего клиентского приложения не найдено, строка соединения определяется из параметра командной строки /URL.
Если указана локальная ссылка — клиентское приложение запускается в общем порядке. После запуска выполнится попытка перехода по переданной локальной ссылке.
Для ссылок формата http(s) всегда запускается (или находится активный) тонкий клиент.
© ООО «1С-Софт», 1996-2019. Все права защищены.
Mikhail Volkov
39 — 13.11.20 — 11:55
(38) Что-то не понял к чему это, о чем?
Mikhail Volkov
40 — 13.11.20 — 12:42
Не сразу заметил эту (0) ошибку, потому что в ЖР в отборе на вкладке Данные отмечаю лишь объекты заслуживающие внимание (например, по кассе). Тогда ошибки по другим объектам не видны. Можно как-то настроить отбор, чтобы события с ошибками все отображались. А события Информация — только отмеченные на вкладке Данные?
acht
41 — 13.11.20 — 13:13
(39) ОткрытьСсылкуВДругойБазе.exe не нужен
Mikhail Volkov
42 — 13.11.20 — 13:55
Mikhail Volkov
43 — 13.11.20 — 17:33
На счет ЖР (40), смотреть либо ошибки, либо отмеченные объекты? Вместе никак?
При выполнении каких-либо задач с комплексом 1С (фоновый обмен данными между компонентами, запуске нужной конфигурации, проверки выполнения кода etc) может появиться сообщение об ошибке 2147221005(0x800401F3). Последняя обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами. Давайте разберёмся, что делать при появлении ошибки в вашей 1С.
Содержание
- Суть и причины дисфункции
- Обновите вашу конфигурацию 1С до актуальной версии
- Запускайте 1С с правами админа
- Измените код программы
- Зарегистрируйте в системе библиотеку comcntr.dll
- Проверьте наличие установленного в системе Excel
- Используйте специализированные форумы 1С
- Заключение
Суть и причины дисфункции
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки 2147221005 относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С. К примеру, фиксировались случаи появления ошибки при использовании архаичной конфигурации «Управление торговлей» при попытке обмена данными с 1С «Бухгалтерия предприятия»;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо модерного «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll, имеющая важное значение для работы 1С;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётки администратора);
- В системе не установлен (не зарегистрирован) Excel, необходимый для работы 1С.
Давайте разберёмся, как исправить ошибку 2147221005 «Недопустимая строка с указанием класса» в вашей системе 1С.
Это интересно: ошибка 2147221164 (0x80040154) при регистрации класса.
Обновите вашу конфигурацию 1С до актуальной версии
Первым делом убедитесь, что вы используете самую свежую версию конфигурации 1С. При подключении к нужным базам для выполнения обмена она может попытаться использовать устаревшую платформу (к примеру, 8.2), которая фактически отсутствует. Потому обновите вашу версию конфигурации до актуального релиза, а потом попробуйте осуществить требуемое подключение.
Запускайте 1С с правами админа
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки 2147221005 является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
на строку:
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Зарегистрируйте в системе библиотеку comcntr.dll
Если вы пользуетесь Виндовс 64, то необходимо провести корректную регистрацию в системе библиотеки comcntr.dll. Нажмите на Win+R, введите следующую строку:
C:WindowsSysWOW64regsvr32 «c:Program Files(x86)1cv88.3.12.1469bincomcntr.dll»
Вместо «8.3.12.1469» укажите установленную у вас версию технологической платформы. После этого нажмите на ввод. Указанная регистрация может помочь избавиться от ошибки 2147221005 в 1С.
Интересно знать: решение ошибки запроса POST к ресурсу /e1cib/logForm.
Проверьте наличие установленного в системе Excel
Наличие установленного в системе Excel является необходимым элементом при обращении к нему системы 1С. Потому рекомендуем убедиться, что Эксель в системе установлен корректно, для чего нажмите Win+R, введите там Excel, и нажмите ввод. Если программа запустилась, тогда всё работает корректно. Если нет, тогда следует установить (переустановить) Excel (комплекс «MS Office») на вашей машине (машинах).
Используйте специализированные форумы 1С
Если не один из указанных советов вам не помог, обратитесь к помощи форумов, которые посещают множество программистов и специалистов 1С. В частности, рекомендуем такие форумы как forum.infostart.ru, cyberforum.ru/1c-standard, is.ideasoft.in.ua где вам могут помочь в решении возникшей дисфункции.
Читайте также: 1С нарушение целостности системы – как решить.
Заключение
В нашем материале мы разобрали, когда появляется ошибка «2147221005(0x800401F3): Недопустимая строка с указанием класса», и как можно её исправить. Данная дисфункция может иметь различные причины, а для её решения рекомендуем задействовать весь комплекс способов, перечисленным нами выше. Их выполнение может помочь устранить ошибку 2147221005 в вашей системе 1С.
11.12.2022 2 мин
Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере
После установки новой версии платформы на сервер, я столкнулся с ошибкой вызова конструктора (COMObject) при обновлении конфигурации.
11.12.2022 2 мин
Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере
После установки новой версии платформы на сервер, я столкнулся с ошибкой вызова конструктора (COMObject) при обновлении конфигурации.
Причина ошибки обычно кроется в незарегистрированной библиотеке ComConnector (comcntr.dll), которая используется для управления подключениями к информационной базе на сервере 1С:Предприятие.
Текст ошибки при обновлении конфигурации на сервере
«Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса»
Раньше я регистрировал библиотеку вручную:
- Нажимаем кнопки Win + R.
- В окне вводим команду:
regsvr32 "C:Program Files1cv88.3.xx.xxxxbincomcntr.dll"
- Нажимаем Ок.
Но в текущей ситуации я получал ошибку:
Текст ошибки при регистрации comcntr.dll
Не удалось загрузить модуль “comcntr.dll». Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с этим двоичным файлом или зависимыми DLL-файлами.
Не найден указанный модуль.
Поэтому предлагаю надежный и главное легкий способ регистрации библиотеки comcntr.dll:
- Откройте каталог с установленной платформой C:Program Files1cv88.3.xx.xxxxbin. В директории найдите файл RegMSC.cmd (он регистрирует утилиту администрирования сервера).
- Щелкните правой кнопкой мыши на файле и выберите Изменить.
- Замените в тексте слово radmin.dll на comcntr.dll.
- Сохраните наш новый файл в каталог платформы, все в той же папке C:Program Files1cv88.3.xx.xxxxbin, назвав его как угодно, например, RegCOM.cmd и запустите его от имени администратора.
Или можете скачать файл RegCOM.cmd с нашего сайта, переместить в каталог C:Program Files1cv88.3.xx.xxxxbin и запустить от имени администратора.
- Библиотека будет успешно зарегистрирована.
- Повторите попытку обновления конфигурации.
Алекс Гезанов
Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.
Содержание:
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, который следует использовать, чтобы подключиться к базам с информацией, следовательно – ошибка полностью устранена.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
На чтение 6 мин. Просмотров 426 Опубликовано 15.12.2019
Как быть, что делать, как исправить, если при запуске обработки появляется ошибка:
<ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(6)>: Ошибка при вызове конструктора (COMОбъект)
v8 = Новый COMОбъект(«V82.COMConnector»);
по причине:
Недопустимая строка с указанием класса
Содержание
- Решение:
- Предлагаем решение Ваших задач 1С.
- Внедрение 1С:
- Доработка и сопровождение 1С:
- Вы здесь
- Суть и причины «Недопустимая строка с указанием класса»
- Обновите вашу конфигурацию 1С до актуальной версии
- Запускайте 1С с правами админа
- Измените код программы
- Зарегистрируйте в системе библиотеку comcntr.dll
- Проверьте наличие установленного в системе Excel
- Используйте специализированные форумы 1С
- Заключение
Решение:
Обратите внимание, что у Вас каталог может быть и не «8.2.15.310» а другой.
«8.2.15.310» — это каталог с именем (номером версии) платформы 1С. Значение, которое нужно сюда подставить
отображается в 1С:
No news availble
Предлагаем решение Ваших задач 1С.
Внедрение 1С:
- Организуем вам индивидуальное экспресс обучение программам 1С.
- Мы поможем Вам начать работать с программами 1С.
- Мы поможем Вам настроить ваши отчеты в 1С.
- Установим и настроим 1С под ваши задачи.
- Поможем сделать ввод начальных остатков по складам и контрагентам
- Перенесем данные из старых систем.
- Подскажем как избежать ошибок.
Доработка и сопровождение 1С:
- Доработаем существующие или создадим новые печатных формы и документы.
- Разработаем внешние отчеты по Вашим требованиям.
- Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
- Разработаем приложения для выгрузки данных на сайты.
Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.
Вы здесь
Что делать, если возникает ошибка «Недопустимая строка с указанием класса» и регистрация библиотеки «COM connector» при помощи regsvr32 не помогает?
Ошибка связана с тем, что библиотека зарегистрирована под архитектуру х64, а вызов производится из под х86. Для исправления ситуации можно вручную указать системе нужную версию компоненты.
1. Откроем «Службы компонентов» через «Панель управления — Система и безопасность».
2. Создадим новое приложение COM+ через «Службы компонентов — Компьютеры — Мой компьютер — Приложения COM+ — Создать — Приложение».
3. На первой странице мастера установки приложений COM+ нажмем «Далее».
4. Нажемем кнопку «Создать новое приложение».
5. Введем имя нового приложения «V83COMConnector», выберем «Серверное приложение», нажмем «Далее».
6. Выберем «Текущий (вошедший в систему) пользователь», нажем «Далее».
7. Не добавляя роль, нажмем «Далее».
8. Не добавляя пользователей для ролей, нажмем «Далее».
9. Для вновь созданного приложения создадим новый компонент.
10. На первом шаге мастера установки компонентов COM+ нажмем «Далее».
11. Нажмем кнопку «Установка новых компонентов».
12. Выберем библиотеку comcntr.dll из текущего релиза платформы, например, «C:Program Files1cv88.3.14.1779in comcntr.dll «.
13. Ничего не меняя, нажмем «Далее».
14. Завершим установку компонентов COM+, нажав на кнопку «Готово».
15. Откроем свойства приложения «V83COMConnector».
16. Снимим галку «Принудительная проверка доступа для приложения», установим уровень органичений «Неограниченный».
При выполнении каких-либо задач с комплексом 1С (фоновый обмен данными между компонентами, запуске нужной конфигурации, проверки выполнения кода etc) может появиться сообщение об ошибке 2147221005(0x800401F3). Последняя обычно сопровождается строкой « Недопустимая строка с указанием класса » и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами. Давайте разберёмся, что делать при появлении ошибки 2147221005(0x800401F3) в вашей 1С.
Суть и причины «Недопустимая строка с указанием класса»
Ошибка 2147221005(0x800401F3) относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки 2147221005 относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С . К примеру, фиксировались случаи появления ошибки 2147221005(0x800401F3) при использовании архаичной конфигурации «Управление торговлей» при попытке обмена данными с 1С «Бухгалтерия предприятия»;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо модерного «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll , имеющая важное значение для работы 1С;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётки администратора);
- В системе не установлен (не зарегистрирован) Excel , необходимый для работы 1С.
Давайте разберёмся, как исправить ошибку 2147221005 «Недопустимая строка с указанием класса» в вашей системе 1С.
Обновите вашу конфигурацию 1С до актуальной версии
Первым делом убедитесь, что вы используете самую свежую версию конфигурации 1С. При подключении к нужным базам для выполнения обмена она может попытаться использовать устаревшую платформу (к примеру, 8.2), которая фактически отсутствует. Потому обновите вашу версию конфигурации до актуального релиза, а потом попробуйте осуществить требуемое подключение.
Используйте свежую версию 1С
Запускайте 1С с правами админа
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки 2147221005 является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены ошибка «Недопустимая строка с указанием класса» может быть решена.
Зарегистрируйте в системе библиотеку comcntr.dll
Если вы пользуетесь Виндовс 64, то необходимо провести корректную регистрацию в системе библиотеки comcntr.dll . Нажмите на Win+R, введите следующую строку:
C:WindowsSysWOW64
egsvr32 «c:Program Files(x86)1cv88.3.12.1469incomcntr.dll»
Вместо «8.3.12.1469» укажите установленную у вас версию технологической платформы. После этого нажмите на ввод. Указанная регистрация может помочь избавиться от ошибки 2147221005 в 1С.
Проверьте наличие установленного в системе Excel
Наличие установленного в системе Excel является необходимым элементом при обращении к нему системы 1С. Потому рекомендуем убедиться, что Эксель в системе установлен корректно, для чего нажмите Win+R, введите там Excel , и нажмите ввод. Если программа запустилась, тогда всё работает корректно. Если нет, тогда следует установить (переустановить) Excel (комплекс «MS Office») на вашей машине (машинах).
Используйте специализированные форумы 1С
Если не один из указанных советов вам не помог, обратитесь к помощи форумов, которые посещают множество программистов и специалистов 1С. В частности, рекомендуем такие форумы как forum.infostart.ru, cyberforum.ru/1c-standard, is.ideasoft.in.ua где вам могут помочь в решении возникшей дисфункции.
Заключение
В нашем материале мы разобрали, когда появляется ошибка «2147221005(0x800401F3): Недопустимая строка с указанием класса», и как можно её исправить. Данная дисфункция может иметь различные причины, а для её решения рекомендуем задействовать весь комплекс способов, перечисленным нами выше. Их выполнение может помочь устранить ошибку 2147221005 в вашей системе 1С.
Содержание
- Устранение ошибки при подключении к базе данных 1С через COM-соединение
- Платформа:
- Комментарии
- Тема: ошибка обновления
- ошибка обновления
- Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
- Подготовительные действия
- Подходы к решению
- Ошибка при проверке подключения к информационной базе при обновления 1С:Предприятия редакции 2.0 на 3.0
- 1C ошибка HTTP при обращении к серверу
- При запуске базы появляется сообщение об ошибке
Устранение ошибки при подключении к базе данных 1С через COM-соединение
Платформа:
Комментарии
Дмитрий (не проверено)
пт, 16/01/2015 — 17:08
Спасибо, очень ценный материал, помогло!
Сергей_H (не проверено)
пт, 23/01/2015 — 05:54
Очень полезная статья, помогло.
Сергей Иванович (не проверено)
чт, 02/07/2015 — 08:53
Большое спасибо за подробную инструкцию — ошибку удалось исправить благодаря Вам.
Ирина5529 (не проверено)
чт, 03/09/2015 — 15:28
Спасибо! Очень пригодилась статья — ошибка исправлена!
VictorD (не проверено)
пт, 02/10/2015 — 09:19
Отличный материал. Спасибо.
Pasha (не проверено)
вс, 11/10/2015 — 23:29
Очень помогло, ошибка появилась после перехода на 64х сервер 1С 8.3.
А обычная регистрация regsvr32 не дала результата.
babys (не проверено)
пт, 16/10/2015 — 11:36
Все гораздо проще 🙂
regsvr32 «путь к каталогу с версией»bincomcntr.dll
Евсенкин Максим (не проверено)
ср, 21/10/2015 — 11:21
Юлия (не проверено)
чт, 24/12/2015 — 12:19
Спсибо, очень помогло
Вячеслав (не проверено)
пн, 11/04/2016 — 14:45
Спасибо! Избавился от проблемы.
Ольга Кугаевская (не проверено)
чт, 19/05/2016 — 17:46
Спасибо огромное. Всё доступно и понятно. Главное даже на 10 винде сработало)
Размик (не проверено)
сб, 09/07/2016 — 14:31
Ma3au (не проверено)
пт, 23/12/2016 — 09:28
Огромяк спасибяк! Пригодилось!
Игорь (не проверено)
пн, 09/01/2017 — 17:03
Автор данной статьи очень грамотрно все расписал спасибо тебе а то целый день мучался не как не мог разобраться в чем причина статья ваша очень помогла +10!
Ксения (не проверено)
чт, 09/02/2017 — 14:55
Огромное спасибо. Я в этих всех компьютерных примочках полный профан, но все понятно и доступно, и, главное, пошагово и со скриншотами! Автор статьи большой молодец!
Оразбек (не проверено)
вс, 05/11/2017 — 16:02
Спасибо! Отлично все расписано. Очень помогло.
DirHarvest (не проверено)
ср, 20/12/2017 — 14:41
Спасибо тебе, добрый человек! Поклон до земли! Вышла эта ошибка после обновления платформы 8.3 — все перерыл. И спасло только вот это. Здоровья, удачи и всего самого хорошего! С Наступающим Новым годом 🙂 Еще раз спасибо!
Источник
Тема: ошибка обновления
Опции темы
Поиск по теме
ошибка обновления
1С:Предприятие 8.2. (8.2.19.80), Конфигурация Бухгалтерия предприятия (2.0.55.7)
при попытке обновления выдает ошибку («обнаружено обновление конфигурации», при нажатии кнопки далее):
Ошибка при проверке подключения к информационной базе.
(Обработка.ОбновлениеКонфигурации.МодульОбъекта(1383)): Ошибка при вызове конструктора
(СОМОбъект): Класс не зарегистрирован: Класс не зарегистрирован.
если еще раз нажать далее, открывается еще одно окно:
«ошибка при проверке подключения к информационной базе. Класс не зарегистрирован».
В чем причина такой ошибки и как с ней бороться?
А незарегистрированный класс не пишет?
Мне кажется, что на компьютере 1С не установлена, а просто скопирована установка, поэтому и ругается.
больше ничего не пишет. цитата приведена полностью.
на этом компе есть еще одна база. она обновляется нормально.
В общем ничего конкретного сказать не могу, но куда бы рыл сам:
1 — обновил бы платформу до 8.2.19.90. Хотя написано на сайте поддержки что 8.2.19.80 и должно быть достаточно, но все же.
2 — попробовал бы обновляться последовательно в ручную через конфигуратор. Понятно, что текущая версия 2.0.56.3 (как опять же написано на сайте поддержки) может обновлять вашу 2.0.55.7 (что скорее всего и пытается сделать автоматическое обновление), но можно пойти другим путем: обновить через конфигуратор до 2.0.56.2, потом войти и выйти в обычном режиме и потом обновить до 2.0.56.3. А вдруг поможет?
А вообще — в саппорт с такими ошибками надо.
Источник
Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
Источник
Ошибка при проверке подключения к информационной базе при обновления 1С:Предприятия редакции 2.0 на 3.0
При обновлении типовой конфигурации 1С:Предприятие редакции 2.0 на новую версию 3.0 возникла ошибка: Ошибка при проверке подключения к информационной базе: недопустимая строка с указанием класса COM . Обновление до конца не доходило.
Решение заключается в ручной регистрации COM -объекта V83.COMConnector на сервере, где установлена 1С:Предприятие.
- Очищаем кэш 1С как показано здесь.
- Запускаем «Консоль управления MMC »: в поиске пишем mmc и давим Enter
- Далее добавляем оснастку Службы компонентов. Для этого в верхнем меню Файл -> Добавить или удалить оснастку
В открывшемся окне выбираем «Службы компонентов», кнопку Добавить и OK. - Справа в дереве открытой оснастки переходим Службы компонентов -> Компьютеры -> Мой компьютер -> Приложения COM + и на последнем пункте кликнете правой кнопкой мыши, чтобы вызвать контекстное меню и в нем выберете Создать -> Приложение
- Откроется Мастер установки, в котором Создаем новое приложение
- Вводим имя нового приложение. Может быть любым. Тип активации оставляем как на скриншоте.
- На следующем шаге указываем удостоверение пользователя – от имени Текущий пользователь. Важно, чтобы у этого локального пользователя были права Администратора. Жмем «Далее»
- Остальные шаги нас не особо интересуют, поэтому кликаем везде «Далее».
- Далее нам нужно в нашем приложении создать компонент. Для этого раскрываем пункт Приложения COM + и находим свое созданное приложение. На нем нужно кликнуть правой кнопкой мыши и в контекстном меню выбрать Создать -> Компонент. Откроется мастер установки, в котором нужно кликнуть Установка новых компонентов
- На этом шаге в поле Устанавливаемые файлы указываем путь до файла C:Program Files1cv88.3.9.2170bincomcntr.dll и везде кликаем на Далее.
- Далее нужно немного изменить свойства нашего приложения. Для этого кликаем правой кнопкой на названии нашего приложения и вызываем свойства.
- В открывшемся меню переходим на вкладку Безопасность и снимаем галочку с «Принудительная проверка доступа для приложений»
- Ниже отмечаем галкой пункт Применить политику программных ограничений и выставляем уровень ограничений в Неограниченный
- Перезагружаем сервер.
Источник
1C ошибка HTTP при обращении к серверу
1С Предприятие это программный продукт который позволяет очень легко и быстро автоматизировать работу в какой либо организации. Сейчас наверно не возможно найти организацию в которой бы не использовалось какая либо конфигурация 1С. Поэтому уметь с ней работать должен каждый ИТ специалист даже начинающий. Необходимо обладать хотя бы навыками администрирование, подключение клинетов, настройка доступа, обновление и т.д. Так же нужно знать как решать самые элементарные ошибки которые возникают во время работы и запуска 1С. Таких ошибок достаточно много, о некоторых я уже рассказывал в следующих статьях, с которыми Вам обязательно нужно ознакомиться.
При запуске базы появляется сообщение об ошибке
Сегодня рассмотрим еще одну, она возникает в момент запуска информационной базы которая опубликована на веб сервере.
1C ошибка HTTP при обращении к серверу удаленный узел не прошел проверку
Если нажать «Подробно» то можно увидеть.
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка HTTP при обращении к серверу: https://…
Удаленный узел не прошел проверку
Это говорит о том что на сервере по каким либо причинам не работает HTTPS. Либо сбились настройки самого сервера либо просто истек срок действия сертификата SSL. Проверить это можно введя в браузере путь до информационной базы. Если вы видите тоже самое что на скриншоте ниже то проблема точно с сертификатом сервера.
Решить проблему можно отключив проверку, для этого выбираем базу и жмем «Изменить».
Потом нужно нажать «Дополнительно».
Первое окно пропускаем.
А в следующем выбираем «Не предоставлять сертификат» и «Не проверять сертификат сервера».
Теперь все должно запуститься, но помните что это не безопасно, так как есть вероятность перехвата данных.
Либо как вариант можно также изменить HTTPS на HTTP в адресе информационной базы.
Источник
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Алекс Гезанов
Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.
Содержание:
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, который следует использовать, чтобы подключиться к базам с информацией, следовательно – ошибка полностью устранена.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
На чтение 6 мин. Просмотров 426 Опубликовано 15.12.2019
Как быть, что делать, как исправить, если при запуске обработки появляется ошибка:
<ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(6)>: Ошибка при вызове конструктора (COMОбъект)
v8 = Новый COMОбъект(«V82.COMConnector»);
по причине:
Недопустимая строка с указанием класса
Содержание
- Решение:
- Предлагаем решение Ваших задач 1С.
- Внедрение 1С:
- Доработка и сопровождение 1С:
- Вы здесь
- Суть и причины «Недопустимая строка с указанием класса»
- Обновите вашу конфигурацию 1С до актуальной версии
- Запускайте 1С с правами админа
- Измените код программы
- Зарегистрируйте в системе библиотеку comcntr.dll
- Проверьте наличие установленного в системе Excel
- Используйте специализированные форумы 1С
- Заключение
Решение:
Обратите внимание, что у Вас каталог может быть и не «8.2.15.310» а другой.
«8.2.15.310» — это каталог с именем (номером версии) платформы 1С. Значение, которое нужно сюда подставить
отображается в 1С:
No news availble
Предлагаем решение Ваших задач 1С.
Внедрение 1С:
- Организуем вам индивидуальное экспресс обучение программам 1С.
- Мы поможем Вам начать работать с программами 1С.
- Мы поможем Вам настроить ваши отчеты в 1С.
- Установим и настроим 1С под ваши задачи.
- Поможем сделать ввод начальных остатков по складам и контрагентам
- Перенесем данные из старых систем.
- Подскажем как избежать ошибок.
Доработка и сопровождение 1С:
- Доработаем существующие или создадим новые печатных формы и документы.
- Разработаем внешние отчеты по Вашим требованиям.
- Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
- Разработаем приложения для выгрузки данных на сайты.
Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.
Вы здесь
Что делать, если возникает ошибка «Недопустимая строка с указанием класса» и регистрация библиотеки «COM connector» при помощи regsvr32 не помогает?
Ошибка связана с тем, что библиотека зарегистрирована под архитектуру х64, а вызов производится из под х86. Для исправления ситуации можно вручную указать системе нужную версию компоненты.
1. Откроем «Службы компонентов» через «Панель управления — Система и безопасность».
2. Создадим новое приложение COM+ через «Службы компонентов — Компьютеры — Мой компьютер — Приложения COM+ — Создать — Приложение».
3. На первой странице мастера установки приложений COM+ нажмем «Далее».
4. Нажемем кнопку «Создать новое приложение».
5. Введем имя нового приложения «V83COMConnector», выберем «Серверное приложение», нажмем «Далее».
6. Выберем «Текущий (вошедший в систему) пользователь», нажем «Далее».
7. Не добавляя роль, нажмем «Далее».
8. Не добавляя пользователей для ролей, нажмем «Далее».
9. Для вновь созданного приложения создадим новый компонент.
10. На первом шаге мастера установки компонентов COM+ нажмем «Далее».
11. Нажмем кнопку «Установка новых компонентов».
12. Выберем библиотеку comcntr.dll из текущего релиза платформы, например, «C:Program Files1cv88.3.14.1779in comcntr.dll «.
13. Ничего не меняя, нажмем «Далее».
14. Завершим установку компонентов COM+, нажав на кнопку «Готово».
15. Откроем свойства приложения «V83COMConnector».
16. Снимим галку «Принудительная проверка доступа для приложения», установим уровень органичений «Неограниченный».
При выполнении каких-либо задач с комплексом 1С (фоновый обмен данными между компонентами, запуске нужной конфигурации, проверки выполнения кода etc) может появиться сообщение об ошибке 2147221005(0x800401F3). Последняя обычно сопровождается строкой « Недопустимая строка с указанием класса » и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами. Давайте разберёмся, что делать при появлении ошибки 2147221005(0x800401F3) в вашей 1С.
Суть и причины «Недопустимая строка с указанием класса»
Ошибка 2147221005(0x800401F3) относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки 2147221005 относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С . К примеру, фиксировались случаи появления ошибки 2147221005(0x800401F3) при использовании архаичной конфигурации «Управление торговлей» при попытке обмена данными с 1С «Бухгалтерия предприятия»;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо модерного «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll , имеющая важное значение для работы 1С;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётки администратора);
- В системе не установлен (не зарегистрирован) Excel , необходимый для работы 1С.
Давайте разберёмся, как исправить ошибку 2147221005 «Недопустимая строка с указанием класса» в вашей системе 1С.
Обновите вашу конфигурацию 1С до актуальной версии
Первым делом убедитесь, что вы используете самую свежую версию конфигурации 1С. При подключении к нужным базам для выполнения обмена она может попытаться использовать устаревшую платформу (к примеру, 8.2), которая фактически отсутствует. Потому обновите вашу версию конфигурации до актуального релиза, а потом попробуйте осуществить требуемое подключение.
Используйте свежую версию 1С
Запускайте 1С с правами админа
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки 2147221005 является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены ошибка «Недопустимая строка с указанием класса» может быть решена.
Зарегистрируйте в системе библиотеку comcntr.dll
Если вы пользуетесь Виндовс 64, то необходимо провести корректную регистрацию в системе библиотеки comcntr.dll . Нажмите на Win+R, введите следующую строку:
C:WindowsSysWOW64
egsvr32 «c:Program Files(x86)1cv88.3.12.1469incomcntr.dll»
Вместо «8.3.12.1469» укажите установленную у вас версию технологической платформы. После этого нажмите на ввод. Указанная регистрация может помочь избавиться от ошибки 2147221005 в 1С.
Проверьте наличие установленного в системе Excel
Наличие установленного в системе Excel является необходимым элементом при обращении к нему системы 1С. Потому рекомендуем убедиться, что Эксель в системе установлен корректно, для чего нажмите Win+R, введите там Excel , и нажмите ввод. Если программа запустилась, тогда всё работает корректно. Если нет, тогда следует установить (переустановить) Excel (комплекс «MS Office») на вашей машине (машинах).
Используйте специализированные форумы 1С
Если не один из указанных советов вам не помог, обратитесь к помощи форумов, которые посещают множество программистов и специалистов 1С. В частности, рекомендуем такие форумы как forum.infostart.ru, cyberforum.ru/1c-standard, is.ideasoft.in.ua где вам могут помочь в решении возникшей дисфункции.
Заключение
В нашем материале мы разобрали, когда появляется ошибка «2147221005(0x800401F3): Недопустимая строка с указанием класса», и как можно её исправить. Данная дисфункция может иметь различные причины, а для её решения рекомендуем задействовать весь комплекс способов, перечисленным нами выше. Их выполнение может помочь устранить ошибку 2147221005 в вашей системе 1С.