Имя: Пароль:
1C
1С v8
Подключение внешней компоненты в тонком клиенте
0 Alamo-10
 
06.11.15
17:19
Всем доброго дня!

Необходима помощь с подключением внешней компоненты к Рознице 2.1. Предыстория такова: есть необходимость подключения интегрированных эквайринговых терминалов от Сбербанка. После долгих проб и ошибок добился того, чтобы терминал заработал в связке с 1с (потребовалась компонента sbrfcom3.dll), однако ребята из Сбера утверждают, что их терминалы (VeriFone VX810), изначально заточены на работу только с одним отделом (отдел = ИП), а у нас этих ИП аж целых 5. Как они утверждают, чтобы работало с пятью ИП, необходимо создать пять папочек и в них поместить соответствующие файлики, и в каждой папочке разместить этот самый sbrfcom3.dll, и далее программно обрабатывать пробитие чека и вызывать подключение внешней компоненты из соответствующей папки.

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

НовыйАдрес = "";
ПоместитьФайл(НовыйАдрес , "C:\Program Files (x86)\1cv8\8.3.6.2363\bin\МСВ\sbrfcom3.zip", , Ложь);
                                                
УстановитьВнешнююКомпоненту(НовыйАдрес);
ПодключитьВнешнююКомпоненту(НовыйАдрес, "СБРФ_МСВ");
ОбъектДрайвера = Новый("AddIn.SBRFCOMExtension");


Вываливается ошибка при попытке установить внешнюю компоненту.
"Установка внешней компоненты не выполнена. В процессе установки произошла ошибка!Возможно, отсутствует компонента для используемого клиентского приложения"

Как я понимаю, в тонком клиенте, без предварительной установки компоненты она не подключается. Но как ее установить - не понимаю. Помогите, люди добрые!)
1 Casey1984
 
06.11.15
17:22
НовыйАдрес = "";
ПоместитьФайл(НовыйАдрес , "C:\Program Files (x86)\1cv8\8.3.6.2363\bin\МСВ\sbrfcom3.zip", , Ложь);

это как?
2 Alamo-10
 
06.11.15
17:34
(1) Ну в НовыйАдрес записывается адрес во временном хранилище, по которому размещается файл
3 Casey1984
 
06.11.15
17:37
(2) я бы присмотрелся повнимательней
4 Alamo-10
 
06.11.15
17:41
(3) присмотрелся отладчиком уже. Что именно не так?
Если смущает

НовыйАдрес = "";

то

<Адрес> (необязательный)

Тип: Строка.
Адрес во временном хранилище, по которому должны быть помещены данные. Если значение параметра не задано или является пустой строкой, то будет создан новый файл. Расположение нового файла возвращается в данном параметре.
5 hhhh
 
06.11.15
18:06
(4) товарища смущает zip похоже
6 Alamo-10
 
06.11.15
18:08
(5) Я пробовал и zip, и просто dll, ни один из вариантов не прокатил. Zip сделал из-за этого:

Синтаксис:

УстановитьВнешнююКомпоненту(<Местоположение>)
Примечание:

Метод работает только с компонентами, хранящимися в архиве.
7 hhhh
 
06.11.15
19:44
(6) а это дерьмо зачем здесь?

ПоместитьФайл(

просто имя файла написать в УстановитьКомпоненту скукотища чтоли? Надо что-нибудь обязательно через задний проход?
8 Alamo-10
 
10.11.15
09:23
За этим

Синтаксис:

УстановитьВнешнююКомпоненту(<Местоположение>)
Параметры:

<Местоположение> (обязательный)

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


И да, указывать имя файла в УстановитьВнешнююКомпоненту я тоже пробовал, несмотря на то, что такая конструкция по синтакс-помощнику не предусмотрена. Так что, вряд ли, причина именно в этом.

Есть еще варианты?
9 H A D G E H O G s
 
10.11.15
09:25
Что написано в Манифесте?
10 НЕА123
 
10.11.15
09:30
мужик в кепке -
......
Примечание:

Метод работает только с компонентами, хранящимися в архиве.
Если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать, следует использовать метод НачатьУстановкуВнешнейКомпоненты.
11 Alamo-10
 
10.11.15
11:52
(10) У меня РежимИспользованияМодальности = Использовать
(9) Ничего не написано. В архиве только dll лежит. Можно пример его написания?
Закон Брукера: Даже маленькая практика стоит большой теории.