SpRecord и 1с
SpRecord и 1с
А нет ли примеров интеграции SpRecord с 1с ?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
К сожалению, нет.
Re: SpRecord и 1с
Ну тогда буду сам разбираться, и так
создать COM объект
КомСервер = Новый COMОбъект("spsdksvr.SpRecordChannelClient","server");
создать COM объект
КомСервер = Новый COMОбъект("spsdksvr.SpRecordChannelClient","server");
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Если у вас все получится, то будем рады, если пришлете нам пример.
Re: SpRecord и 1с
SPRecordChannel = Новый COMОбъект("spsdksvr.SpRecordChannelClient","192.168.0.110");
SPRecordChannel.Connect("T4003426 - 2", 2, "", "");
// подключение успешно
SPRecord = Новый COMОбъект("spsdksvr.SpRecordClient","192.168.0.110");
SPRecord.Connect(0, "", "");
SPRecord.GetChannelNames(2, Имена); - а вот здесь с получением имен каналов проблема, не записывает в строковую переменную нчиего
SPRecordChannel.Connect("T4003426 - 2", 2, "", "");
// подключение успешно
SPRecord = Новый COMОбъект("spsdksvr.SpRecordClient","192.168.0.110");
SPRecord.Connect(0, "", "");
SPRecord.GetChannelNames(2, Имена); - а вот здесь с получением имен каналов проблема, не записывает в строковую переменную нчиего
Re: SpRecord и 1с
Сделал простую обработку для 8.2, которая поднимает трубку на линии и на бирает номер, если интересует, прикрепил файл обработки.
- Вложения
-
- ЗвонкиSPRecord.zip
- (4.3 КБ) 1526 скачиваний
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Погуглите в яндексе эту тему: 1С и строковые переменные для СОМ-объектовSPRecord.GetChannelNames(2, Имена); - а вот здесь с получением имен каналов проблема, не записывает в строковую переменную нчиего
Re: SpRecord и 1с
SPRecordChannel.GetFileName (ПутьКФайлу); - вызов данной процедуры работает, значение записывается в переменную
Re: SpRecord и 1с
Здравствуйте!
Не получается сделать коннект
SpRecordClient = Новый COMОбъект("spsdksvr.SpRecordClient"); //успешно
Результат = SpRecordClient.Connect(0, "", ""); //здесь вываливается ошибка:
Ошибка при вызове метода контекста (Connect): Плохой тип переменной - Что значит плохой тип?
Не получается сделать коннект
SpRecordClient = Новый COMОбъект("spsdksvr.SpRecordClient"); //успешно
Результат = SpRecordClient.Connect(0, "", ""); //здесь вываливается ошибка:
Ошибка при вызове метода контекста (Connect): Плохой тип переменной - Что значит плохой тип?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Вот бы знать, что это значит. Мы сами не пробовали нашу SDK в 1С.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Спросите совета у пользователя vital1c через его e-mail. Может он поможет?
Re: SpRecord и 1с
Скажите, вот в справке есть настройка DCOM для подключения к библиотеке SpRecord под Windows XP SP2 и Windows Vista. А как быть для Windows Server 2003?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Попробуйте как для XP.
Re: SpRecord и 1с
Все методы возвращают результат выполнения метода. Но в 1с нет такого типа данных, в котором это результат получается, из-за чего возникает ошибка "Плохой тип данных".
Возможно ли в сдк как-то возвращаемый тип данных сделать в виде строки например?
Возможно ли в сдк как-то возвращаемый тип данных сделать в виде строки например?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Методы возвращают целое знаковое 4х-байтное число. Такого типа нет в 1С???
Re: SpRecord и 1с
Дело в том что числа 1с хранит в скл в виде numeric (переменный, числа с точностью, указываемой пользователем, точное число)
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
Пусть так. Думаю, что преобразование этих типов не должно быть проблемным.
Re: SpRecord и 1с
Теперь я внесу свою лепту!
Задача: Получать из SpRecord номер телефона из АОН, в SDK нашел Метод GetInfo интерфейса ISpRecordChannelClientW.
Все выполняется на компьютере на котором стоит сам SpRecord.
Код из 1С (m106- название канала):
Перем а;
SPRecordChannel = Новый COMОбъект("spsdksvr.SpRecordChannelClient","localhost");
SPRecordChannel.Connect("m106", 2, "", "");
SPRecordChannel.GetInfo(8,а);
SPRecordChannel.Disconnect();
Пишет что "Метод объекта не обнаружен (GetInfo)"
Подумал может это что-то с 1С не так пришлось вспомнить DELPHI, за правильность не ручаюсь.
КОД:
procedure TForm1.btn1Click(Sender: TObject);
var
namebase2:string;
SpRecord:Variant;
begin
SpRecord := CreateOLEObject('spsdksvr.SpRecordChannelClient');
SpRecord.Connect('m106', 2, '', '');
SpRecord.GetInfo(8,namebase2);
lbl1.Caption = namebase2;
end;
end.
Возвращает:
Method 'GetInfo' not supported by automation object. Что как я понял то-же самое что возвращает 1С.
Подскажите что я делаю не так?
Задача: Получать из SpRecord номер телефона из АОН, в SDK нашел Метод GetInfo интерфейса ISpRecordChannelClientW.
Все выполняется на компьютере на котором стоит сам SpRecord.
Код из 1С (m106- название канала):
Перем а;
SPRecordChannel = Новый COMОбъект("spsdksvr.SpRecordChannelClient","localhost");
SPRecordChannel.Connect("m106", 2, "", "");
SPRecordChannel.GetInfo(8,а);
SPRecordChannel.Disconnect();
Пишет что "Метод объекта не обнаружен (GetInfo)"
Подумал может это что-то с 1С не так пришлось вспомнить DELPHI, за правильность не ручаюсь.
КОД:
procedure TForm1.btn1Click(Sender: TObject);
var
namebase2:string;
SpRecord:Variant;
begin
SpRecord := CreateOLEObject('spsdksvr.SpRecordChannelClient');
SpRecord.Connect('m106', 2, '', '');
SpRecord.GetInfo(8,namebase2);
lbl1.Caption = namebase2;
end;
end.
Возвращает:
Method 'GetInfo' not supported by automation object. Что как я понял то-же самое что возвращает 1С.
Подскажите что я делаю не так?
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: SpRecord и 1с
На делфи будет код такой:
procedure TForm1.Button1Click(Sender: TObject);
var
namebase2: OleVariant;
SpRecord: Variant;
begin
SpRecord := CreateOLEObject('spsdksw.SpRecordChannelClientW');
SpRecord.Connect('T4002061 - 4', 1, '', '');
SpRecord.GetInfo(SPR_CHANNEL_INFO_PHONEFROM, namebase2);
lbl1.Caption := VarAsType(namebase2, varOleStr);
SpRecord.Disconnect;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
namebase2: OleVariant;
SpRecord: Variant;
begin
SpRecord := CreateOLEObject('spsdksw.SpRecordChannelClientW');
SpRecord.Connect('T4002061 - 4', 1, '', '');
SpRecord.GetInfo(SPR_CHANNEL_INFO_PHONEFROM, namebase2);
lbl1.Caption := VarAsType(namebase2, varOleStr);
SpRecord.Disconnect;
end;