SpRecord и 1с

Интеграция возможностей SpRecord в ваши приложения
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

А есть среди методов интерфейса - определение входящего номера, до принятия звонка.
Чтобы номер определялся до поднятия трубки, также как это организованно в мобильных телефонах?
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

АОН - это сигнал, подаваемый оператором связи (городская АСТ и т.п.). Соответственно сам спрекорд не может управлять АОНом. Момент появления сигнала зависит от типа АОНа (см. здесь). Если АОН появился на линии, то спрекорд пошлет через SDK сообщение SPR_MSG_C_ANI_DETECT. Ловите это сообщение и узнаете входящий номер.
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

Простотите за тупой вопрос, но как отследить сообщение??
Если я делаю так
A = PeekMessage(Msg)
И потом вывожу в виде сообщения "A", то у меня выводится такой набор цифр "-2 147 216 889"
тип значения "число". Но по идее должно быть "SPR_S_OK" или подобное.
Такое чувство что 1С не понимает то что понимает Delphi
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

Вы можете файлом выложить сообщение, в котором определяется номер входящего?
Я просто вообще не понимаю структуру этих сообщений и из каких данных и типов данных они состоят
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

Структура сообщений описана в Справке SDK и файлах SpRecordLibTypesW.h и SpRecordLibTypesW.pas для C и Delphi соотв-но. Пример получения сообщений также есть в папке Examples. Рекомендую также прочитать весь этот топик.
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

Здравствуйте.
Не подскажете возможные причины не срабатывания этого кода:
SPRecordChannel = Новый COMОбъект("spsdksw.SpRecordChannelClientW","10.10.1.20");

Это на встроенном языке 1С думаю понятно что он делает(просто создает COM-объект, который цепляется к серверу 10.10.1.20)

Скажите какие порты должны быть открыты на сервере к которому я цепляюсь?
просто я работаю на 2 офиса и строчка
SPRecordChannel = Новый COMОбъект("spsdksw.SpRecordChannelClientW","10.10.2.202");
срабатывает корректно в другом офисе

Делаю я это с одного и того же ПК. Следовательно проблема в доступе к серверу?
Если да то скажите какие порты или что там нужно открывать? антивирусы одинаковые NOD32
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

Сначала попробуйте подключиться к серверу через SpRecord (красный ярлык). Если не получается подключиться, то ищите на форуме по фразе "удаленный доступ".
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

Да сделал по инструкции и заработало(основная ошибка была что я из левого пользователя выполнял обработку, не из под доменного тоесть)

Вот обработка для 1С и SpRecord
Но она написана для 1с:Альфа-Авто 5 - SpRecord 3.97.7
Но по сути переделать под другую конфигурацию можно, и легко.
Код внутри обработки максимально прокомментирован
Информация о ней и ее использовании находится во внутренней справке.
по вопросам обращайтесь по адресу usoltsev05@mail.ru
Вложения
SpRecord.zip
(17.86 КБ) 1732 скачивания
Andre
Сообщения: 3
Зарегистрирован: 24 окт 2013, 10:30

Re: SpRecord и 1с

Сообщение Andre »

Спасибо за обработку много чему помогла но вот в чем проблема.
Не срабатывает строка

SPRecordChannel.Connect(Линия, 3, "", "");

Где линия номер нашей линии в формате T4002845 - 1
Просто не чего не происходит и параметр SPRecordChannel.Connected имеет значение ЛОЖЬ
хотя строка

SPRecordChannel = Новый COMОбъект("spsdksw.SpRecordChannelClientW","192.168.3.1");

Срабатывает на отлично без ошибок

Делаю с компьютера в доменной сети под XP где установлен SpRerord и на сервере 192.168.3.1 установлен SpRerord вот как раз к ниму и подключено все и АТС и SpRerord данный компьютер не является контроллером домена и имеет ОС Windows Server 2003

Подскажите почему в строке
SPRecordChannel.Connect(Линия, 3, "", "");
не происходит коннект?
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

Я не понял, коннект не происходит при удаленном подключении к SpRecord или на том же компе, где SpRecord?
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

