Итак, Простые звонки предоставляют сервис интеграции телефонии большинства популярных операторов с программами 1С и другими учетными системами. В части интеграции с 1С есть готовые решения для интеграции с типовыми конфигурациями как на управляемых, так и на обычных формах. Поставляются в виде расширения или обработки для управляемых форм, обработки для обычных форм и ActiveX компоненты. Для обычных форм была ещё конфигурация для объединения с типовыми и внедрения функционала прямо в конфигурацию, но, видимо в связи со сложностью поддержки и сокращающимся спросом, в 2018 г. она снята с поддержки. Найти и обработку для Управления торговлей 10 как на сайте, так и через тех. поддержу, оказалось не простой задачей. :) Возможно сейчас что-то изменилось и ссылки исправлены.
По итогу обработка всё таки была найдена. Для Альфа-авто в ней необходимо изменить получение контактной информации при входящем и исходящем звонке, заменить формирование документа Событие с типового для УТ 10.3 на документ для Альфа-авто с соответствующим реквизитным составом, доработать подключение обработки как внешней, т.к. в Альфе этот механизм отличается от типового, подправить имена модулей и реквизитов типа ПараметрыСеанса текущего пользователя.
Начиная с редакции 5 в Альфа-авто убрали справочник Контактные лица, который используется в редакции 4 и УТ 10.3. Контактные лица реализованы как Контрагенты с видом контактное лицо. Адресная книга формируется запросом в момент открытия обработки, т.е. необходимо адаптировать запрос получения контактной информации. Так же есть нюанс с внутренними номерами телефонов, в УТ 10 контактная информация хранится для элемента справочника пользователи, а Альфа-авто для пользователя контактной информации не предусмотрено, необходимо задать, что пользователь является сотрудником, указать внутренние номера для справочника сотрудники и соответствующим образом подправить процедуру получения внутреннего номера.
В нашем случае конфигурация уже была снята с поддержки, что позволило встроить обработку в конфигурацию. При запуске программы был добавлен код автоматического запуска обработки для пользователей, у которых задан внутренний номер:
ПростыеЗвонки = Обработки.ПростыеЗвонки.Создать();
Если НЕ ПростыеЗвонки.ПолучитьВнутреннийНомерПользователя(ПараметрыСеанса.Пользователь) = Неопределено Тогда
//Открываем обработку
ПростыеЗвонки.ПолучитьФорму("Форма").Открыть();
КонецЕсли;
При этом открывается форма обработки с адресной книгой по контрагентам.
При входящем звонке во всплывающем сообщении выводится номер звонящего и по номеру ищется контрагент.
Функционал типовых кнопок СофтФона был заменен на совершение звонков с помощью простых звонков:
Процедура ДействияФормыПозвонить(Кнопка)
Если НЕ ЗначениеЗаполнено (Ссылка) Тогда
Возврат;
//ИначеЕсли НЕ сфпСофтФонПроСервер.сфпПолучитьЗначениеНастройкиПользователя("сфпИспользоватьСофтФон") Тогда
// Предупреждение(НСтр("ru = 'В персональных настройках пользователя отключено использование СофтФон'"));
// Возврат;
КонецЕсли;
Если НЕ Обработки.ПростыеЗвонки.Создать().ПолучитьВнутреннийНомерПользователя(ПараметрыСеанса.Пользователь) = Неопределено Тогда
Форма = Обработки.ПростыеЗвонки.ПолучитьФорму();
Если Форма.Открыта() Тогда
Активизировать();
Иначе
Форма.Открыть();
КонецЕсли;
Форма.НомерТелефона = Ссылка.Наименование;
ОтборАдресов = Форма.ЭлементыФормы.АдреснаяКнига.ОтборСтрок.СтрокаПоиска;
ОтборАдресов.ВидСравнения = ВидСравнения.Содержит;
ОтборАдресов.Использование = Истина;
ОтборАдресов.Значение = Ссылка.Наименование;
КонецЕсли;
//ТекАТС = Константы.CRM_ИспользуемыйСофтФон.Получить();
//Если ТекАТС = Перечисления.CRM_ИспользуемыйСофтФон.СофтФон3 Тогда
// сфпСофтФонПроКлиент.сфпПозвонитьВыбравТелефон(СписокОбъектов);
//ИначеЕсли ТекАТС = Перечисления.CRM_ИспользуемыйСофтФон.СофтФонПроф Тогда
// РарусСофтФонПроф.ПозвонитьВыбравТелефон(СписокОбъектов);
//КонецЕсли;
//ССБ Конец
КонецПроцедуры
К сожалению, пока не получилось по кнопке сразу совершить исходящий вызов. Было принято решение активировать форму обработки с отбором по контрагенту, выбранному в документе, и совершение вызова из формы обработки. Т.е. исходящий звонок происходит не в один клик, а в два. В рамках текущей задачи, это было вполне приемлемо.
Так же не удалось протестировать создание документа событие, т.к. клиент не использует этот функционал в Альфа-авто. Во вложенной обработке создание документа адаптировано, но не тестировалось, т.е. могут быть какие-то ошибки.
Не тестировалась запись телефонных разговоров, т.к. опять же не используется клиентом. По идее тоже должно работать, запись подключается у оператора телефонии и хранится в виртуальной АТС, а в 1С отображается в виде ссылке на файл записи в АТС.
По сравнению с внедрением в конфигурацию минусы решения с внешней обработкой в том, что таблицы (адресная книга, история вызовов) формируются динамически при открытии обработки, что при больших объёмах данных вызывает определенные задержки. Но т.к. конфигурация Простые Звонки для объединения с УТ 10.3. снята с поддержки и больше не поддерживается, то при её адаптации возможны проблемы с дальнейшей поддержкой, на пример при изменении ActiveX компоненты.
В целом настройка интеграции не вызвала особых проблем. И при наличии времени и желания, возможна и более полная интеграция в рамках возможностей ActiveX компоненты и выбранного оператора связи (события, записи разговоров), в том числе и составе конфигурации, что, на мой взгляд, предпочтительнее. Но необходимо учесть особенности решения Альфа-авто и "типового" функционала простых звонков.
В приложении обработка адаптированная для Альфа-авто ред. 5. В основе - обработка поставляемая простыми звонками, изменений в сам функционал и формы не вносилось, сделана только адаптация реквизитного состава, наименований переменных и модулей для работы с конфигурацией. Протестировано на релизе 5.1.15.10 должно работать и на других релизах редакции 5. Для редакции 4 скорее всего потребуется изменение запроса по контактным лицам.