Ошибка при создании ole объекта

  

MistaEr

04.03.22 — 16:25

После обновления платформы, &НА КЛИЕНТЕ, не создается Новый COMОбъект(«V83.Application»). &НаСервере создается. Переустановил платформу, перезагружал, перерегистрировал comcntr.dll. Ошибка остается 2147221005(0x800401F3): Недопустимая строка с указанием класса. Что нужно сделать, чтоб заработало подключение к другой базе?

  

MistaEr

1 — 04.03.22 — 16:26

Новый COMОбъект(«V83.COMConnector») создается без проблем.

  

MistaEr

2 — 04.03.22 — 16:35

В толстом клиенте такая же ошибка. Если клиента запускать на сервере приложений 1С, ошибки нет, подключение выполняется.

  

arsik

3 — 04.03.22 — 17:21

(2) Попробуй 1С от админа запустить

  

Trimax

4 — 04.03.22 — 17:22

(2) Наверно вывод ясен? На машине клиента криво/не установлена компонента.

  

ДаЛадно

5 — 04.03.22 — 17:31

ну таки да, можно компоненту собрать руками для новой версии платформы

  

Trimax

6 — 04.03.22 — 17:42

(5) Согласен. Если на кленте и на сервере разные платформы, то при обращении в обратном порядке 1С-ка «отрыгнет» тоже самое в дерективой &НаСервере

  

MistaEr

7 — 04.03.22 — 19:30

comcntr.dll я уже скопировал из сервера, разместил в каталоге платформы, заново зарегил. Для OLE и для COM подключения эта же dll-ка используется верно?

  

Trimax

8 — 04.03.22 — 20:04

(7) Не верно. Платформы должны быть полностью идентичны, причем происходит вытеснение по приоритету более поздней версии (т.е. Если у вас стоит 8.3.17 и 8.3.20, то по-любасу будет хапать компоненту от 8.3.20)

  

pechkin

9 — 04.03.22 — 20:21

(8) компонента может любая быть. Обычно последняя ибо с установкой платформы и компоненты регистрируются

  

Trimax

10 — 04.03.22 — 21:03

(9) Ну тогда в чем проблема поставить одинаковые платформы. Полагаю, что на клиенте ломаная, если легче зарегить компоненту нежели поставить новую платформу.

  

Trimax

11 — 04.03.22 — 21:04

+ (10) или разрядность

  

acht

12 — 04.03.22 — 21:13

(7) > Для OLE и для COM подключения эта же dll-ка используется верно?

Нет. comcntr.dll используется только для создания объекта «V83.COMConnector». Никакого вляния на «V83.Application» оно не оказывает.

Для регистрации OLE-Automation-сервера со строкой класса «V83.Application» необходимо запустить 1С с правильным ключем командной строки. Подробности — в справке: «Справка / 1С:Предприятие / Запуск 1С:Предприятие 8 и параметры запуска / Общие параметры запуска / Регистрация «1С:Предприятия 8″ в качестве OLE-Automation-сервера»

  

acht

13 — 04.03.22 — 21:16

(8) > вытеснение по приоритету более поздней версии

Нет. Используется та платформа, на которую указывает строка регистрации класса «V83.COMConnector».

Соответственно, приоритет имеет платформа не старшей версии, а наболее поздняя по времени регистрации. По умолчанию — в каком порядке ставишь, то и используется.

  

acht

14 — 04.03.22 — 21:17

(10) > Полагаю, что на клиенте ломаная, если

Безосновательная глупость.

  

Trimax

15 — 04.03.22 — 21:34

(13) (14) я предпочитаю классические методы получения удоаольствия от работы, нежели извращаться с подбором компоненты, несоответствующей платформе.

  

VladZ

16 — 04.03.22 — 22:56

(0) Рекомендую отказаться от COM.

  

MistaEr

17 — 05.03.22 — 08:58

(0) Тут писал что платформу переустанавливал.

  

MistaEr

18 — 05.03.22 — 09:25

(12) /RegServer [-AllUsers | -CurrentUser | -Auto], в параметрах запуска прописал с параметром -AllUsers (уж не помню скобки квадратные ставил или нет), после 3-х попыток у меня все заработало. Жду что скажут пользователи. Огромное спасибо!

  

Azverin

19 — 05.03.22 — 09:57

(0) Озвучьте же вы уже номер платформы

  

MistaEr

20 — 05.03.22 — 13:51

8.3.20

Ошибка -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С или изменении её разрядности, нет нет да натыкаешься на отказ в работе com объекта. И сообщество нам предлагает в основном два пути решения этой проблемы.

1. Регистрация dll библиотеки (вызвать в cmd regsvr32 «C:Program Files1cv8[номер платформы]bincomcntr.dll» )

По моему опыту практически никогда не помогает.

2. Регистрация объекта вручную через Панель управления=> Администрирование => Службы компонентов

Не буду описывать подробно (довольно легко найти например здесь //infostart.ru/1c/articles/400951/)

Этот метод рабочий, сам им пользовался и успешно. Но требует внимательности и большого количества телодвижений. А также после создания компонента мне приходилось поработать над разрешениями для пользователей, на стороне которых он будет использоваться. Для этих пользователей добавлял роли. (Можно конечно это делать и для группы пользователей, если вам так удобнее)

3. И еще один способ, которым собственно и хочу поделиться. И на мой взгляд он самый простой и эффективный из всех описанных выше . В разделе технологической платформы 8.3 на сайте поддержки пользователей системы 1с: Предприятие 8 скачиваем дистрибутив сервера 64 бит.

При установке, среди прочего видим как раз то, что нам нужно. Просто выбираем его (по умолчанию отключен) и устанавливаем.

Источник

V83.COMConnector.1 не может соединиться с базой

На одном физическом сервере размещено:
1. Windows Server 2016 Standard
2. Терминальный сервер
3. MS SQL Server 2016 Standard
4. 1C Сервер x64 8.3.9.2170
5. База БГУ 8 в клиент-серверном режиме
6. База ЗиК в файловом режиме
Пользователи работают через терминал.
Имеется обработка для выгрузки проводок из 7.7 к БГУ 8 с помощью V83.COMConnector.1
В терминале запускаю 1с 7.7 ЗиК открываю обработку выгрузки проводок в БГУ 8. При нажатии на кнопку Выгрузить появляется сообщение об ошибке:
1. V83.COMConnector.1: Ошибка при выполнении операции с информационной базой server_addr=srv1 cdescr=11001(0x00002AF9): Этот хост неизвестен. line=1048 file=srcDataExchangeCommon.cpp (Это если в строке подключения к базе прописано имя сервера)
либо ошибка:
2. V83.COMConnector.1: Ошибка при выполнении операции с информационной базой Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру (Это если в строке подключения к базе прописан IP-адрес сервера)
Причём:
1. если 1с 7.7 установлена другом компьютере в сети, то подключение к этому серверу БГУ 8 производится успешно и данные выгружаются.
2. если базу БГУ 8 развернуть в файловом варианте на этом же сервер и подключаться и выгружать данные также в терминальной сессии, то также всё успешно подключается и выгружается.

Пробовал:
1. прописать в hosts IPадрес ИмяПК с перезагрузкой, не помогло
2. отключение IPv6 с последующей перезагрузкой, не помогло
3. прописывал в строке подключения localhost и 127.0.0.1, появляются те же самые ошибки

в терминале пингую сервер по имени возвращается адрес IPv4.

Получается, что с обработкой всё в порядке, строка подключения корректная.

В чём может быть проблема? Как провести диагностику в данном случае?

Источник

Новый COMОбъект(«V83.COMConnector») выдает ошибку создания.

При попытке в 8.3 создать Объект выдает ошибку:
«Ошибка при вызове конструктора (COMОбъект)
НовыйПодключенныйОбъект = Новый COMОбъект(«V83.COMConnector»);
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса «

Регистрировал библиотеку Regsvr32 «C:Program Files1cv8_____bincomcntr.dll»

Версия платформы 8.3.10.2252. Запускаю конфигурацию Зуп 2.5 там создание объекта проходит на Ура. В версии Зуп 3 выдвает ошибку. Что может быть не так?! уже голову сломал. Делал как описано здесь : https://helpf.pro/faq/view/1825.htm не помогло.

Все проблема Решена.
Все же у меня 1с установлена 64 разрядная а библиотека зарегистрирована была 32.

Ответ:
«Если фоновый процесс COM-соединения оканчивается ошибкой

<Обработка.ОбменДаннымиXML.МодульОбъекта(15947)>: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string

, то нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.

В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»

но в 64-битной версии команда будет примерно такой * :
C:WindowsSysWOW64regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»

Затем перезайдите в 1С Предприятие и попробуйте установить COM-соединение снова.

* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u

** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше «

Источник

V83 comconnector ошибка при подключении к информационной базе

Описание ошибки:
В ранее работавшем обмене из базы УТ в БП при выполнении выгрзки стала возникать ошибка:
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначения.Модуль(9234)>: Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединения);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия

Нажатие на изображении увеличит его
7px;»/>
Рис. 1. Пример возникновения ошибки при работе обмена между базами 1С УТ 10.3 и БП 3.0

Так же перестал работать настроенный и работавший ранее односторонний обмен из базы конфигурации 1С: Зарплата и управление персоналом, ред. 3.0 в 1С: Бухгалтерия предприятия, ред. 3.0. В журнале регистрации ошибок обмена так же содержалась похожая формулировку от исходной ошибки:

Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия

Нажатие на изображении увеличит его

Рис. 2. Пример ошибки при работе выгрузки данных из базы 1С ЗУП 3.0 в БП 3.0

Итак, попробуем разобраться, в чем причина, почему возникает ошибка, проблема «Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия» и как ее исправить?

В тексте ошибки явно находим подсказку на то, что нужно в первую очередь проверить права пользователя в базе, к которой происходит подключение для обмена справочниками и документами в рамках настроенной выгрузки. Формулировка «Внешнее соединение не разрешено для указанного пользователя» указывает, что дело в первую очередь в пользователе «Обмен», как видно на Рис.1. Удивительным было то, что ранее у пользователя, под которым выполнялось com-подключение к базе-приемнику, все было настроено для работы обмена и работало продолжительное время.

Поэтому в базе Бухгалтерия переходим в раздел «Администрирование» — ссылка списка настроек «Настройки пользователей и прав» — ссылка «Пользователи».

Нажатие на изображении увеличит его

Рис. 3. Переход к списку пользователей в базе конфигурации 1С: Бухгалтерия 3.0

Откроется форма списка пользователей базы. Находим в списке пользователя «Обмен» — в Вашем случае это будет пользователь, под которым выполняется выгрузка, если используется прямое подключение к базе. Нажимаем на надпись-ссылку «Права доступа».

Нажатие на изображении увеличит его

Рис. 4. Вид формы настроек пользователя базы 1С: Бухгалтерия предприятия, редакция 3.0

Как оказалось, в моем случае, ошибка «Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия по причине» возникла с некоторого времени из-за того, что у пользователя отключены все права доступа в списке «Профили пользователя». Разбираться — почему так было бы долго. Это мог быть кто-нибудь из пользователей базы, или что крайне маловероятно, но все-таки возможно — результат обновления базы (крайне редко, но удивительные веди после обновлений могут возникать). В общем проще было установить снова права пользователю. Для возможности выполнения обмена в принципе достаточно профиля «Администратор», но, на всякий случай рекомендуется еще и установить профиль «Синхронизация данных с другими программами».

Нажатие на изображении увеличит его

Рис. 5. Состав прав доступа пользователя для возможности выполнения синхронизации (обмена данных)

После проделанных операций работоспособность синхронизации между базами 1С 8 была восстановлена.

Источник

Если сервер 1С стоит на Windows х64, то рано или поздно Вы столкнетесь с проблемой создания COM-соединения, если соединение инициируется на стороне сервера. На стороне клиента COM-соединение работает нормально, на стороне сервера вываливается с ошибкой.

Данная статья позволяет снять проблему. НО – до переустановки или обновления платформы!

Столкнулся с проблемой создания COM-соединения на стороне сервера. Обновили версию платформы, но после установки, компонент COM-соединения не регистрировался в системе. Предлагаемая ниже методика позволяет избавиться от описываемой проблемы.

Ниже алгоритм настройки системы, со скрином к каждому действию. Внимание скрины взяты с другого сайта, для общего понимания действий!

И так:

  1. Остановка сервера 1С (рекомендуется, но не обязательно)
  2. Регистрация компоненты comcntr.dll
  3. Создание обертки COM+, позволяющей 64-битному приложению взаимодействовать с 32-битном.
  4. Перезагрузка сервера (физического). Не обязательно, но рекомендуется
  5. Старт сервера 1С. (обязательно 🙂  

Вызываем консоль

Регистрируем компоненту. Компонента отсутствует, если установлен только сервер 1С. Почему-то 1С публикует ее только в составе клиента.

вызвать в cmd

regsvr32 "C:Program Files1cv8[номер платформы]bincomcntr.dll"

Библиотека успешно зарегистрирована.

Теперь запускаем службу компонентов. Описывается для Windows Server 2008 R2 Standart.

Создаем приложение.

Выбираем – Создать приложение

Называем наше приложение – V83.COMConnector, ставим галочку – Серверное приложение.

На этом окне – выбираем учетную запись под которой будет запускаться наше приложение. Лучше указать “учетку” с правами Администратора. Я ставил – текущий пользователь т.к., работал под Администратором.

После того как мы создали Приложение, заходим в него, в раздел – Компоненты и создаем новый компонент.

На данном этапе нужно указать где лежит библиотека dll. Как правило библиотека лежит – “С:Program Files1cv8[номер платформы]bincomcntr.dll”

Теперь установи права на Приложение. Правой кнопкой на созданном Приложении – Свойства.

Выбираем вкладку – Безопасность и Снимаем галочку – Принудительная проверка доступа для приложений => (Ставим галочку)  => Применить политику программных ограничений => Уровень ограничений => Неограниченный.

Далее переходим к самому Компоненту – Выбираем – Свойства, раздел Безопасность.

Проверяем что галка стоит на “Владельце”

На этом у меня заработало!

Содержание

  1. COMОбъект: -2147221005(0x800401F3): Недопустимая строка с указанием класса
  2. Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
  3. Подготовительные действия
  4. Подходы к решению
  5. Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
  6. Причины возникновения ошибки -2147221005(0x800401F3)
  7. Обновление конфигурации до последней версии
  8. Запускайте 1С с правами администратора
  9. Измените код программы
  10. Регистрация в системе компоненты comcntr.dll
  11. Обмен БП 3.0 с ЗУП 3.0. Ошибка подключения к базе. Что делать?
  12. Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах

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С.

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

Источник

Обмен БП 3.0 с ЗУП 3.0. Ошибка подключения к базе. Что делать?

1С:Предприятие 8.3 (8.3.5.1517)

Зарплата и управление персоналом, редакция 3.0 (3.0.22.216)

Бухгалтерия предприятия, редакция 3.0 (3.0.39.67)

Ошибка
Обмен данными.ОбменЗарплата3Бухгалтерия3.Узел БП.Получение данных

Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль(1002)>: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V83.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

В чем может быть причина?

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.5.1517bincomcntr.dll»

(3) ditp, пишет что не удалось загрузить этот модуль

делала через выполнить и через командную строку

может я чтото не то делаю?

(5) ditp, да и так пробовала- ошибка, у меня да, такой путь

(6) dj_serega, локального админа скорее всего. вряд ли полный админ

А нет, всё получилось, это я ошиблась когда в команде исправляла путь на (x86)

сейчас попробую сделать обмен

Ошибка увы, осталась. У меня сделано прямое подключение к базе. Видимо придется менять на файл 🙁

Уточняю что Сервер 64 разрядный

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.5.1517bincomcntr.dll»

У нас похожая проблема, но вся загвоздка в том, что синхронизация данных то работает как часы, то перестаёт работать. Изначально вообще не работала, но благодаря действиям как в (16) стала работать. Но нестабильно. С чем это связано — не знаю. Для примера прикладываю два скриншота: то работает, то не работает. Последние три дня вообще не отрабатывает, поэтому обращаюсь за помощью сюда.
Исходные данные:
Платформа 8.3 (8.3.13.1644)
Зарплата и управление персоналом, редакция 3.1 (3.1.10.78)
Бухгалтерия предприятия, редакция 3.0 (3.0.70.61).
Если понадобится, прикреплю выгрузку логов. Ошибка всё время одна и та же:
Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(356)>: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // «V83.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Какие могут быть варианты такого поведения системы?

Источник

Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах

На эту тему уже есть статья //infostart.ru/public/97085/, но она не раскрывает особенностей работы в ОС Windows выше XP и не затрагивает тонкости регистрации под 64 разрядной системой. Для кого-то здесь описаны очевидные вещи, а кто-то слаб в администрировании и статья пишется прежде всего на последнюю категорию.

Итак, приступим. Если у вас при работе в 1С появилась ошибка вида: «-2147221164(0x80040154): Класс не зарегистрирован» или «Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса»

тогда делаем следующее:

1) Запускаем командную строку от имени Администратора. Если в командной строке прописан путь, отличный от «c:windowssystem32», то необходимо выполнить команду «cd c:windowssystem32» для 32-х разрядных систем или «cd windowssyswow64» для 64-х(у меня 64, поэтому пришлось в примере путь изменить). В итоге корневой путь для х64 должен выглядеть как на этом скрине:

Источник

При попытке создать OLE объект 1С, возникает ошибка «Неудачная попытка создания объекта (V77.Application)». Существует 3 основные причины возникновения этой ошибки: отсутствие необходимых ключей в реестре (или ограничение доступа к ним), неправильное значение ключей реестра или параметров DCOM.

Во-первых, проверьте, чтобы 1С была установлена из дистрибутива, а не просто скопирована с другого компьютера. При необходимости переустановите 1С. При обычном копировании 1С в реестре может отсутствовать ряд ключей, которые создаются при установке.

Во-вторых, в реестре может быть неправильно указан путь к 1cv7.exe и, как результат, возникнет ошибка при создании OLE-объекта. Проверьте HKEY_LOCAL_MACHINESOFTWAREClassesV77.ApplicationCLSID, там будет указан GUID. В моем случае это {63112D80-94F0-11D2-9F39-008048DA120F}. Далее перейдите к HKEY_CLASSES_ROOTCLSID{63112D80-94F0-11D2-9F39-008048DA120F}LocalServer32 и проверьте путь к приложению 1cv7.exe. Так же проверьте имеет ли пользователь доступ на чтение к указанным выше веткам реестра.

В третьих, проблема может быть связана с  настройками DCOM. Обычно это происходит после установки веб-расширения и изменения параметров DCOM. В этом случае запустите dcomcnfg.exe, найдите 77.Application, на закладке «Удостоверение» установите переключатель в положение «Текущий пользователь».

Пожалуйста, оцените статью:

Появилось сообщение «Ошибка при создании COM-объекта»

При запуске внешней обработки со способом обмена «ExtSDK» или заменен способа на «ExtSDK» появилось сообщение «Ошибка при создании COM-объекта (Не зарегистрирована компонента Tensor.SbisPluginClientCOM)».

Причина №1. Не установлено программное обеспечение

Решение №1. Установите недостающее ПО

Выполните диагностику рабочего места. Мастер установит программы, которых не хватает.

Для установки .NET Framework скачайте с сайта Microsoft версию 4.8 и запустите дистрибутив.

Решение №2. Зарегистрируйте COM-объект вручную, если диагностика рабочего места выполнена успешно

  1. Правой кнопкой мыши кликните ярлык программы и выберите «Расположение файла».

  2. Перейдите в папку «service/modules».
  3. Нажмите каталог «Plugin DotNet Host» правой кнопкой мыши и выберите «Свойства».
    • Что делать, если такого каталога нет?
  4. На вкладке «Безопасность» скопируйте имя объекта.

  5. В поиске Windows введите «командная строка» и запустите ее от имени администратора.
  6. В командной строке введите «cd», нажмите <Пробел> и вставьте скопированный адрес в кавычках. Кликните <Enter>.

    Пример

    cd «C:Program Files (x86)Tensor Company LtdSBIS3Plugin22.2118.102servicemodulesPlugin DotNet Host»

  7. Узнайте номер версии .NET Framework, который установлен на вашем компьютере.
  8. Скопируйте команду ниже и вместо «vХ.Х.ХХХХХ» подставьте номер версии:
    • для 32-разрядной версии Windows — %WINDIR%/Microsoft.NET/Framework/vХ.Х.ХХХХХ/regasm.exe SbisPluginClientCOM.dll /codebase;
    • для 64-разрядной — %WINDIR%/Microsoft.NET/Framework64/vХ.Х.ХХХХХ/regasm.exe SbisPluginClientCOM.dll /codebase.

    Пример

    %WINDIR%/Microsoft.NET/Framework64/v4.0.30319/regasm.exe SbisPluginClientCOM.dll /codebase

  9. Вставьте в командную строку и нажмите <Enter>. Дождитесь сообщения «Типы зарегистрированы успешно».

Причина №2. Вы запускаете 1С через технологию «RemoteApp»

Обратитесь в техподдержку для дополнительной настройки.

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.

Появилось сообщение «Ошибка создания OLE-объекта «ComConnector»

При настройке соединения СБИС и 1С через «ComConnector» появилось сообщение «Ошибка создания OLE-объекта «ComConnector».

Причина №1. Файл «comcntr.dll» не зарегистрировался автоматически в системе Windows при установке приложения 1С

Решение №1. Используйте помощник СБИС

  1. Выберите версию платформы вашей 1С и нажмите «Зарегистрировать».

  2. Кликните «OK».

  3. Убедитесь, что в окне помощника появилось сообщение «Платформа успешно зарегистрирована».
  4. Нажмите «Закрыть».

Продолжите настройку соединения, нажав «Далее».

Решение №2. Зарегистрируйте файл из каталога 1С в реестре ОС Windows вручную

  1. Откройте каталог, в который установлена программа. По умолчанию это «C:Program Files1cv8» для 64-разрядной версии и ​«C:Program Files (x86)1cv8» — для 32-разрядной версии Windows.
  2. Проверьте, сколько версий 1С установлено: каждая папка с цифрами — это версия.
    • Как узнать актуальную версию платформы 1С?
    • Что делать, если установлено несколько версий 1С или программа установлена в двух папках («Program Files (x86)» и «Program Files»)?
  3. Перейдите в папку с актуальной версией.
  4. Откройте папку «bin».

  5. Нажмите файл «comcntr.dll» правой кнопкой мыши и выберите «Свойства».
  6. Перейдите на вкладку «Безопасность» и скопируйте текст из поля «Имя объекта».

  7. Откройте командную строку от имени администратора.
  8. Напишите «regsvr32», нажмите <Пробел> и вставьте скопированный адрес в кавычках.

    Пример

    regsvr32 «C:Program Files (x86)1cv828.2.16.368bincomcntr.dll»

  9. Кликните <Enter>.

Повторите настройку соединения.

Причина №2. Вы используете 64-разрядную версию платформы «1С: Предприятие» и не создали дополнительное COM-соединение

Для корректной работы режима «ComConnector» создайте дополнительное COM-соединение.

Если предложенные решения не помогли, обратитесь к вашему системному администратору для переустановки клиентской части 1С.

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.

Перейти к содержимому

Настройка 1С

Решения по использованию программ 1С. Техподдержка. Сопровождение. Услуги программистов.

Пару слов об использовании внешней обработки СБИС в тандеме с 1С. Клиент получил новую ЭП — ключ создан на сберовском токене InfoCrypt VPN-Key-TLS. Все хорошо, но обработка СБИС для 1С в упор не замечала сертификат.

При этом в КриптоПро CSP — все ок. Контейнер виден, ошибок нет, сертификат установлен.

Как настроить подобную связку

Рассмотрим возможные ошибки и варианты решений. Ну что, подправить причёски — погнали.

❃ В окне обработки СБИС не дает выбрать вход по сертификату
► Перейдите в настройки и выберите другой способ обмена. Вход по ЭП доступен в ExtSDK и SDK.


❃ СБИС не находит установленный сертификат с VPN-Key-TLS
► Закройте СБИС Плагин. В конфигурационный файл «%LocalAppData%Sbis3Pluginuser-config.ini» добавьте строки:

[Считыватели]
РежимАктивныхСчитывателейКриптоПро5=true

Повторно запустите СБИС Плагин.


❃ Ошибка при создании COM-объекта (Не зарегистрирована компонента Tensor.SbisPluginClientCOM {ВнешняяОбработка.СБИС.Форма.ExtSDK.Форма(2339)}:
Ошибка при вызове конструктора (COMОбъект):
-2147221005(0х800401F3): Недопустимая строка с указанием класса)

Ошибка при создании COM-объекта

► Причины: не запущен или не установлен СБИС Плагин. Одно из решений — установить или обновить Плагин.

В случае, если Плагин работает, но ошибка сохраняется:

  1. Переустановите СБИС Плагин вручную, указав режим полной конфигурации. Для того, чтобы подтянулся модуль для ExtSDK.
  2. Зарегистрируйте COM-объект вручную.
  3. Обновите компоненты .NET Framework и перезагрузите ПК.
  4. Выполните диагностику рабочего места.

✅ Успехов вам!

__________
Если не получается или требуется дополнительная поддержка, наши программисты 1С готовы помочь → +7-911-500-10-11

Если при попытке включить способ обмена extSDK вы получаете ошибку «Не зарегистрирована ActiveX компонента Tensor.SbisPluginClientCOM», скорее всего у вас не запущен или вовсе не установлен СБИС Плагин. Дело в том что при extSDK используется библиотека входящая в состав СБИС Плагина, поэтому он должен быть установлен и запущен, иначе внешняя обработка СБИС для 1С через extSDK работать не будет.

В некоторых случаях Плагин уже установлен и работает, но ошибка с компонентой сохраняется, тут есть 2 варианта:
1) СБИС Плагин был установлен в рекомендуемой конфигурации (указывается при установке), и модуля для работы с ExtSDK там нет, автоматически он не подтянулся, тогда попробуйте переустановить плагин и указать установку в полной конфигурации со всеми модулями.
2) возможно на компьютере установлено кривое обновление .NET Framework, его надо обновить до последней версии.

Нужно ли авторизовываться в СБИС Плагине? Нет не нужно, авторизоваться для отправки документов надо в самой обработке СБИС.

Я
   ixijixi

30.07.15 — 14:31

Обновил модуль для документооборота СБИС (https://help.sbis.ru/help/integration/1C_set/modul/) для БП 3.0.40.39.

Выдает ошибку «Не зарегистрирована ActiveX компонента SBIS.Docflow», ОписаниеОшибки() дает «{Форма.SDK2.Форма(81)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса » (обработка пытается создать Новый COMОбъект(«SBIS.Docflow»)).

Запускаю 1С под администратором.

   ixijixi

1 — 30.07.15 — 14:48

Поиск по инету говорит, что возможно «Настройки разрешений приложения не дают разрешения Локальный запуск приложения COM Server с CLSID { } AppGUID для пользователя имя_пользователя SID User_SID»

   ixijixi

2 — 30.07.15 — 15:20

ап ап

   fisher

3 — 30.07.15 — 16:01

Я уж было решил, что 1С аппаратно ускорить пытаются :)

   ixijixi

4 — 30.07.15 — 16:04

Нет, СОМ-объект не создается… Компонента зарегистрирована.

  

ixijixi

5 — 31.07.15 — 09:12

Сегодня позвонили из техподдержки Тензора, помогли решить проблему. Выкладываю, вдруг кому пригодится.

Заходим в кэш пользователя c:UsersixijixiAppDataRoaming1C1cv8ExtCompT

удаляем все DLL по маске Sbis3SDK*

правим XML файл настроек, удаляя строки типа <component path=»Sbis3SDK_3_6_4.dll» type=»com»/>

перезапускаем 1С, запускаем обработку, все функционирует

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Dedushka

0 / 0 / 0

Регистрация: 22.10.2013

Сообщений: 4

1

22.10.2013, 15:12. Показов 9203. Ответов 7

Метки нет (Все метки)


Подскажите пожалуйста в чем может быть причина.

1C
1
Connector = Новый COMОбъект(ОбщегоНазначения.ИмяCOMСоединителя());

Я пытаюсь создать СОМ объект. При выгрузки счета этот код срабатывает и все нормально выгружается, но для выгрузки другого документа, реализация, вылетает ошибка
Обработка.ОбменСБух.МодульОбъекта(267)}: Ошибка при вызове конструктора (COMОбъект)
Connector = Новый COMОбъект(ОбщегоНазначения.ИмяCOMСоединителя());
по причине:
Класс не зарегистрирован
причем в обоих случаях ОбщегоНазначения.ИмяCOMСоединителя() возвращает v82.COMConnector тип стока.
В чем может быть причина ошибки?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

