Имя: Пароль:
1C
 
Внешняя компонента для работы с веб камерой
0 Varlant2n
 
naïve
12.03.24
17:33
Есть внешняя компонента для работы с веб камерой. У меня на компьютере все работает прекрасно. Но вот сейчас хочу использовать данную компоненту в клиент-серверном варианте. Закинул компоненту как двоичные данные в общий макет, как и у себя. Пользователь подключается со своего компа к 1С на сервере. Компоненту установить получается, но подключение выдает Ложь. Хотя я ничего не менял в коде и все работала прекрсано у меня на компьютере. Разрядность и тд., то же самое. Единственное, что поменялось, это то, что 1С перенесли на сервер.
1 Garykom
 
гуру
12.03.24
17:36
Ты же опытный программист 1С и конечно же знаешь про
СисИнфо = Новый СистемнаяИнформация;
И выполняешь ее дважды и &НаКлиенте и &НаСервере
Там смотришь ТипПлатформы и знаешь отличия
Linux_x86
Linux_x86_64
Windows_x86
Windows_x86_64
MacOS_x86
MacOS_x86_64
2 Varlant2n
 
naïve
12.03.24
17:47
(1) Нет, не знаю. Никогда не использовал "Новый СистемнаяИнформация". Просто использую "Установить" и "Подключить", как и делал у себя на компе. Теперь перенесли 1С на win-сервер. Компонента у пользователя устанавливается, но подключение возвращает ложь и следовательно методы компоненты не доступны.
3 Varlant2n
 
naïve
12.03.24
17:50
Вот так использую

    УстановитьВнешнююКомпоненту("ОбщийМакет.ВебКамера");
    Если ПодключитьВнешнююКомпоненту("ОбщийМакет.ВебКамера", "КомпонентаВебКамера", ТипВнешнейКомпоненты.Native) Тогда
        Компонента = Новый("AddIn.КомпонентаВебКамера.ExecExtention");        
    КонецЕсли;

Уведмоление говорит об успешной загрузки компоненты, но "ПодключитьВнешнююКомпоненту" возвращает "Ложь".
4 Смотрящий
 
12.03.24
17:56
(3) регать ее на сервере кто будет ?
5 Varlant2n
 
naïve
12.03.24
18:00
ПодключитьВнешнююКомпоненту

Доставляет объект внешнего компонента с сервера на клиент, после чего он становится доступен для метода ПодключитьВнешнююКомпоненту.

Из синтаксис помощника, но при этом так не работает. Компонента рабочая, код тот же, но сервер-клиент вариант перестал работать. КТо-то сталкивался с такой проблемой?
6 Varlant2n
 
naïve
12.03.24
18:01
(4) Регать двоичные данные? У меня макет типа двоичных данных, и есть файл из https://infostart.ru/1c/tools/181597/
7 Varlant2n
 
naïve
12.03.24
18:12
Мне реально интереснее всего тот момент, что компонента устанавливается, но при этом подключиться к ней, чтобы использовать методы невозможно..
8 Garykom
 
гуру
12.03.24
18:30
Вариант синтаксиса: По имени и местоположению
Синтаксис:
ПодключитьВнешнююКомпоненту(<Местоположение>, <Имя>, <Тип>, <ТипПодключения>)
Параметры:
<Местоположение> (обязательный)
Тип: Строка.
Местоположение внешнего компонента.
В качестве местоположения может использоваться:
путь к файлу внешнего компонента в файловой системе (недоступно на веб-клиенте), не ZIP-архив;
полное имя макета, хранящего двоичные данные или ZIP-архив;
URL к внешнему компоненту, в виде двоичных данных или ZIP-архива, в формате, аналогичном ПолучитьНавигационнуюСсылку.
<Имя> (обязательный)
Тип: Строка.
Символическое имя подключаемой внешнего компонента.
Имя должно удовлетворять правилам именования встроенного языка.
<Тип> (необязательный)
Тип: ТипВнешнейКомпоненты.
Тип подключаемого внешнего компонента.
Не используется, если компонент упакован в ZIP-архив.
<ТипПодключения> (необязательный)
Тип: ТипПодключенияВнешнейКомпоненты.
Тип подключения внешней компоненты.

В режиме совместимости конфигурации Версия8_3_20 и ниже, используется значение НеИзолированно.
В остальных случаях, на сервере используется Изолированно, а на клиенте - НеИзолированно.
Описание варианта метода:
Подключает компоненты, выполненные по технологии Native API и COM.
Компонент может храниться в информационной базе или макете конфигурации в виде двоичных данных или в ZIP-архиве.
Для режимов запуска "Тонкий клиент" и "Веб-клиент", компонент должен быть предварительно установлен методом УстановитьВнешнююКомпоненту.
9 Garykom
 
гуру
12.03.24
18:30
ТипПодключения!
режиме совместимости!
на сервере используется Изолированно, а на клиенте - НеИзолированно!
10 Garykom
 
гуру
12.03.24
18:31
Но думаю ВК все же нужна на &НаКлиенте
Ибо веб-камера на сервере 1С как то странно
11 Garykom
 
гуру
12.03.24
18:33
(3)
Вот так использую

    УстановитьВнешнююКомпоненту("ОбщийМакет.ВебКамера");
    Если ПодключитьВнешнююКомпоненту("ОбщийМакет.ВебКамера", "КомпонентаВебКамера", ТипВнешнейКомпоненты.Native) Тогда
        Компонента = Новый("AddIn.КомпонентаВебКамера.ExecExtention");        
    КонецЕсли;

используешь где? где этот код?
&НаКлиенте или &НаСервере ?
12 Varlant2n
 
naïve
12.03.24
18:33
(11) на клиенте
13 Varlant2n
 
naïve
12.03.24
18:37
(10) Проблема в том, что вк будут пользоваться сразу несколько пользователей. поэтому я вставил ее в общий макет. И хочу подключаться так.
14 arsik
 
гуру
12.03.24
18:47
Скорее всего зависимости какие то.
15 Varlant2n
 
naïve
12.03.24
18:51
(14) перекопал весь интернет, никаких подобных ситуаций даже нет. У самого тоже все отлично работало. Такая же вк стоит и на другом сервере. Но там подобных проблем не наблюдается. Спросил айтишника, может он как-то где-то регал данную вк, но нет, он такого не помнит. Да и в принципе как регать двоичные данные. Поэтому вообще какой-то шок, а не задача.
16 Varlant2n
 
naïve
12.03.24
18:53
(15) И на другом сервере точно такой же код установки и подключения. Все скопировал, все один в один. Никаких лишних настроек сервера не было, но при этом вк все равно не подключается...
17 Garykom
 
гуру
12.03.24
19:14
ЗащитаОтОпасныхДействий ругается?
18 Varlant2n
 
naïve
12.03.24
19:16
(17) Нет, никаких ошибок не выдает, просто не входит в условие, потому что ВК установлена, но при этом не подключается...
19 Varlant2n
 
naïve
12.03.24
19:17
(17) Я пробовал отключать, но все равно. И момент еще есть, пробовал прописать путь просто к файлу на компе клиента, но так даже установка не идет. ошибку выдает, что компонента не найдена.
20 Garykom
 
гуру
12.03.24
19:19
(19) имхо что то делаешь неправильно, причем глупое
21 Varlant2n
 
naïve
12.03.24
19:20
(20) А всегда так и бывает, но запрос на форум уже момент отчакяния, потому что 3 дня уже вожусь с этим, никаких продвижений, попробовал все стандартные методы установки и подключения, просто ноль...
22 Волшебник
 
12.03.24
19:32
(21) Спокойнее. Не надо резких высказываний.
23 Varlant2n
 
naïve
12.03.24
19:33
(22) Они направлены только на мою глупость)
24 Varlant2n
 