Вот самая новая обработка(и наверное последняя).
SPRecordChannel.Connect(Линия, 3, "", ""); - замените цифру 3 на 2 или 1
У меня в одном офисе работает(более новая SpRecord) с цифрой 2, в другом с цифрой 1.
С Цифрой "3" у меня не срабатывало ни где.
Работает одна конкретная цифра только.
Вложения
SpRecord_BMW_универсальный поиск_номера.zip
(19.44 КБ) 1187 скачиваний
Andre
Сообщения: 3
Зарегистрирован: 24 окт 2013, 10:30

Re: SpRecord и 1с

Сообщение Andre »

2 sannx
SpRecord установлен как на моем компе так и на сервере. Но подключаюсь я к сервер. Если же не установлено у меня SpRecord то выдает ошибку что такой класс не найден. Я так понял берется класс с моему компьютера и подключается к серверу?

Пробовал со всеми цифрами и 1 и 2 и 3 и даже 7 все равно не работает
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

Согласно SDK флаги SPR_CHANNEL_HARDNAME (1) и SPR_CHANNEL_USERNAME (2) совмещать нельзя, а вы, указывая 3, именно совмещаете (1 or 2 дает 3). RTFM плиз.
Andre
Сообщения: 3
Зарегистрирован: 24 окт 2013, 10:30

Re: SpRecord и 1с

Сообщение Andre »

2 sannx
установил 2 все равно не работает

2 prohorp
спасибо за обработку попробовал на ней поменял только адрес сервера и линию

попробовал подключиться все равно
SPRecordChannel.Connected имеет значение ЛОЖЬ
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

2 - значит имя надо такое, которое показывается в SpRecord (красный ярлык) в главном окне. Например, некоторые называют каналы так: "Директор", "Бухгалтер", "495-01-02". Возможно, вы указали имя hardname, а значение "2" требует username. А лучше не заморачиваться и всегда писать 1, т.к. hardname уникально во всем мире и не изменяется во времени.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

Добейтесь того, чтобы локально (т.е. на машине где устр-во стоит) всегда был коннект по SPR_CHANNEL_HARDNAME (1).
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

У нас должен работать SpRecord(синий ярлык) на компьютере.
И вы должны сделать настройку как указано в справке.
Нужно добавить там "анонимного" пользователя и "все" на сервере к настраиваемым объектам(как указано в справке)
Потому-что подключаемый объект SpRecord в обработке не авторизуется, а просто подключается(без логинов и паролей)
prohorp
Сообщения: 11
Зарегистрирован: 20 июн 2013, 08:09

Re: SpRecord и 1с

Сообщение prohorp »

Реально по пробуйте поставить вместо цифр 1 или 2 SPR_CHANNEL_HARDNAME или SPR_CHANNEL_USERNAME
У меня просто не работала обработка, если указывать флаги по именам.
Кстати вы правильно назвали каналы?
Потому-что может у вас там лишний пробел, или недостает пробела.

Вот у меня список каналов:
//Каналы BMW
СписокЛиний.Добавить("1-500202");
СписокЛиний.Добавить("2-500202");
СписокЛиний.Добавить("3-500202");
СписокЛиний.Добавить("4-500202");
СписокЛиний.Добавить("5-500202");
СписокЛиний.Добавить("6-500202");
СписокЛиний.Добавить("7-500202");
СписокЛиний.Добавить("8-500202");

"1-500202" - они именно так и называются в списке каналов, когда включаешь SpRecord(синий значок)
Если так то понятно почему у вас подключается к серверу, но не к каналу, т.к. канал указан неверно
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: SpRecord и 1с

Сообщение sannx »

2 prohorp
Судя по названиям каналов у вас username, т.е. эти имена можно использовать только при флаге SPR_CHANNEL_USERNAME.

2 всем.
В SPR_CHANNEL_HARDNAME имя канала всегда такое "T4002061 - 1" - до и после тире всегда пробел. Вообще рекомендую использовать HARDNAME - оно всегда уникально, т.к. система допускает несколько одинаковых USERNAME.
Ответить