72 / 72 / 1

Регистрация: 18.12.2012

Сообщений: 390

22.10.2013, 15:26

2

У вас стоит несколько релизов платформы? Если да, удалите все, кроме последнего

0

0 / 0 / 0

Регистрация: 22.10.2013

Сообщений: 4

22.10.2013, 15:28

 [ТС]

3

стоят начиная с 13 заканчивая 19 но конкретно это происходит в 17. Т.е причина скорее всего в релизах?

0

72 / 72 / 1

Регистрация: 18.12.2012

Сообщений: 390

22.10.2013, 15:33

4

Скорее всего да. Попробуйте удалить все релизы кроме нужного

Добавлено через 1 минуту
Хотя не факт, конечно. Но у меня было подобное, я решил проблему удалением остальных платформ

0

0 / 0 / 0

Регистрация: 22.10.2013

Сообщений: 4

23.10.2013, 13:13

 [ТС]

5

понял, спасибо. К сожалению на рабочем компьютере это сделать не удастся работаем в нескольких релизах. Попробую у клиента потестить)

Добавлено через 21 час 39 минут
Проблема оказалась в другом, Форма счета не управляемая а форма другого документ управляемая из за этого компонента выдавала ошибку. Спасибо кто пытался помочь)

0

72 / 72 / 1

Регистрация: 18.12.2012

Сообщений: 390

23.10.2013, 13:22

6

Цитата
Сообщение от Dedushka
Посмотреть сообщение

Форма счета не управляемая а форма другого документ управляемая

Ого! А что за конфа такая? Зарплата бухгалтерия ЖКХ что ли?

0

0 / 0 / 0

Регистрация: 22.10.2013

Сообщений: 4

23.10.2013, 13:53

 [ТС]

7

Не типовая. Наша организация сама разработала

0

900 / 877 / 8

Регистрация: 15.03.2012

Сообщений: 2,680

23.10.2013, 22:13

8

Цитата
Сообщение от Dedushka
Посмотреть сообщение

Проблема оказалась в другом, Форма счета не управляемая а форма другого документ управляемая из за этого компонента выдавала ошибку.

А как связаны COM и тип формы?

0

Проблемы при запуске обработки, не связанные с конфигурацией 1С

1. Проблема: Не хватает прав в Windows на регистрацию SDK

Как диагностировать: При запуске выдаются ошибки: «Не зарегистрирована ActiveX компонента SBIS.Docflow» или «Не удалось зарегистрировать новую версию ActiveX компоненты SBIS.Docflow», обработка закрывается.
Как решать: Системный администратор клиента должен дать пользователю права на регистрацию, либо сам зарегистрировать Sbis3SDK.dll (зайти на компьютер пользователя с правами администратора и запустить внешнюю обработку).

2. Проблема: Не хватает прав в Windows на сохранение файлов настроек в каталог

Как диагностировать: Выдается ошибка «Каталог настроек [Имя каталога] не доступен (с сервера для клиент-серверной версии)»
Как решать: Системный администратор клиента должен дать пользователю права на указанный каталог. Либо дать права на любой другой каталог и указать его в качестве каталога настроек на вкладке «Файлы настроек» в обработке. Внимание! Для клиент-серверной 1С, работающей в управляемом режиме, каталог указывается на сервере. То есть, если указан путь C:Sbis1C – это локальный путь на сервере и именно туда надо дать доступ, либо указать какой-то сетевой каталог, который доступен с сервера.

3. Проблема: Не хватает прав в 1С на запуск обработки через меню «Файл/Открыть».

Как диагностировать: Выдается ошибка «Нарушение прав доступа», обработка не запускается.
Как решать: Администратор должен добавить обработку в список внешних обработок для данного пользователя, либо, если это возможно, добавить пользователю права «Дополнительное право открытия внешних отчетов и обработок».

4. Проблема: Нет доступа в интернет.

Как диагностировать: В окне авторизации выдается ошибка «Ошибка WinHTTP Не удается разрешить имя или адрес сервера»:
НетИнтернета.png
Как решать: Администратор должен сделать доступ в интернет либо, если доступ в интернет на данном компьютере не предполагается, переключаемся в режим работы «через каталог». Для этого нажимаем «Настройка соединения» и в открывшемся окне выбираем способ обмена «Каталог»:
НастройкаСпособаОбменаКаталог.png

Дополнительно устанавливаем и настраиваем СБИС Коннект.

Проблемы при запуске обработки, связанные с конфигурацией 1С

1. Проблема: Конфигурация переименована

Как диагностировать: Выдается протокол проверки файлов настроек, в котором название конфигурации не соответствует выбранным файлам настроек.
НастройкиНеОтНужнойКонфигурации.png
Как решать: Установить настройки от более подходящей по названию конфигурации (либо попробовать все настройки по очереди)
ВыборНужнойКонфигурации.png 

2. Проблема: В конфигурации отсутствует реестр документов

Как диагностировать: Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «Документ.[Имя документа]»…».

ОтсутствуетРеестрДокументов.png

Как решать: Если клиенту не требуется отправка документов из данного реестра, то просто отключите данный файл настроек.

3. Проблема: В конфигурации отсутствует регистр сведений для хранения статусов документов и способа доставки документов контрагенту.

Как диагностировать: Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «РегистрСведений.[Имя регистра]»…»:

ОшибкаСРегистрами.jpg

Как решать:
  • Исправляем ошибку в запросе в пользовательском файле настроек. Удаляем все левые соединения, в которых указан данный регистр сведений и все поля и условия, связанные с регистром:

ВЫБРАТЬ РАЗРЕШЕННЫЕ

РеализацияТоваровУслуг.Ссылка,
РеализацияТоваровУслуг.Проведен,
РеализацияТоваровУслуг.ПометкаУдаления,
РеализацияТоваровУслуг.Дата,
РеализацияТоваровУслуг.Номер,
РеализацияТоваровУслуг.Контрагент.Наименование КАК Контрагент,
РеализацияТоваровУслуг.Организация.Наименование КАК Организация,
ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1000)) КАК Комментарий,
РеализацияТоваровУслуг.Склад.Наименование КАК Склад,
РеализацияТоваровУслуг.СуммаДокумента

ПОМЕСТИТЬ ВТ_Реализация
ИЗ

Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО РеализацияТоваровУслуг.Контрагент = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = «СБИС_СпособДоставки»

ГДЕ

((РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон) ИЛИ (НЕ &ЗначениеДатаКонЗаполнено И РеализацияТоваровУслуг.Дата > &ДатаНач))
И ((РеализацияТоваровУслуг.Контрагент = &Контрагент) ИЛИ (РеализацияТоваровУслуг.Контрагент В Иерархии(&Контрагент)) ИЛИ (НЕ &ЗначениеКонтрагентЗаполнено))
И ((РеализацияТоваровУслуг.Организация = &ТекущаяОрганизация) ИЛИ (НЕ &ЗначениеТекущаяОрганизацияЗаполнено))
И ((РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент) ИЛИ (НЕ &ЗначениеТекущийДокументЗаполнено))
И (&КонтрагентПодключен=»» ИЛИ &КонтрагентПодключен=ЗначенияСвойствОбъектов.Значение.Наименование)
И (&Ответственный=Значение(Справочник.Пользователи.ПустаяСсылка) ИЛИ &Ответственный=РеализацияТоваровУслуг.Ответственный)
И НЕ РеализацияТоваровУслуг.ПометкаУдаления;

ВЫБРАТЬ

ВТ_Реализация.Ссылка КАК Документ,
ВТ_Реализация.Проведен КАК ДокументПроведен,
ВТ_Реализация.ПометкаУдаления КАК ДокументПометкаУдаления,
ВТ_Реализация.Дата КАК ДатаДокумента,
ВТ_Реализация.Номер КАК НомерДокумента,
ВТ_Реализация.Контрагент КАК Контрагент,
ВТ_Реализация.Организация КАК Организация,
ВТ_Реализация.Комментарий КАК Комментарий,
ВТ_Реализация.Склад КАК Склад,
ВТ_Реализация.СуммаДокумента КАК СуммаДокумента,
СвязьДокументов.Ссылка КАК Приложение,
СвязьДокументов.Ссылка.СуммаДокумента КАК СуммаПриложения,
СвязьДокументов.Ссылка.Дата КАК ДатаПриложения,
СвязьДокументов.Ссылка.Номер КАК НомерПриложения,
ЗначенияСвойствОбъектов.Значение КАК СтатусЭД

ИЗ

ВТ_Реализация
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СвязьДокументов
ПО ВТ_Реализация.Ссылка = СвязьДокументов.ДокументОснование
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ВТ_Реализация.Ссылка = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = «ДокументСБИС_Статус»

УПОРЯДОЧИТЬ ПО
ДатаДокумента, НомерДокумента

  • Указываем, что статусы документов будут храниться в dbf-файле. Для этого из файла настроек конфигурации выносим в пользовательский файл настроек параметр «ФормаРаботыСоСтатусами»:
<?xml version="1.0" encoding="utf-8"?>
<ини>
	<ФормаРаботыСоСтатусами>'Статусы_ДБФ'</ФормаРаботыСоСтатусами>
</ини>

4. Проблема: Не все реквизиты хранятся там, где нужно

Как диагностировать: Выдается протокол проверки со списком ненайденных реквизитов и справочной информацией.
Например, не найден реквизит «ДоговорКонтрагента» в документе «РеализацияТоваровУслуг»:

ОтсутствуетРеквизит.png

Как решать: В справочной информации или в конфигурации (если есть доступ) смотрим, где лежат ненайденные значения.
В протоколе проверки ищем таблицу РеализацияТоваровУслуг (в тексте ошибки указано название таблицы доступных реквизитов). В таблице ищем реквизит по смыслу похожий на «ДоговорКонтрагента».

СправочнаяИнформация.png

Видим, что есть реквизит «Договор». В пользовательском файле настроек вместо параметра [Документ]. ДоговорКонтрагента пишем [Документ].Договор.

Проблемы после запуска обработки

1. Проблема: Выгружаются неправильные значения

Как диагностировать: Данные в печатной форме 1С отличаются от данных в нашей визуализации.
Например, отличается наименование поставщика:

РазныеЗначенияПриПечати.png

Как решать: Ищем нужное значение в карточке документа (либо в карточках, которые можно открыть из документа – карточка Организации, Контрагента, Договора и т.д.).
В нашем случае открываем карточку организации, т.к. поставщик в случае реализации – это наша организация:

ОткрытьКарточкуОрганизацииИзДокумента.png

Видим, что в печатной форме 1С наименование поставщика берется из поля «Сокращенное наименование (по учредительным документам)».
Теперь нам нужно понять, как называется данный реквизит в конфигурации.
Для этого:
  • Открываем конфигурацию, находим документ «РеализацияТоваровУслуг» и открываем форму документа. В форме смотрим свойства поля Организация, из которого мы открывали карточку:

ГдеЛежитОрганизация.png

Видим, что тип значения данного поля – справочник Организации.

  • Находим в конфигурации справочник Организации и открываем форму элемента. В форме смотрим свойства поля, в котором лежит нужное нам наименование:
ГдеЛежитНаименованиеОрганизации.png

Видим, что данные в этом поле заполняются из реквизита «НаименованиеСокращенное».

  • Создаем пользовательский файл настроек для выгрузки реализации и выносим туда параметр с наименованием организации:
<?xml version="1.0" encoding="utf-8"?>
<ини>
	<мФайл Имя="ЭДОНакл">
	        <мСторона Имя="Отправитель">
			<Сторона_Наименование>[Сторона].НаименованиеСокращенное</Сторона_Наименование>
	        </мСторона>
	</мФайл>
</ини>

Структура вложенности узлов должна быть соблюдена, как в основном файле настроек.

2. Проблема: Нужна дополнительная информация в печатной форме документа

Как диагностировать: В печатной форме 1С присутствует дополнительная информация, которой нет в нашей визуализации.
Как решать:
Чтобы выгрузить любую дополнительную информацию, в пользовательский файл настроек добавляются параметры. Существует особая группа параметров, которые автоматически попадают в печатную форму документа (Дополнительно можно почитать здесь):
  • ИнфШапка — значение параметра отображается в шапке документа
  • ИнфПередТабл — значение параметра отображается перед табличной частью документа
  • ИнфПослеТабл — значение параметра отображается после табличной части документа
  • ИнфПодвал — значение параметра отображается в подвале документа
Таким образом решить проблему без изменения визуализации мы можем только в случае, если дополнительная информация в печатной форме клиента выводится в одном из перечисленных мест.
Например, клиент хочет в счет-фактуре перед табличной частью видеть название договора. В каком реквизите хранится это название, определяем так же, как в п.1 определяли наименование организации.
В этом случае в пользовательский файл настроек добавляется параметр «ИнфПередТабл»:
<?xml version="1.0" encoding="utf-8"?>
<ини>
    <мФайл Имя="СчФктр">
        <мПараметр Имя="ИнфПередТабл">
             <Параметр_Имя>'ИнфПередТабл'</Параметр_Имя>
             <Параметр_Значение>[Договор].Наименование</Параметр_Значение>
        </мПараметр>
    </мФайл>
</ини>
В результате получим:

ВизуализацияИнфПередТабл.png

3. Проблема: Нужна своя визуализация документа.

Как диагностировать: Печатная форма документа в 1С сильно отличается от нашей и клиент настаивает, что стандартная форма не подходит.
Как решать: Заказываем визуализацию в отделе внедрения ЭДО. По готовности добавляем в пользовательский файл настроек идентификатор визуализации в параметр Файл_КодФормы:
<?xml version="1.0" encoding="utf-8"?>
<ини>
    <мФайл Имя="СчФктр">
             <Файл_КодФормы>’СФВодоканал’</ Файл_КодФормы >
    </мФайл>
</ини>
Идентификатор записывается в одинарных кавычках.
Если кроме изменения формы новая визуализация должна содержать значения, отсутствующие в xml файле, то недостающие данные можно добавить в xml файл при помощи параметров документа или параметров строки табличной части.

4. Проблема: Медленно работает отправка через SDK.

Как диагностировать: Клиента не устраивает скорость отправки большого количества документов.
Как решать: Если клиент за один раз отправляет несколько тысяч документов, имеет смысл предложить отправку через коннект. В этом режиме обработка быстро выгрузит на диск необходимые файлы и в 1С можно будет продолжить работу. А СБИС Коннект в фоновом режиме будет отправлять файлы и не мешать бухгалтеру работать в 1С.
На вкладке Настройки в обработке указываем способ обмена «Каталог». Устанавливаем и настраиваем СБИС Коннект. Каталог обмена, указанный в обработке должен соответствовать рабочему каталогу СБИС Коннекта.
В настройках СБИС Коннекта необходимо указать формат «Документ (*.native.xml)» для исходящих документов, входящих и статусов:

НастройкаКоннекта.png

5. Проблема: Нет драйвера для работы с dbf — файлами, используемого по умолчанию (Microsoft dBASE Driver).

Как диагностировать: При открытии полученных документов возникает ошибка: «Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers):[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию».
Как решать: Драйвер используется при работе с DBF-файлами, в которых хранится сопоставление номенклатуры (нашей и контрагента). Есть два варианта решения проблемы:
  • При наличии другого драйвера прописать строку подключения в пользовательском файле настроек конфигурации. Например:
<СтрокаПодключенияДБФ>'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source='</СтрокаПодключенияДБФ>
В процессе работы обработка к этой строке в конце дописывает путь к каталогу с нужным dbf-файлом, в результате получается полная строка подключения, например:
‘Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=»DBASE IV;»;Data Source=C:Sbis1CНоменклатураПоставщика6000000001’
Наличие драйверов можно посмотреть в меню «Пуск/Панель управления/Администрирование/Источники данных ODBC»
  • Если нет подходящего драйвера, то можно воспользоваться штатными местами для хранения сопоставления номенклатуры в 1С. В зависимости от конфигурации это может быть регистр сведений «НоменклатураКонтрагентов» или справочник «НоменклатураПоставщиков».
Чтобы переключить хранение сопоставления номенклатуры с DBF на регистр или справочник, выносим в пользовательский файл настроек конфигурации параметр «ФормаРаботыСНоменклатуройПоставщика». Если в конфигурации присутствует регистр сведений «НоменклатураКонтрагентов», то указываем форму работы «СопоставлениеНоменклатуры_Регистры»:
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Регистры'</ФормаРаботыСНоменклатуройПоставщика>
Если в конфигурации присутствует справочник «НоменклатураПоставщиков», то указываем форму работы «СопоставлениеНоменклатуры_Справочники»:
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Справочники’</ФормаРаботыСНоменклатуройПоставщика>
Понять, какую из двух форм указать, можно не открывая конфигурацию 1С, а по параметру «НоменклатураПоставщиков» в стандартном файле настроек конфигурации. В этом параметре указана либо ссылка на регистр сведений, либо ссылка на справочник.

Обновил модуль для документооборота СБИС для БП 3.0.40.39. Выдает ошибку «Не зарегистрирована ActiveX компонента SBIS.Docflow», ОписаниеОшибки дает «{Форма.SDK2.Форма}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса » (обработка пытается создать Новый COMОбъект(«SBIS.Docflow»)). Запускаю 1С под администратором.

Поиск по инету говорит, что возможно «Настройки разрешений приложения не дают разрешения Локальный запуск приложения COM Server с CLSID { } AppGUID для пользователя имя_пользователя SID User_SID»

Я уж было решил, что 1С аппаратно ускорить пытаются :)

Нет, СОМ-объект не создается… Компонента зарегистрирована.

Сегодня позвонили из техподдержки Тензора, помогли решить проблему. Выкладываю, вдруг кому пригодится. Заходим в кэш пользователя c:UsersixijixiAppDataRoaming1C1cv8ExtCompT удаляем все DLL по маске Sbis3SDK* правим XML файл настроек, удаляя строки типа <component path=»Sbis3SDK_3_6_4.dll» type=»com»/> перезапускаем 1С, запускаем обработку, все функционирует

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

При попытке создать OLE объект 1С, возникает ошибка «Неудачная попытка создания объекта (V77.Application)». Существует 3 основные причины возникновения этой ошибки: отсутствие необходимых ключей в реестре (или ограничение доступа к ним), неправильное значение ключей реестра или параметров DCOM.

Во-первых, проверьте, чтобы 1С была установлена из дистрибутива, а не просто скопирована с другого компьютера. При необходимости переустановите 1С. При обычном копировании 1С в реестре может отсутствовать ряд ключей, которые создаются при установке.

Во-вторых, в реестре может быть неправильно указан путь к 1cv7.exe и, как результат, возникнет ошибка при создании OLE-объекта. Проверьте HKEY_LOCAL_MACHINESOFTWAREClassesV77.ApplicationCLSID, там будет указан GUID. В моем случае это {63112D80-94F0-11D2-9F39-008048DA120F}. Далее перейдите к HKEY_CLASSES_ROOTCLSID{63112D80-94F0-11D2-9F39-008048DA120F}LocalServer32 и проверьте путь к приложению 1cv7.exe. Так же проверьте имеет ли пользователь доступ на чтение к указанным выше веткам реестра.

В третьих, проблема может быть связана с настройками DCOM. Обычно это происходит после установки веб-расширения и изменения параметров DCOM. В этом случае запустите dcomcnfg.exe, найдите 77.Application, на закладке «Удостоверение» установите переключатель в положение «Текущий пользователь».

Пожалуйста,

Вопросы:

  1. Краткая справка по использованию OLE в 1С-Предприятии.
  2. Методы: Initialize() — открыть базу.
  3. Методы: CreateObject() — создать объект агрегатного типа.
  4. Методы: EvalExpr() — вычислить выражение.
  5. Методы: ExecuteBatch() — выполнить последовательность операторов.
  6. Пример: создание документа в другой базе, открытой через OLE.
  7. Сравнение в базе OLE. Константы, перечисления, элементы справочников.
  8. Как узнать, что дата, полученная через OLE — пустая?

Ответы:

  1. Краткая справка по использованию OLE в 1С-Предприятии.

Для запуска системы 1С-Предприятия в качесте OLE Automation сервера из внешнего приложения выполняется следующая последовательность действий:

  • Создается объект с OLE идентификатором (регистр символов непринципиален):
  • V1CEnterprise.Application — версия независимый ключ;
  • V77.Application — версия зависимый ключ;
  • V77S.Application — версия зависимый ключ, SQL версия;
  • V77L.Application — версия зависимый ключ, локальная версия;
  • V77M.Application — версия зависимый ключ, сетевая версия.
  • Выполняется инициализация системы 1С-Предприятие методом Initialize().
  • Вызываются атрибуты и методы системы 1с-Предприятия как OLE Automation сервера.

