Ошибка при создании компоненты cleverence warehouse storageconnector

Последние изменения: 2022-02-10

Ошибка:

При проверке соединения из промежуточной базы возникает ошибка:

Ошибки в ПРОФ драйвере, название конфигурации = 
"РозницаМагазинОдеждыИОбуви", редакция= "2.0.7.6", версия драйвера = 
"2.6.7.14":  
Дата =17.01.2014 19:59:13, ФункцияИсточник = 
ИнициализироватьStorageConnector, Комментарий =#Ошибка выполнения 
операции - #Ошибка при создании компоненты  Cleverence.Warehouse.StorageConnector: 
"ОбщийМодуль.УниверсальныеМеханизмы(2057)": Ошибка при вызове метода 
контекста (InitializeServerConnection): Произошла исключительная 
ситуация (System.Web.Services): The underlying connection was closed:  An unexpected error occurred on a receive. (1С: версия приложения = 
"8.2.18.109", название конфигурации = "РозницаМагазинОдеждыИОбуви", 
редакция= "2.0.7.6", версия драйвера = "2.6.7.14")

При этом название конфигурации 1С в тексте ошибки не соответствует действительности.

В логе на сервере присутствует следующее сообщение:

MESSAGE:    Удаленный хост принудительно разорвал существующее подключение

Желательно что бы промежуточная находилась на том же ПК что и база 1С. У вас постоянно данная ошибка. Скорее всего дело в брандмауэре, антивирусе или файрволл. Проверьте доступность порта сервера 9500. Так же проверьте запущена ли служба сервера. Есть ли соединение в панели управления — внешние вызовы. 

Так же — Запустите cmd.exe от администратора и не важно если Вы админ на пк, запуск именно правой кнопкой мыши! — запуск от имени … 

перейти в папку C:\Program Files\Cleverence Soft\Driver1C WiFi Prof\Control Panel 

запустить «Зарегистрировать COM.bat» 

После этого службу драйвера опять перезапустите.

Решение:

  1. Желательно, чтобы промежуточная база драйвера ПРОФ находилась на том же ПК, что и ваша прикладная база 1С.
  2. Проверьте доступность порта сервера 9500. Также проверьте, запущена ли служба сервера 1C driver server PROF.
  3. Запустите cmd.exe от администратора, перейдите в папку «C:\Program Files\Cleverence Soft\Driver1C WiFi Prof\Control Panel» и запустите файл «Зарегистрировать COM.bat». 

    После этого опять перезапустите службу 1C driver server PROF.

После ее установки и регистрации в ОС Windows становится возможным создание и операции с объектами компоненты, непосредственно в процедурах учетной системы.

Все средства доступа к серверу Mobile SMARTS сосредоточены в одном единственном COM- компоненте Cleverence.Warehouse.StorageConnector.

Операция создания объектов, описанных в COM, специфична для каждой системы:

Псевдокод:

var connector = новый Cleverence.Warehouse.StorageConnector();

«1С:Предприятие 7»:

connector = СоздатьОбъект(«Cleverence.Warehouse.StorageConnector»);

«1С:Предприятие 8»:

connector = новый COMОбъект(«Cleverence.Warehouse.StorageConnector»);

Microsoft Dynamics AX (Axapta):

var connector = new COM(«Cleverence.Warehouse.StorageConnector»);

StorageConnector содержит функции для выгрузки/загрузки справочников и документов, а также для работы со специальными возможностями системы (управление терминалами, редактирование и печать этикеток и так далее). Все объекты метаданных Mobile SMARTS и прочие объекты Mobile SMARTS в рамках компоненты доступа к серверу Mobile SMARTS также представлены в виде COM-компонентов.

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

Посмотреть все установленные в системе COM компоненты, их свойства и функции, возможно с помощью утилиты oleview.exe компании Microsoft.

Сервер Mobile SMARTS принимает обращения и возвращает результаты только в виде XML- документов. Формат этих документов может меняться от версии к версии, и нигде не документирован. StorageConnector облегчает работу прикладного программиста, автоматически транслируя графы объектов Mobile SMARTS в XML-документ и наоборот.

В процессе интеграции, разработчик создает код учетной системы, который создает и заполняет некоторый объект Mobile SMARTS, иногда достаточно сложный, в соответствии с данными учетной системы, и отправляет его на сервер Mobile SMARTS при помощи вызова StorageConnector. При загрузке данных происходит обратная операция – анализ объекта Mobile SMARTS и модифицирование на его основе данных учетной системы.

Доступ к серверу

После создания StorageConnector в обязательном порядке требуется провести его инициализацию с помощью функции InitializeServerConnection.

C#:

void InitializeServerConnection(string connectionString)

void InitializeProxyServerConnection(string connectionString,

string proxyName,

int port)

Строка соединения connectionString представляет собой url к Web-сервису сервера Mobile SMARTS и имеет следующий формат:

http://DNS-имя-сервера[:порт для доступа]/путь-к-странице/DataStorage.asmx

Самый первый шаг на пути к интеграции – это попытка выполнить следующий код:

C#:

Cleverence.Warehouse.StorageConnector connector =

new Cleverence.Warehouse.StorageConnector();

connector.InitializeServerConnection(

«http://server:8000/DataStorage.asmx»);

«1С:Предприятие 7»:

// Создание объекта коннектора и инициализация его соединения с сервером.

connector = СоздатьОбъект(«Cleverence.Warehouse.StorageConnector»);

connector.InitializeServerConnection(

СокрЛП(Константа.ПолучитьАтрибут(«СтрокаПодключения»)));

«1С:Предприятие 8»:

// Создание объекта коннектора и инициализация его соединения с сервером.

connector = новый COMОбъект(«Cleverence.Warehouse.StorageConnector»);

connector.InitializeServerConnection(Константы.СтрокаПодключения);

Microsoft Dynamics AX (Axapta):

// Создание объекта коннектора и инициализация его соединения с сервером.

COM connector = new COM(«Cleverence.Warehouse.StorageConnector»);

connector.InitializeServerConnection(EasyWarehouse.GetConnectionString());

Если доступ к серверу возможен только через прокси, следует использовать второй вариант этой  функции.

Если объект создан успешно и InitializeServerConnection выполнилась без ошибок, можно переходить к попытке выгрузить некоторые справочники.

Что могло случиться, если экземпляр StorageConnector создать не удалось:

Ошибка
Возможная
причина
Диагностика Решение
Создание экземпляра Cleverence.Warehouse.StorageConnector завершилось с ошибкой
«Cleverence.Warehouse.StorageComConnector were not registered» («COM-компонент не зарегистрирован») или какой-то
подобной.
На компьютере не
установлена
компонента
доступа.
В «Установке и удалении программ» нет записи
о «Mobile SMARTS 2.x — Компонента доступа».
Найти дистрибутив Mobile SMARTS и
произвести установку компоненты доступа.
Компонента
установлена, но
часть файлов
отсутствует.
Папка установки компоненты доступа
отсутствует либо пуста (и в ней нет файла
Cleverence.Warehouse.StorageComConnector.dll).
Найти дистрибутив Mobile SMARTS, через
«Установку и удаление программ» удалить
компоненту доступа и установить ее
заново.
Компонента
установлена, но
регистрация COM
не произошла.
А) В Oleview нет компонента
«Cleverence.Warehouse.StorageComConnector»,
либо
Б) В системном реестре (regedit.exe) нет ни
одной записи, содержащей строку
«Cleverence.Warehouse.StorageComConnector».
Произвести регистрацию вручную, запустив
из папки компоненты доступа файл
«Зарегистрировать COM-компонент
StorageComConnector.bat».Если файл регистрации не может найти
путь «Framework. v1.1.4322» или файл
«RegAsm.exe», необходимо переустановить
.NET Framework 1.1.
Создание экземпляра Cleverence.Warehouse.StorageConnector завершилось с ошибкой «Cannot resolve
Cleverence.Warehouse.StorageComConnector assembly or one of it’s references» («Немогунайтисборку
Cleverence.Warehouse.StorageComConnector или одну из используемых ею») или какой-то подобной.
Компонента
установлена, но
часть файлов
отсутствует.
Папка установки компоненты доступа
отсутствует, либо заполнена только на
половину (и в ней нет главного файла —
Cleverence.Warehouse.StorageComConnector.dll).
Найти дистрибутив Mobile SMARTS, через
«Установку и удаление программ» удалить
компоненту доступа и установить ее
заново.
Вызов метода InitializeServerConnection завершилось с ошибкой «Сервер не найден» или какой-то подобной.
Неверно указана
строка
подключения.
Скопировать строку подключения в браузер и
дожидаться загрузки страницы Web-сервиса.
Браузер выдаст ошибку «The page cannot be
displayed» («Невозможно отобразить страницу»)
или «Server Error in ‘/’ Application. The resource
cannot be found» («Ошибка в приложении ‘/’,
ресурс не найден»).

Выяснить точную строку подключения.

Например, на компьютере сервера
запустить Internet Information Services (IIS)
Manager (inetmgr.exe), найти виртуальную
папку Cleverence.Warehouse.DataService,
найти в ней файл DataStorage.asmx и
выбрать в контекстном меню команду
«Browse» («Просмотр»).

Расширения
ASP.NET 1.1 не
были
зарегистрированы
в MS IIS.
Microsoft Internet Information Services (IIS) был
установлен уже после установки .NET
Framework 1.1.Скопировать строку подключения в браузер и
дожидаться загрузки страницы Web-сервиса.
Браузер выдаст ошибку «The page cannot be
found» («Страница не найдена»).
Произвести регистрацию вручную, запустив
из папки сервера файл «Зарегистрировать
ASP.NET под MS IIS.bat».Например, на компьютере сервера
запустить Internet Information Services (IIS)
Manager (inetmgr.exe), найти виртуальную
папку Cleverence.Warehouse.DataService и
выяснить, где она расположена физически,
выбрав в контекстном меню команду
«Properties…» («Свойства…»). Если путь к
папке выглядит как
«\Cleverence.Warehouse.DataService», ее
следует искать в папке «Inetpub\wwwroot»
диска, на котором установлена
операционная система (чаще всего, это
диск C:, но может быть и по-другому).
В локальной сети
установлен
прокси-сервер
для доступа к
HTTP, а
разработчик об
этом не знает.
В настройке Internet Explorer, Opera, Firefox и
других браузерах указаны настройки прокси.Например, в IE в закладке «Tools\Internet
Options…\Connections\LAN Settings…»
(«Сервис\Свойства
обозревателя…\Подключения\Настройка LAN…»)
что-то сказано про «Use a proxy server for…»
(«Использовать прокси-сервер для…»).
Выяснить настройки прокси-сервера и
внести их в вызов метода
InitializeServerConnection.
Настройки
безопасности
доступа к папке с
Web-сервисом
Mobile SMARTS
настроены
неверно.
Скопировать строку подключения в браузер и
дожидаться загрузки страницы Web-сервиса.
Браузер выдаст ошибку «You are not authorized
to view this page» («Доступ к странице
запрещен»).
На компьютере сервера запустить Internet
Information Services (IIS) Manager
(inetmgr.exe) и убедиться в правильности
политики доступа к виртуальной папке
Cleverence.Warehouse.DataService.На компьютере сервера найти физическую
папку Cleverence.Warehouse.DataService
(например,
Inetpub\wwwroot\Cleverence…Dataservice) и
настроить политику доступа для локальных
и удаленных пользователей по всем
файлам и подпапкам.
На компьютере
установлен ISA-
клиент.
В трее видны значки ISA-клиента. Временно отключить Firewall Client, чтобы
более точно диагностировать ошибку:Если c выключенным Firewall Client
вызов работает, выяснить настройки
прокси-сервера и локальных политик и
внести их в вызов метода
InitializeServerConnection.Если нет – искать другую причину.

Выгрузка и загрузка данных

Рассмотрим небольшой пример выгрузки данных с использованием компоненты доступа, в котором мы выгрузим на сервер Mobile SMARTS одну-единственную позицию номенклатуры «Товар1»:

C#:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

using Cleverence.Warehouse;

// Создание объекта продукта «Товар1»

Product продукт = new Cleverence.Warehouse.Product();

продукт.Id = 1;

продукт.Name = “Товар1;

продукт.Marking = “АРТИКУЛ1;

// Cоздание объекта упаковки для товара

Packing упаковка = new Cleverence.Warehouse.Packing();

упаковка.Id = 1;

упаковка.Name = “шт”;

упаковка.UnitsQuantity = 1;

продукт.Packings.Add(упаковка);

продукт.BasePackingId = 1;

// Cоздание коннектора, для подключения к серверу

StorageConnector connector = new Cleverence.Warehouse.StorageConnector();

