Не подключается внешняя компонента NativeApi

1. El_Ninio 17.03.25 07:29 Сейчас в теме
Разработал маленькую внешнюю компоненту, тестировал у себя, домашнем компе все работает, подключается, а на клиенте на сервере не хочет. Пробовал подключение через через прописанием пути до длл или встроить в макет. Одна и таже ошибка, не соединения. В чем может быть причина?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1936660 17.03.25 08:59 Сейчас в теме
(1)
В чем
на клиенте на сервере линукс не той разрядности
3. El_Ninio 17.03.25 09:01 Сейчас в теме
(2) Разрядность у меня и клиентов x64. Проверил на разных клиентах удаленно, везде не работает.
12. starik-2005 3171 17.03.25 11:39 Сейчас в теме
(1)
тестировал у себя, домашнем компе все работает, подключается, а на клиенте на сервере не хочет
Вот тема домашнего компа не раскрыта от слова совсем. Что за ОСь, что за либы в ней стоят, что за компонента вообще, какие либы она юзает (например, опенссл, который на "сервере" не стоит).
4. El_Ninio 17.03.25 09:12 Сейчас в теме
ПодключитьВнешнююКомпоненту("C:\1С\AddInNative.dll", "CAddInNative", ТипВнешнейКомпоненты.Native);

Тут возвращает ложь
5. user1936660 17.03.25 09:21 Сейчас в теме
(4) А сервер знает что-нибудь про твой каталог "C:\1С"?
6. El_Ninio 17.03.25 09:34 Сейчас в теме
(5) Физическом сервере по этому пути ложу же файл. Процедуре нажатии на клиенте пытаюсь подключить его.
7. user1936660 17.03.25 09:45 Сейчас в теме
(6)
сервере по этому пути ложу
нажатии на клиенте
Где выполняется код подключения и есть ли у пользователя ОС процесса, под которым выполняется подключение, права на файл?
8. El_Ninio 17.03.25 09:50 Сейчас в теме
(7) Файл лежит на сервере в папке С. Запускаю на сервере тонкого клиента. Код подключения выполняется на клиенте. Системе захожу Администратором.
9. user1936660 17.03.25 10:09 Сейчас в теме
(8)
Администратором
Администратором чего? Я про пользователя ОС, из под которого выполняется процесс, спрашивал. И про его права на чтение файлов.

Или у тебя база файловая?
10. El_Ninio 17.03.25 10:20 Сейчас в теме
(9) ОС Админом захожу. Полный доступ к папке и файле
11. user1936660 17.03.25 10:22 Сейчас в теме
(10)
ОС Админом захож
А ты - сервер?
13. El_Ninio 17.03.25 11:43 Сейчас в теме
14. El_Ninio 17.03.25 12:01 Сейчас в теме
Собрал компоненту на 32 бита и получилось. Хотя сервер 1с на 64 бита, пытался с клиента 1с на 32 и 64 бита пробовать не получалось, собрал на 32 бита компоненту и заработала.
15. starik-2005 3171 17.03.25 14:11 Сейчас в теме
(14) Значит платформа у тебя запускалась 32 бита. На 64-битной платформе не подоткнутся. Захочешь проверить - проверяй, какая платформа реально запущена (есть "32" в таскманагере или нет).
16. El_Ninio 18.03.25 11:21 Сейчас в теме
Возможно ли вернуть строковой массив внешней компоненте? или структуру итд. Не через параметры.
17. El_Ninio 20.03.25 05:59 Сейчас в теме
(15) Почему только на стороне клиента работает?, если я процедуру подключитьвнешнююкомпоненту делаю &НаСервере тогда не работает, хотя dll физически лежит на серверной машине, и там запускаю 1с клиента, тонкого, толстого не работает, разные версии dll пробовал 32 и 64, и разные 1с клиенты. А на другом тестовом сервере windows server 2019 все работает, на разных версия клиента 1С 32 и 64. И подключитьвнешнююкомпоненту &НаСервере тоже работает. ЗКБ уже это дллка, версии серверов тестовом и на рабочем разные, тестовом 8.3.26 а на рабочем 8.3.25
18. starik-2005 3171 20.03.25 10:34 Сейчас в теме
(16) (17)
1. Строковой массив куда? Всегда можно вернуть строку в JSON или даже внутренней строке, дальше изстрокивнутр() -> 1С.
2. Компонента работает с учетом разрядности платформы. Клиент и сервер могут быть разной разрядности. Полоумные программисты могут запустить клиент стартером и не могут посмотреть, что у них там в таскменеджере реально запустилось - это печалит.
3. Если хочется снять оковы зависимости от разрядности, то нужно откомпилировать для всех разрядностей и платформ, засунуть в зип вместе с файлом манифеста и покласть его в общий макет, после чего уже этот общий макет с зипом, внутри которого для всех платформ и разрядностей с указанием этого в манифесте, и подтыкать.
19. El_Ninio 21.03.25 08:33 Сейчас в теме
(18) 1. С компоненты имею ввиду. Сейчас возвращаю так строка1;строка2;строка3;строка4; и потом на стороне 1С получаю массив через процедуру общегоназначения. А хотелось бы сразу массив вернуть.
2. Да, вы правы по поводу клиента.
3. Я так и делал, 2 компоненты собрал и запихнул в зип, далее в расширении создал общий макет и туда залил. Потом внешней обработка подключаю &НаКлиенте через процедуры установитьКомпоненту и подключить. Эта компонента получает информацию сервера windows server 2019, именно сервера. Поэтому длл там должна быть. Проверяю тестовом сервере все работает, с виртуальной машины, которая клиент, подключаюсь к тестовому серверу через разные клиенты 1С (86, 64) и все что нужно получаю.
А на боевом сервере из этих данных только первая строка приходит, тк видимо подключена компонента клиенту, и берет данные компа клиента. Ну я так понимаю. Если сделать подключить вн компоненту на сервере, то вообще не подключается. И тут я застрял крче.
20. starik-2005 3171 21.03.25 10:26 Сейчас в теме
(19) Очередной пример того, что тестовая среда должна соответствовать рабочей.
El_Ninio; +1 Ответить
21. El_Ninio 03.04.25 04:46 Сейчас в теме
Возвращаюсь к этой теме. Тестовый стенд как у рабочего. windows server 2019, версия сервера 1с одинаковые.
Но процедура подключитьвнешнююкомпоненту на &НаСервере возвращает ложь, в тестовом стенде возвращает истину. Рабочей только наклиенте возвращает истину и данные, но только часть, тк не на сервере выполняется. Что еще можно проверить?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот