8.х Ошибка при работе с COM

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем RainyRay, 1 авг 2016.

  1. TopicStarter Overlay
    RainyRay
    Offline

    RainyRay

    Регистрация:
    16 май 2016
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Имеется строчка: WordApp = Новый COMОбъект("Word.Application");
    И на ней появляется ошибка: -2147221005(0x800401F3): Недопустимая строка с указанием класса
    Строка находится в общем модуле, работающем на стороне Клиента и Сервера.
    В этом же модуле есть метод, который точно также нормально использует эту строку.
    В чем может быть проблема?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    в том, что Word не установлен либо на клиенте, либо на сервере.
  3. TopicStarter Overlay
    RainyRay
    Offline

    RainyRay

    Регистрация:
    16 май 2016
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    у меня файловая версия. И я же говорю, что такая же строка нормально обрабатывается в соседнем методе.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Значит ошибка в имени класса Word.Application.
    Скопируйте от туда, где работает нормально.
  5. TopicStarter Overlay
    RainyRay
    Offline

    RainyRay

    Регистрация:
    16 май 2016
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Код итак скопирован был. В этом то и вопрос.
  6. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Магия 5-го уровня.
  7. TopicStarter Overlay
    RainyRay
    Offline

    RainyRay

    Регистрация:
    16 май 2016
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Вам кажется это смешным? Думаете, если есть сертификаты, то можно вот так бросаться своими шуточками?
    Да, вопрос может выглядеть тупым. Но для того и создан форум - чтобы советоваться. Так что не надо язвить пожалуйста.
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Так у вас может уже открыт com ? В процессах точно нет открытых процессов word-а ?
  9. TopicStarter Overlay
    RainyRay
    Offline

    RainyRay

    Регистрация:
    16 май 2016
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Нет. К счастью или к сожалению диспетчер задач молчит о ворде.
  10. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Доброго, проверьте, что у вас "Word.Application" прописан латиницей
    --- Объединение сообщений, 1 авг 2016 ---
    Было бы замечательно, если бы вы делали инициализацию объекта через попытку, и обрабатывали сообщение в исключении, пример :
    Код:
        Попытка
            КомОбъект = Новый COMОбъект("Word.Application");
        Исключение
            ТекстОшибки = ОписаниеОшибки();
            СделатьЗаписьВЖурналРегистрации(ТекстОшибки);
        КонецПопытки;
    
  11. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Мистер говорит, что скопировал и соседний метод работает.
    Попытка - хорошо, но похоже она и тут скажет тоже самое
    -2147221005(0x800401F3): Недопустимая строка с указанием класса

    Может еще права проверить. Под каким пользователем работает? win и 1С
    Последнее редактирование: 1 авг 2016
  12. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    нужно убедиться, что в реестре есть :
    upload_2016-8-1_13-58-3.png
    --- Объединение сообщений, 1 авг 2016 ---
    Возможно, нужно отказаться от использования имени переменной "WordApp" для COM объекта, слишком короткое, возможно используется где-то, лучше наименование более развернутое (более уникальное), что то вроде - "ЗаполняемыйМакетWordДокумент", вообщем как нравиться
    --- Объединение сообщений, 1 авг 2016 ---
    Поскольку база файловая, (то с большим успехом можно) нужно ставить точку останова на инициализации объекта и пощупать переменные по "Вычислить выражение"
    Последнее редактирование: 1 авг 2016

Поделиться этой страницей