connector.InitializeServerConnection(«http://server:8000/DataStorage.asmx»);

// Выгрузка заполненного товара на сервер

connector.SetProduct(продукт);

«1С:Предприятие 7»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

// Создание объекта продукта «Товар1»

продукт = СоздатьОбъект(“Cleverence.Warehouse.Product”);

продукт.Id = 1;

продукт.Name = “Товар1;

продукт.Marking = “АРТИКУЛ1;

// Cоздание объекта упаковки для товара

упаковка = СоздатьОбъект(“Cleverence.Warehouse.Packing”);

упаковка.Id = 1;

упаковка.Name = “шт”;

упаковка.UnitsQuantity = 1;

продукт.Packings.Add(упаковка);

продукт.BasePackingId = 1;

// Cоздание коннектора, для подключения к серверу

connector = СоздатьОбъект(«Cleverence.Warehouse.StorageConnector»);

connector.InitializeServerConnection(«http://server:8000/DataStorage.asmx»);

// Выгрузка заполненного товара на сервер

connector.SetProduct(продукт);

«1С:Предприятие 8»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

// Создание объекта продукта «Товар1»

продукт = новый COMОбъект(“Cleverence.Warehouse.Product”);

продукт.Id = 1;

продукт.Name = “Товар1;

продукт.Marking = “АРТИКУЛ1;

// Cоздание объекта упаковки для товара

упаковка = новый COMОбъект(“Cleverence.Warehouse.Packing”);

упаковка.Id = 1;

упаковка.Name = “шт”;

упаковка.UnitsQuantity = 1;

продукт.Packings.Add(упаковка);

продукт.BasePackingId = 1;

// Cоздание коннектора, для подключения к серверу

connector = новый COMОбъект(«Cleverence.Warehouse.StorageConnector»);

connector.InitializeServerConnection(«http://server:8000/DataStorage.asmx»);

// Выгрузка Выгрузка заполненного товара на сервер

connector.SetProduct(продукт);

Microsoft Dynamics AX (Axapta):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

// Созданиеобъектаконнектора

COM connector = new COM(«Cleverence.Warehouse.StorageConnector»);

// Cозданиеобъектатовара

COM product = new COM(«Cleverence.Warehouse.Product»);

// СозданиеОбъектаУпаковки

COM packing = new COM(«Cleverence.Warehouse.Packing»);

// Дает доступ с свойству product.Packings

COM packings;

// Заполнение объекта продукта «Товар1»

product.Id(1);

product.Name(“Товар1);

product.Marking(“АРТИКУЛ1);

// Заполнение объекта упаковки

packing.Id(1);

packing.Name(“шт”);

packing.UnitsQuantity(1);

packings = product.Packings();

packings.Add(packing);

product.BasePackingId(1);

// Инициализация соединения с сервером.

connector.InitializeServerConnection(«http://server:8000/DataStorage.asmx»);

// Выгрузка заполненного товара на сервер

connector.SetProduct(product);

Код в примере простой, но он содержит основные элементы любой выгрузки, а именно создание коллекции под выгрузку, ее наполнение, и отправка на сервер.

Если все было сделано правильно, сервер Mobile SMARTS доступен и работает, а вызов SetProduct прошел без ошибок, поздравляем! Можно зайти в папку «C:\Program Files\Cleverence Soft\Mobile SMARTS 2008\Server\Documents\» на физическом сервере Mobile SMARTS и поискать там файл «Cleverence.Warehouse.ProductsBook.xml». Если открыть его с помошью Internet Explorer или какого-нибудь редактора XML-файлов, можно будет поближе познакомиться со структурой хранения данных Mobile SMARTS.

Что могло случиться, если функция завершилась с ошибкой:

Ошибка
Возможная
причина
Диагностика Решение
Создание экземпляра Cleverence.Warehouse.StorageConnector завершилось с ошибкой.
Со времен чтения
раздела «Доступ
к серверу»
конфигурация
вашего
компьютера
изменилась, либо
это уже другой
компьютер.
Вернуться к разделу «Доступ к серверу» и
ошибкам подключения.


Просмотр полной версии : Проблема с созданием экземпляра com-объекта на сервере


Добрый день,
AX2009 интегрирую с внешней системой.

Внешняя система предоставляет com-объект для манипуляций с ней,
в AX2009 запилил класс для запуска в пакетном режиме, который будет периодически обменивается данными с внешней системой посредством использования экземпляра данного com-объекта.

Для начала сделал по-старинке:
класс клиентский, пакетный сервер запускается в отдельной клиентской сессии.
Все работает.
Можно переводить и на серверный вариант, чтобы не париться с клиентской сессией.

Поставил RunOn = Server.
Метод new подпилил так:

void new()
{
InteropPermission p;
;
super();

p = new InteropPermission(InteropKind::ComInterop);
p.assert();
storageConnector = new COM(«Cleverence.Warehouse.StorageConnector»);
// storageConnector = new COM(«CDO.Message»); // для проверки создаются ли другие объекты
CodeAccessPermission::revertAssert();
}

Пробую. Получаю:
COM-объект класса «Cleverence.Warehouse.StorageConnector» не удалось создать. Убедитесь, что объект был должным образом зарегистрирован на компьютере «AOS-DEV-01V».
Убедился.

На указанном AOS установлен также и клиент. Открываю его.
Ставлю у класса RunOn = Client — запускается.
Ставлю у класса RunOn = Server — указанная выше ошибка.

Под доменным админом то же самое.

Другие объекты типа CDO.Message или ADODB.Recordset создаются нормально при любом значении RunOn.

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


Нужно искать 64-битный вариант COM-объекта «Cleverence.Warehouse.StorageConnector».
Либо АОС делать 32-битным.


Либо париться с клиентской сессией :)


Здесь прописано как запустить СОМ коннектор 1с8х в режиме 32 бит на 64-битовом сервере.
http://gilev.ru/1c/hasp/
в ссылке есть пункт
15. Для COM-соединений к 64х битному серверу приложений использование возможно только на том компьютере, на котором установлен ключ 64-разрядного сервера 1С:Предприятия (и не из терминальной сессии).
Для использования V81.COMConnector на компьютерах, которым доступны только клиентские ключи, можно зарегистрировать 32-разрядный V81.COMConnector в COM+.
— запустите Component Services;
— создайте пустое COM+ приложение с Activation type — Server application и именем, например, V81_COMConnector, укажите имя пользователя Windows, от имени которого компонента будет запускаться в адресном пространстве отдельного процесса dllhost.exe;
— в ветке Components добавьте новую компоненту comcntr.dll из каталога загрузочных модулей 1С:Предприятия.
В этом случае V81.COMConnector будет запускаться в отдельном 32-разрядном процессе и может использоваться как 32-разрядными, так и 64-разрядными приложениями.

Данная рекомендация была использована как для СОМ коннектора 1с (не было ключей 64-бит), так и еще для одной компоненты СОМ сторонней фирмы, под которую не было 64- битовой dll.
Пакеты ax2009 АОС 64-бит Window server 2008 sp2 работают с этими СОМ компонентами, проблем не было.


Всем привет.
Обновил версию 1с до 8.2., теперь интеграция с АХ 2009 SP1 накрылась медным тазом. Добавил новое приложение com+ (как в сообщении выше), загрузил компоненту из папки с установленным 1с8.2. Импорт поставщиков из 1С в АХ 2009 не работает: «COM-объект класса «V81.COMConnector» не удалось создать. Убедитесь, что объект был должным образом зарегистрирован на компьютере «AX-DEMO».» Зачем-то АХ 2009 упорно сигнализирует о том, что используется объект V81* которого уже впомине нет. В макросе используется следующее. Перепробывал все варианты.
//define.COMConnectorProgId(«V81.COMConnector») // исходник
//define.COMConnectorProgId(«V82.COMConnector») // второе чтение
define.COMConnectorProgId(«82.COMConnector.1») // по принципу названия компоненты в component services

В методе поиска/создания ком объекта, если последний не нашелся, указано:
comConnector = new COM( #COMConnectorProgId);//V81.COMConnector

Сервер перезагружал. АОС тоже. Поможите кто чем богат на знания.


Попробуйте для начала не использовать макрос, а явно указать строку «V82.COMConnector»


Всем привет!
Помогите пожалуйста решить подобную проблему. Создал на сервере (Windows Server 2008 R2 Standard SP1, 64bit) приложение COM+, как описано выше (от имени Network Service). Объект создается, но на методе Connect все намертво виснет (DAX 4.0):

c1COMObj = new COM(«V82.COMConnector»);
connection = c1COMObj.Connect(«Srvr=\»» + c1Params.DBCluster + «\»;Ref=\»» + c1Params.DBClusterName + «\»;Usr=\»» + c1Params.User1C + «\»;Pwd=\»» + c1Params.User1CPassword + «\»;»);

При этом для «V82.Application» все работает.
comcntr.dll нашел 2 штуки — в Program Files и в Program Files (x86). Пробовал подставлять обе, результат один. В чем может быть дело?


Основные моменты при создании приложений COM+:

1. Когда создаете приложение COM+, указывайте, что это серверное приложение;
2. Далее в мастере создания в окне «Удостоверение приложения» необходимо указать пользователя и пароль от имени которого стартует АОС;
3. Далее в мастере создания в окне «Добавление пользователей и ролей» также необходимо добавить пользователя от имени которого стартует АОС;
4. При создании конкретного компонента внутри приложения COM+ выбирайте библиотеку comcntr.dll из папки «Program Files (x86)».

Нижеприведенный код должен отрабатывать без проблем:

new InteropPermission(InteropKind::ComInterop).assert();

COMconnector = new COM(this.getCOMConnectorProg());

CodeAccessPermission::revertAssert();

где функция getCOMConnectorProg() имеет вид:

private str getCOMConnectorProg()
{
str getCOMConnectorProg;
;
switch(Version)
{
case ::V80 :
getCOMConnectorProg = #V80_COMConnector;
break;
case ::V81 :
getCOMConnectorProg = #V81_COMConnector;
break;
case ::V82 :
getCOMConnectorProg = #V82_COMConnector;
break;
default :
throw error(strFmt(«Для версии %1 не реализовано»,Version));
}

return getCOMConnectorProg;
}

макросы:

#define.V80_COMConnector(‘V8.COMConnector’)
#define.V81_COMConnector(‘V81.COMConnector’)
#define.V82_COMConnector(‘V82.COMConnector’)


Огромное спасибо! Заработало. Похоже ключевым был пользователь, от имени которого запускается АОС.


Еще раз всем привет!
К сожалению, проблема решена не полностью. При вызове любой функции 1С, например:
result = connection.axSyncClient(«Test»);
вылетает ошибка, в данном случае: «Метод «axSyncClient» в COM-объекте класса «<неизвестно>» возвратил код ошибки 0x80020009 (DISP_E_EXCEPTION), который означает: {ОбщийМодуль.ВнешниеПроцедуры.Модуль(340,4)}: Процедура или функция с указанным именем не определена (ВвестиЗначение).»
Такая функция в 1С точно есть, для «V82.Application» это работает. Подскажите пожалуйста, в чем может быть дело?


Еще раз всем привет!
К сожалению, проблема решена не полностью. При вызове любой функции 1С, например:
result = connection.axSyncClient(«Test»);
вылетает ошибка, в данном случае: «Метод «axSyncClient» в COM-объекте класса «<неизвестно>» возвратил код ошибки 0x80020009 (DISP_E_EXCEPTION), который означает: {ОбщийМодуль.ВнешниеПроцедуры.Модуль(340,4)}: Процедура или функция с указанным именем не определена (ВвестиЗначение).»
Такая функция в 1С точно есть, для «V82.Application» это работает. Подскажите пожалуйста, в чем может быть дело?

Не путайте COM и OLE.

В данном случае «V82.Application» — это OLE.

А функция «ВвестиЗначение» — функция клиентского исполнения, которая представляет собой показ диалога для ввода значение переданного типа и требует работы с интерфейсной составляющей платформы 1С. Через COM-объект («V82.COMConnector») она работать не будет.


Но там и не должно быть никакого диалога. Функция должна отработать без взаимодействия с пользователем и вернуть результат в виде текстовой строки. Может быть для работы через COMConnector функции в 1С должны быть написаны с учетом некоторых ограничений?


Функция «ВвестиЗначение» — это функция глобального контекста, т.е. функция ядра платформы 1С.

Вот ее описание из встроенной справки:

Вызывает диалог для ввода значения заданного типа. Если тип переменной не определен и <Тип> представляет собой составной тип данных, то в поле ввода появляется кнопка выбора типа.

Доступность:
Тонкий клиент, веб-клиент, толстый клиент.

Обратите внимание на раздел «Доступность», среди перечисленного нет «Внешнее соединение», что требуется для работы с процедурами/функциями через COM-соединение.

Касательно вашего случая, возможно, что по бизнес логике функция «ВвестиЗначение» и не вызывается, может быть она даже используется в другой процедуре/функции общего модуля, не в той, которую вы пытаетесь вызвать через COM. Но при подключении через COM и вызове чего-либо из общего модуля, платформа проверяет этот модуль в режиме Внешнего соединения, для которого вызов этой функции недопустим, поэтому у вас и появляется указанная ошибка.

Найдите вот это место «ОбщийМодуль.ВнешниеПроцедуры.Модуль(340,4)» и логику работы функции ВвестиЗначение обрамите в директивы препроцессора:

#Если Клиент Тогда
#КонецЕсли

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


Спасибо большое! Получилось.


FYI
_________

COM-объект класса «V83.COMConnector.1» не удалось создать
Возможно после обновления 1С получили ошибку при запуске класса, выгружающего данные в 1С в пакетном режиме и запускающего функцию 1С посредством COM LoadData (возможно просто совпало), т.к. до этого момента выгрузка запускалась только вручную.
Вручную класс отрабатывал без ошибки.
Регистрация comcntr.dll в режиме 32 и 64 бит на 64-битовом сервере не помогла.
Помогло добавление пользователей aos-ов — пакетных серверов в роли компоненты приложения COM+


Работает на vBulletin® версия 3.8.5. Copyright ©2000-2023, Jelsoft Enterprises Ltd. Перевод: zCarot

В настоящее время многие организации работают с программами 1С:Предприятие, которые включают в себя клиент-серверную архитектуру. Однако при использовании 64-битных версий операционных систем может возникнуть проблема с неизвестным типом подключения, а именно: «Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence».

Данная проблема возникает, когда установленная версия 1С:Предприятие требует установки дополнительного компонента — коннектора, который обеспечивает работу 64-битных процессов. Чтобы решить данную проблему, необходимо зарегистрировать указанный коннектор в операционной системе.

Для регистрации коннектора необходимо открыть командную строку с правами администратора и выполнить несколько команд. Сначала необходимо перейти в каталог, где расположен данный коннектор. Затем следует выполнить команду «regsvr32 XXX.dll», где XXX — название файла коннектора. После успешного выполнения команды, коннектор будет зарегистрирован в системе и проблема будет решена.

Содержание

  1. Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence
  2. Решение проблемы
  3. Шаг 1: Проверьте версию OC и приложения
  4. Шаг 2: Установите необходимые компоненты
  5. Шаг 3: Проверьте целостность файлов
  6. Шаг 4: Запустите установку от имени администратора
  7. Шаг 5: Обратитесь в службу поддержки

Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence

Если вы столкнулись с проблемой «Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence», то в данной статье вы найдете решение этой проблемы. Эта ошибка возникает, когда при попытке запустить приложение Cleverence 1С-сервера, оно не может найти зарегистрированный коннектор для 64-битных процессов.

Для решения этой проблемы вам понадобится выполнить следующие шаги:

  1. Убедитесь, что у вас установлена версия 1C:Enterprise 8.3 с поддержкой 64-битных процессов.
  2. Установите последнюю версию Cleverence 1С-сервера.
  3. Проверьте наличие необходимых файлов коннектора в каталоге установки Cleverence 1С-сервера. Если коннектор отсутствует, то скорее всего он не был установлен корректно.
  4. Зарегистрируйте коннектор 1С для 64-битных процессов командой regsvr32 ConnectorName.dll, где «ConnectorName» — имя файла коннектора.
  5. Перезапустите Cleverence 1С-сервер.

После выполнения этих шагов проблема «Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence» должна быть успешно решена, и вы сможете запустить приложение Cleverence 1С-сервера без ошибок.

Если это решение не сработало, попробуйте переустановить Cleverence 1С-сервер с чистой установкой, убедившись, что у вас установлена версия 1C:Enterprise 8.3 с поддержкой 64-битных процессов. Также убедитесь, что у вас установлены все необходимые компоненты и зависимости для работы Cleverence 1С-сервера.

Надеемся, что данное решение помогло вам решить проблему «Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence». Если у вас остались какие-либо вопросы или проблемы, обратитесь в службу поддержки Cleverence или на форум сообщества разработчиков 1C:Enterprise.

Решение проблемы

Если вы столкнулись с проблемой «Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence», следуйте следующим шагам для ее решения:

Шаг 1: Проверьте версию OC и приложения

Убедитесь, что используемая вами операционная система и приложение v8.3 Application Cleverence поддерживаются 64-битной архитектурой. Если ваша система или приложение работают только в 32-битном режиме, установка коннектора для 64-битных процессов невозможна.

Шаг 2: Установите необходимые компоненты

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

  • Компоненты Microsoft Visual C++ Redistributable;
  • Компоненты Microsoft .NET Framework;
  • Компоненты OLE DB Provider.

Установите отсутствующие или исправьте ошибки при установке указанных компонентов.

Шаг 3: Проверьте целостность файлов

Поврежденные или удаленные файлы могут привести к ошибкам при установке коннектора. Проверьте целостность следующих файлов:

  • Файл коннектора для 64-битных процессов v8.3 Application Cleverence;
  • Файлы приложения v8.3 Application Cleverence;
  • Файлы операционной системы.

Восстановите отсутствующие или поврежденные файлы из резервной копии или переустановите приложение v8.3 Application Cleverence.

Шаг 4: Запустите установку от имени администратора

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

Шаг 5: Обратитесь в службу поддержки

Если после выполнения вышеперечисленных шагов проблема не решена, обратитесь в службу поддержки 1С или разработчикам приложения v8.3 Application Cleverence, чтобы получить дополнительную помощь и инструкции по устранению ошибки.

Подключение внешней компоненты для ТСД Motorola MC2100 ☑ 0

Nervosa

26.07.13

17:04

Здравствуйте!

Взяли на тест сканер штрихкодов Motorola MC2100. Хочу написать обработку для выгрузки/загрузки данных из/в него. Смотрю в мануал от фирмы CleverenceSoft:

Функции драйвера объединены во внешней компоненте «Addin.Cl.TerminalConnector», содержащейся в библиотеке Cleverence.Warehouse.TerminalConnector.dll в подпапке ControlPanel папки установки драйвера.

Окей. Кладу Cleverence.Warehouse.TerminalConnector.dll в папку bin 1C-ки, а в обработке в методе ПриОткрытии() пишу:

Процедура ПриОткрытии()

    Попытка

        ПрогИД = «AddIn.Cl.TerminalConnector»;

        ПодключитьВнешнююКомпоненту(ПрогИД);

    Исключение

        Сообщить(ОписаниеОшибки());

    КонецПопытки;

КонецПроцедуры

В итоге вижу ошибку — Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту): Ошибка при подключении внешней компоненты

Что же я делаю неправильно?

Заранее спасибо.

1

Галахад

26.07.13

17:16

Может регистрировать надо?

2

Nervosa

26.07.13

17:24

И зарегить не даёт — говорит, что модуль Cleverence.Warehouse.TerminalConnector.dll загружен, но точка входа DllRegisterServer не найдена.

3

Grobik

26.07.13

17:26

Наверно нет прав на соответствующую ветку регистра винды.

4

Nervosa

26.07.13

17:32

Сделал себя админом — та же картина.

5

Grobik

26.07.13

17:40

Для начала винда?

6

Nervosa

26.07.13

17:43

7-ка.

7

Nervosa

29.07.13

09:13

И снова здравствуйте! Может на выходных кто-то занимался ТСД Motorola MC2100? :)

8

wowik

29.07.13

09:31

что разрабатываете, велосипед? с драйвером уже идут все необходимы обработки.

9

wowik

29.07.13

09:34

в папке драйвера «Control Panel» есть файл «Зарегистрировать COM.bat».

10

Nervosa

29.07.13

09:35

(8) — тут абсолютно полностью самописная конфигурация, поэтому стандартными обработками воспользоваться, увы, не удастся.

11

wowik

29.07.13

09:39

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

12

Nervosa

29.07.13

09:44

Ничего не помогло, к сожалению. По прежнему — Ошибка при подключении внешней компоненты. С правами всё в порядке на 100%.

13

wowik

29.07.13

09:48

напишите на суппорт support@cleverence.ru. Возможно, помогут. По крайней мере, попытаются.

14

Nervosa

31.07.13

09:17

По совету wowik я обратился в суппорт Cleverence и мне там действительно помогли :)

Последовательность действий следующая —

1) Устанавливаем выбранный драйвер — в моём случае этот — http://www.cleverence.ru//site.aspx?page=MobileSmarts-1C-Driver.

