Имя: Пароль:
1C
 
Взаимодействие с COM объектом
0 1C_Patriot
 
15.01.20
13:17
Доброго времени.

Есть вот такой метод.
HRESULT Open([in] SAFEARRAY(VARIANT) args, [out] BSTR *DeviceID, [out, retval] boolean *res);

Описание параметра args

ValuesArray    In    Массив значений для настройки подключения:
0 - kkmid (положительное число))
1 - значение типа налога (одно из значения перечисления TaxType (положительное число)
2 - значение режима налогообложения (одно из значение перечисления TaxationType (положительное число)
3 - Имя оператора (строка)
4 - Код оператора (положительное число)
5 - Хост на котором работает касса (по умолчанию localhost или 127.0.0.1) (строка)
6 - Не печатать документ чека (логическое значение)
7 - Не печатать документы внесения/изъятия (логическое значение)

В 1с, оформил следующим виде
        ПараметрыПодключения = Новый COMSafeArray("VT_BSTR", 8);
        ПараметрыПодключения.SetValue(0, "4454");
        ПараметрыПодключения.SetValue(1, "100");
        ПараметрыПодключения.SetValue(2, "101");
        ПараметрыПодключения.SetValue(3, "Оператор");
        ПараметрыПодключения.SetValue(4, "1");
        ПараметрыПодключения.SetValue(5, "127.0.0.1");
        ПараметрыПодключения.SetValue(6, "0");
        ПараметрыПодключения.SetValue(7, "0");
        
        ИдентификаторУстройства = "";
        
        Соединение = ВК.Подключить(ПараметрыПодключения, ИдентификаторУстройства);


В результате получаю следующую ошибку
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(199)}: Ошибка при вызове метода контекста (Подключить): Типы не совпадают (1)

Подскажите что не так я делаю?
1 Lokli
 
15.01.20
15:47
У тебя в описании параметров (0,1,2) написано: "положительное число". А ты передаешь строчку. О чем тебе в тексте ошибки и сообщается.
2 H A D G E H O G s
 
15.01.20
15:58
ПараметрыПодключения = Новый COMSafeArray("VT_BSTR", 8);
замени на
ПараметрыПодключения = Новый COMSafeArray("VT_VARIANT", 8);
3 1C_Patriot
 
16.01.20
05:32
(1) хотя я и так тоже пробывал но надо было еще использовать это (2)
(2) Хотя я руководствовался этим https://its.1c.ru/db/metod8dev#content:2262:hdoc а самовольно подставить VT_VARIANT чет не попробовал хотя и думал о таком типе.

Вопрос решился, спасибо господа.