naïve
12.03.24
19:35
(23) Еще интересный момент для обсуждения
Закинул ВК на диск C и на сервере (на всякий случай) и на клиенте и прописал

УстановитьВнешнююКомпоненту("C:\ВебКамера");

Теперь вообще даже установки нет. Пишет, что компнента не найдена...
25 Волшебник
 
12.03.24
19:41
(24) Ну значит не найдена
26 arsik
 
гуру
12.03.24
20:48
Ну выложи компоненту, посмотрю зависимости.
27 Волшебник
 
12.03.24
21:43
(26) А Вас не смутил путь к компоненте?
28 Garykom
 
гуру
12.03.24
21:57
(27) "C:\ВебКамера.zip" был бы лучше?
29 Волшебник
 
12.03.24
22:09
(28) нет, не лучше.
30 arsik
 
гуру
13.03.24
07:55
Обычно ошибки таких компонент в отсутствии обвязки типа дотнета нужной версии или визуал си.
31 Pprog151713
 
13.03.24
08:14
Нафиг тебе внешняя компанента. Купи IP камеру и выдай айпишник клиенту.
32 MaximSh
 
13.03.24
10:52
(0) битность клиента 1С учитываешь?
33 olegves
 
13.03.24
11:05
а что с правами юзверя, под которым работает сервер 1С? Есть у него доступы к файловой системе сервака?
34 АгентБезопасной Нацио
 
13.03.24
11:43
Такое происходит на любых компьютерах пользователей, или только на каком-то одном?
Версии винды, разрядность, разрядность платформы, права пользователя (винды/1с)?
Давай компоненту, попробуем воспроизвести...
35 Сергиус
 
13.03.24
11:49
(0)[Закинул компоненту как двоичные данные в общий макет, как и у себя. Пользователь подключается со своего компа к 1С на сервере. Компоненту установить получается, но подключение выдает Ложь]
А в чем прикол подключать её на сервере? Камера же по-любому на клиентском компе.
36 Волшебник
 
13.03.24
11:50
(24) Есть 3 варианта:

1) из макета (ZIP-архив)
УстановитьВнешнююКомпоненту("Обработка.Компонента.Макет.AddIn");
ПодключитьВнешнююКомпоненту("Обработка.Компонента.Макет.AddIn", "ПроизвольноеИмя");


2) из файла на диске:
СисИнфо = Новый СистемнаяИнформация;
Если СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда
   ПодключитьВнешнююКомпоненту("C:\AddInCPP.dll", "ПроизвольноеИмя", ТипВнешнейКомпоненты.Native);


3) из БД
Ссылка = ПолучитьНавигационнуюСсылку("Справочники.ВнешниеКомпоненты.НашаКомпонента", "КомпонентаВАрхиве");
УстановитьВнешнююКомпоненту(Ссылка);
ПодключитьВнешнююКомпоненту(Ссылка, "ПроизвольноеИмя");


https://its.1c.ru/db/intgr83#content:165:hdoc


Так что это Ваше является бредом сивой кобылы:
УстановитьВнешнююКомпоненту("C:\ВебКамера");
37 lodger
 
13.03.24
17:25
(10) вебкамшот из серверной - чтобы смотреть не опухла или как.
38 PLUT
 
13.03.24
18:22
(0) давным давно как-то подключал нативную dll

ну так вот. на клиенте всё ок, а на сервере не ок - платформа походу тупо игнорит и не выдает ошибок (в отладчике без ошибки типа инициализируется создание, а вот с подключением - болт)

это как в жЫрном толстом клеенте пишешь УстановитьПривелегированныйРежим(Истина) - платформа ошибку не выдает, но и привелегированный режим не устанавливается :)
39 PLUT
 
13.03.24
18:35
(38) из справки по ПодключитьВнешнююКомпоненту

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

Сервер может работать со всеми компонентами. Компонент кэшируется на сеанс работы сервера.


но так и не работала в итоге у меня. но она на клиенте имела смысл