2) Из папки с установленным ПО Cleverence Soft\Driver1C\Control Panel\ запускаем Зарегистрировать COM.bat.

3) Затем в самой 1С 8.1 подключаем следующим образом:

    Попытка

        ПрогИД = «AddIn.Cl.TerminalConnector»;

        ПодключитьВнешнююКомпоненту(ПрогИД);

        Сканер = Новый (ПрогИД);

    Исключение

        Инфо = ИнформацияОбОшибке();

        Сообщить(«Описание='» + Инфо.Описание + «‘»);

    КонецПопытки;

Всё работает!

Моя же ошибка заключалась в том, что я не просто запускал Зарегистрировать COM.bat, но и копировал Cleverence.Warehouse.TerminalConnector.dll в 1С\bin, чего делать не стоило.

В общем респект ребятам, они действительно помогли :)

15

0xFFFFFF

31.07.13

09:23

(0) «. Хочу написать обработку для выгрузки/загрузки данных из/в него»

И зачем вам такой геморрой… RDP и обработка в режиме рабочего стола снимает все вопросы.

16

wowik

31.07.13

09:54

17

wowik

31.07.13

09:55

(16) в комментариях обсуждение

18

Nervosa

31.07.13

10:11

(15) конфигурация 1С полностью самописная, обработка работает с остатками.

Понравилась статья? Поделить с друзьями:
  • Ошибка при переносе виндовс на ssd
  • Ошибка при установке криптопро csp
  • Ошибка при установке леста гейм центр 31
  • Ошибка при перенаправлении команды приложению excel 2007
  • Ошибка при создании ключевого носителя скзи