World 1C

Блог для программистов и пользователей платформы 1С:Предприятие

Ошибка “Недопустимая строка с указанием класса”

На днях тестировал новый релиз платформы 1С: Предприятия 8.2.17.143. После теста я его удалил в связи с тем, что использую клиент-серверную версию платформы и для перехода на новый релиз необходимо также обновить и серверную часть, а этого пока нет в планах. После удаления запустил базу данных “1С: Бухгалтерия предприятия КОРП” и при старте получил сообщение “Недопустимая строка с указанием класса”.
Было ясно, что вышеуказанный текст выдаётся в виде сообщения, а не ошибки, в связи с тем, что выполняется некий код, заключенный в конструкцию “Попытка … Исключение”. Для поиска места возникновения исключения я запустил отладку конфигурации, предварительно установив флаг “Останавливаться по ошибке” в настройках отладки (пункт меню конфигуратора “Отладка – Останавливаться по ошибке…”). В результате чего выполнение было прервано в модуле обработки “Обновление конфигурации” на строке создания COM-объекта.
Попытка
    ComConnector = Новый COMОбъект(УправлениеСоединениямиИБ.ИмяCOMСоединителя());
    ПортКластераСерверов = ComConnector.RMngrPortDefault;
    ПортАгентаСервера = ComConnector.RAgentPortDefault;
Исключение
    Сообщить(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;

Функия “ИмяCOMСоединителя()” модуля “УправлениеСоединениямиИБ” возвращает значение “v82.COMConnector”. Таким образом ошибка возникает при выполнении кода

ComConnector = Новый COMОбъект("v82.COMConnector");

Теперь ситуация начала проясняться. Дело в том, что при установке новой платформы выполняется регистрация COM-объекта, необходимого для выполнения установки внешнего соединения с информационными базами 1С:Предприятия 8 и администрирования кластера серверов. Для регистрации данного COM-объекта используется библиотека comcntr.dll из каталога соответствующей версии платформы (Например, C:\Program Files\1cv82\8.2.15.310\bin\comcntr.dll). Для того чтобы не возникало проблем с COM-объектом при откате на предыдущий релиз платформы необходимо повторно выполнить регистрацию. Самый простой способ – войти в Пуск -> Выполнить… и выполнить команду RegSvr32. Для регистрации COM-объекта платформы 1С: 8.2.15.310 строка команды будет выглядеть так:

regsvr32 “C:\Program Files\1cv82\8.2.15.310\bin\comcntr.dll”

ВАЖНО:

Командную строку необходимо обязательно запускать с правами администратора. Для этого необходимо либо быть авторизованным в Windows под пользователем с правами администратора, либо запустить cmd.exe (из папки Windows\System32) от имени такого пользователя.

Поделиться

платформа 1С

10 комментария(ев) к “Ошибка “Недопустимая строка с указанием класса”
  • Мария:

    Большое спасибо. Помогло!

    Ответить
  • Сергей:

    Спасибо! Помогло!

    Ответить
    • admin:

      Не за что. Рад, что материал оказался полезен.

      Ответить
  • Алексей:

    Спасибо

    Ответить
  • Оксана:

    Здравствуйте. Подскажите что сделать можно? На сервере вставляю строку regsvr32 “C:\Program Files\1cv82\8.2.19.68\bin\comcntr.dll”
    пишет не найден указанный модуль, хотя путь правильный и файл этот есть.

    Ответить
    • admin:

      Здравствуйте. На сервере Windows 32 или 64-разядная? Может быть путь к dll всё-таки не такой? Ещё как вариант неплохо бы убедиться в том что Вы проделываете это под пользователем с админскими права.

      Ответить
    • Tyler:

      Если копируете строку regsvr32 “C:\Program Files\1cv82\8.2.15.310\bin\comcntr.dll” с этой страницы, то замените кавычки перед выполнением команды, и все будет замечательно.

      Ответить
    • makfromkz:

      C:\Users\mak>cd C:\Program Files (x86)\1cv82\8.2.19.68\bin

      C:\Program Files (x86)\1cv82\8.2.19.68\bin>regsvr32 comcntr.dll

      Ответить
  • Heinrich:

    Спасибо, помогло. Укажите ЖИРНЫМ ШРИФТОМ, что CMD.EXE нужно запускать под правами АДМИНИСТРАТОРА.

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>