1С-Предприятие в качестве OLE Automation сервера имеет 4 метода:

  • Initialize() — выполнить инициализацию системы 1С-Предприятие.
  • CreateObject() — Создает объект агрегатного типа данных 1С-Предприятия и возвращает ссылку на него.
  • EvalExpr() — Вычислить выражение системы 1С-Предприятие.
  • ExecuteBatch() — Выполнить последовательность операторов системы 1С-Предприятие.

2. Методы: Initialize() — открыть базу.

Синтаксис метода такой: Initialize(.RMTrade, , ), где:
.RMTrade — имя переменной и ключевое слово RMTrade.
— командная строка, в которой можно прописать путь к базе, имф пользователя и пароль.
) — либо пустая строка, либо «NO_SPLASH_SHOW» — чтобы не показывать заставку при загрузке.
Для того, чтобы открыть базу через OLE — необходимо создать объект с идентификатором OLE, выполнить инициализацию базы и проверить успешность выполнения инициализации. В своем примере я не указываю никаких дополнительных параметров, поэтому открывается квадратное окошко выбора базы, предлагается выбрать пользователя и ввести пароль.
ДругаяБаза=СоздатьОбъект(«V77.Application»);
Открыта=ДругаяБаза.Initialize(ДругаяБаза.RMTrade,,);
Если Открыта=0 Тогда
// True=-1, False=0. Для всех OLE команд.
Сообщить(«База не была открыта.»);
Возврат;
КонецЕсли;

3. Методы: CreateObject() — создать объект агрегатного типа.

Этот метод создает объект агрегатного типа данных системы 1С-Предприятия и возвращает ссылку на него.

Синтаксис метода такой: CreateObject(), где:
— строковое выражение, значение которого содержит имя агрегатного типа данных, заданного в конфигураторе. Например: «Справочник.Номенклатура», «Документ.ПриходнаяНакладная».

4. Методы: EvalExpr() — вычислить выражение.

Синтаксис метода такой: EvalExpr(), где:
— строковое выражение, записанное на встроенном языке 1С-Предприятия.

Результатом выражения может быть число, строка, дата или значение любого агрегатного типа данных. Результат с неопределенным типом преобразуется к строковому типу.

5. Методы: ExecuteBatch() — выполнить последовательность операторов.

Синтаксис метода такой: ExecuteBatch(), где:
— строковое выражение, текст программы на встроенном языке 1С-предприятия. Возвращает значение логического типа: TRUE, если последовательность операторов выполнена успешно, FALSE, если нет. В OLE Automation TRUE и FALSE имеют соответственно значения -1 (минус единица) и 0.

6. Пример: создание документа в другой базе, открытой через OLE.

Этот пример на 100% рабочий. Используется у меня для выгрузки документов из одной конфигурации в другую.

7. Сравнение в базе OLE. Константы, перечисления, элементы справочников.

Для сравнения значений агрегатных типов данных в базе, открытой через Оле, использовать стандартный алгоритм с использование знаков равно и неравно (=,) не получается. Выход простой. Необходимо перейти от сравнения агрегатных типов данных к простым типам данных — дата, строка и число.

Отсюда вывод: мы сравниваем не сами элементы, а их уникальные атрибуты. Например, для элементов справочника — это код (если он есть), либо наименование. Для перечисления используется метод Идентификатор(). Вот два примера:
//Сравнение реквизита номенклатуры с Константой БазоваяВалюта
Если дТовар.ВалютаУчета.КодДругая.Константа.БазоваяВалюта.Код Тогда
дТовар.ВалютаУчета=Другая.Константа.БазоваяВалюта;
КонецЕсли;
//Сравнение реквизита номенклатуры с перечислением
Если дТовар.ТипТовара.Идентификатор()Другая.Перечисление.ТипыТоваров.Штучный.Идентификатор() Тогда
дТовар.ТипТовара=Другая.Перечисление.ТипыТоваров.Штучный;
КонецЕсли;

22 Oct 2014 | Автор: dd |

На одном из подшевных бухгалтерских компов, при запуске 1C, в консоль стали сыпаться ошибки следующего толка:

Ошибка при создании объекта из компоненты C:Program Files (x86)1Cv77BIN1CRtInf.dll (отсутствует CLSID)
Ошибка при создании объекта из компоненты S:Bases_1Cv77BD_NAME1SBDBv7plus.dll (отсутствует CLSID)
Ошибка при создании объекта из компоненты S:Bases_1Cv77BD_NAME1SBDBv7plus.dll (отсутствует CLSID)
Ошибка при создании объекта из компоненты S:Bases_1Cv77BD_NAME1SBDBv7plus.dll (отсутствует CLSID)
Ошибка при создании объекта из компоненты S:Bases_1Cv77BD_NAME1SBDBv7plus.dll (отсутствует CLSID)
Ошибка при создании объекта из компоненты S:Bases_1Cv77BD_NAME1SBDBv7plus.dll (отсутствует CLSID)
Не удалось обнаружить компоненту v7plus.dll!

Помимо визуального дискомфорта у бухгалтеров, через одного страдающих болезненной педантичностью, отвалилась часть функционала 1C, причем в этих же базах, но на других компах все продолжало работать отменно.

Ошибка данного характера Ошибка при создании объекта из компоненты (отсутствует CLSID) означает, что по каким то причинам слетела регистрация элементов управления OLE, необходимых для корректного запуска и последующей работы 1C.

Для начала стоит проверить их наличие, т.к. шаловливые ручки юзверей могут снести даже папку Windows в корзину. Как? Не спрашивайте, я сам так и не понял.

Но если файлы на месте, то их следует зарегистрировать с помощью утилиты  Regsvr32.exe, запускаемой из под админских прав.
Для чего нажимаем Пуск -> в поиске пишем cmd (функционал Windows7) -> вверху списка появляется cmd.exe на который кликаем правой клавишей мыши и говорим Запуск от имени администратора -> в открывшемся окне пишем regsvr32.exe с нужными вам путями, в моем случае это выглядело как:

regsvr32 “C:Program Files (x86)1Cv77BIN1CRtInf.dll”
regsvr32 “S:Bases_1Cv77BD_NAME1SBDBv7plus.dll”

также можно просто из сессии дос-промта перехватить права администратора, командой
runas /noprofile /user:admin_user cmd

после ввода пароля откроентся новое окно уже с админскими правами

Rating: 5.4/10 (65 votes cast)

Rating: +9 (from 15 votes)

Регистрация библиотек в 1C, 5.4 out of 10 based on 65 ratings

Теги: Windows, техподдержка

Понравилась статья? Поделить с друзьями:
  • Ошибка при создании icloud почты
  • Ошибка при создании google аккаунта
  • Ошибка при соединении с сервером код ошибки
  • Ошибка при создании com объекта не зарегистрирована компонента tensor
  • Ошибка при соединении с сервером гранд смета