Последние изменения: 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С.
- Проверьте доступность порта сервера 9500. Также проверьте, запущена ли служба сервера 1C driver server PROF.
-
Запустите 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» («Ошибка в приложении ‘/’, ресурс не найден»). |
Выяснить точную строку подключения. Например, на компьютере сервера |
Расширения 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С для 64-битных процессов v8.3 Application Cleverence
- Решение проблемы
- Шаг 1: Проверьте версию OC и приложения
- Шаг 2: Установите необходимые компоненты
- Шаг 3: Проверьте целостность файлов
- Шаг 4: Запустите установку от имени администратора
- Шаг 5: Обратитесь в службу поддержки
Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence
Если вы столкнулись с проблемой «Не зарегистрирован коннектор 1С для 64-битных процессов v8.3 Application Cleverence», то в данной статье вы найдете решение этой проблемы. Эта ошибка возникает, когда при попытке запустить приложение Cleverence 1С-сервера, оно не может найти зарегистрированный коннектор для 64-битных процессов.
Для решения этой проблемы вам понадобится выполнить следующие шаги:
- Убедитесь, что у вас установлена версия 1C:Enterprise 8.3 с поддержкой 64-битных процессов.
- Установите последнюю версию Cleverence 1С-сервера.
- Проверьте наличие необходимых файлов коннектора в каталоге установки Cleverence 1С-сервера. Если коннектор отсутствует, то скорее всего он не был установлен корректно.
- Зарегистрируйте коннектор 1С для 64-битных процессов командой
regsvr32 ConnectorName.dll
, где «ConnectorName» — имя файла коннектора. - Перезапустите 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, чтобы получить дополнительную помощь и инструкции по устранению ошибки.
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»;
ПодключитьВнешнююКомпоненту(ПрогИД);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
В итоге вижу ошибку — Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту): Ошибка при подключении внешней компоненты
Что же я делаю неправильно?
Заранее спасибо.
Галахад
26.07.13
✎
17:16
Может регистрировать надо?
Nervosa
26.07.13
✎
17:24
И зарегить не даёт — говорит, что модуль Cleverence.Warehouse.TerminalConnector.dll загружен, но точка входа DllRegisterServer не найдена.
Grobik
26.07.13
✎
17:26
Наверно нет прав на соответствующую ветку регистра винды.
Nervosa
26.07.13
✎
17:32
Сделал себя админом — та же картина.
Grobik
26.07.13
✎
17:40
Для начала винда?
Nervosa
26.07.13
✎
17:43
7-ка.
Nervosa
29.07.13
✎
09:13
И снова здравствуйте! Может на выходных кто-то занимался ТСД Motorola MC2100?
wowik
29.07.13
✎
09:31
что разрабатываете, велосипед? с драйвером уже идут все необходимы обработки.
wowik
29.07.13
✎
09:34
в папке драйвера «Control Panel» есть файл «Зарегистрировать COM.bat».
Nervosa
29.07.13
✎
09:35
(8) — тут абсолютно полностью самописная конфигурация, поэтому стандартными обработками воспользоваться, увы, не удастся.
wowik
29.07.13
✎
09:39
(10) тогда смотрим содержимое файла (9), запускаем регистрацию от имени администратора. Если не получилось, к администраторам, пусть разбираются с правами.
Nervosa
29.07.13
✎
09:44
Ничего не помогло, к сожалению. По прежнему — Ошибка при подключении внешней компоненты. С правами всё в порядке на 100%.
wowik
29.07.13
✎
09:48
напишите на суппорт support@cleverence.ru. Возможно, помогут. По крайней мере, попытаются.
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, чего делать не стоило.
В общем респект ребятам, они действительно помогли
0xFFFFFF
31.07.13
✎
09:23
(0) «. Хочу написать обработку для выгрузки/загрузки данных из/в него»
И зачем вам такой геморрой… RDP и обработка в режиме рабочего стола снимает все вопросы.
wowik
31.07.13
✎
09:54
wowik
31.07.13
✎
09:55
(16) в комментариях обсуждение
Nervosa
31.07.13
✎
10:11
(15) конфигурация 1С полностью самописная, обработка работает с остатками.