Skip to end of metadata
Go to start of metadata

Введение

Внешняя компонента “IP ATC Orange[uc]e Smart Office” разработана по технологии внешних компонент (COM) и может быть использована как для расширения возможностей существующих конфигураций платформы “1С: Предприятие 8”, так и при создании оригинальных решений. Возможные области применения: автоматизация служб обработки заказов по телефону (такси, доставка), телемаркетинга, call-центров и т.п. При помощи компоненты можно реализовать автоматический обзвон клиентов; click2call; умную маршрутизацию входящих вызовов; отображение информации о клиенте при получении входящего вызова; учёт звонков в базе данных “1С: Предприятие”.

Функциональные возможности компоненты:

  • Работа с историей вызовов
    • Получение записей разговоров
    • Получение истории вызовов
    • Уведомления о новых звонках
  • Управление активными вызовами
    • Генерация, сброс, перевод, перехват вызовов
    • Получение списка активных звонков
    • Уведомления об изменении состояния вызовов
  • Управление пользователями и контроль присутствия
    • Получение информации о пользователях и их статусах
    • Уведомления об изменении статусов пользователей
    • Уведомления об изменении информации о пользователях

Технологически внешняя компонента “IP ATC Orange[uc]e Smart Office” не является самостоятельным продуктом, а выступает в роли посредника между платформой “1С: Предприятие 8” и IP АТС Orange[uc]e, обеспечивая двусторонний обмен информацией: со стороны платформы “1С: Предприятия" можно вызывать методы, предоставляемые API сервера Orange[uc]e, и подписываться на уведомления.

Схема взаимодействия Orange[uc]e и 1С:Предприятие

Установка внешней компоненты

Требования

Установка при помощи инсталлятора

Скачать инсталлятор компоненты можно либо с сайта Orange[uc]e, либо с вашего локального сервера: http://127.0.0.1/client/com, где 127.0.0.1 - адрес вашего сервера Orange[uc]e.

Запускать инсталлятор OrangeuceAPI.exe нужно на машине с установленной 1C с привилегиями администратора, в противном случае будет выдано предупреждение об ошибке и невозможности продолжить процесс установки. Если вы, являясь пользователем, запускаете инсталлятор от имени администратора, но, при этом, у вас отключен UAC (на Windows Vista и старше), то реально привилегии повышены не будут и установка будет невозможна. В такой ситуации либо зайдите под учетной записью администратора, либо включите UAC.

На первом этапе произойдет проверка системы на наличие Microsoft .Net Framework. Для работы компоненты нужен .Net Framework версий 4.0 или 4.5, если на машине его не будет, то инсталлятор сам скачает и установит (понадобится перезагрузка системы), только после завершения этого этапа возможно продолжение установки компоненты.

На втором этапе выполнится распаковка компонентов и регистрация компоненты в системе.

Автоматическое развертывание средствами 1С

1С может устанавливать внешние компоненты из специального zip архива. Скачать архив можно либо с сайта Orange[uc]e, либо с вашего локального сервера: http://127.0.0.1/client/zip, где 127.0.0.1 - адрес вашего сервера Orange[uc]e. В этом случае достаточно пользовательских прав. Но на сервере ДОЛЖЕН БЫТЬ УСТАНОВЛЕН Microsoft .Net Framework 4.0 или выше.

В обработку добавляется макет типа бинарные данные и прикрепляется zip архив с компонентом. При обращении компонента будет распакована во временную папку пользователя (скорее всего %AppData%\Local\Temp) и зарегистрирована в системе. Это занимает некоторое время, поэтому имеет смысл устанавливать компоненту из макета только, если не удалось подключить по имени AddIn.Orangeuce.

Пример установки внешней компоненты:

Использование компоненты

Подключение внешней компоненты

после этого, методы API будут доступны через объект ВнешняяКомпонента.

Все входящие и исходящие параметры, а также возвращаемые значения являются строками (string).

Обработка ошибок

Стандартными средствами в 1С невозможно получить детальную информацию об исключении, возникшем в компоненте. Для решения этой проблемы можно использовать функцию ПолучитьОшибку (GetLastError). Для удобства можно создать функцию, возвращающую тип ошибки:

Затем в коде можно отреагировать соответствующим образом на конкретное исключение:

Уведомления

Уведомления о происходящих событиях посылаются сервером компоненте. В активном режиме работы уведомления посылаются дальше в , в  необходимо подписываться на внешнее событие от отправителя Orange[uc]e. В пассивном режиме уведомления накапливаются в очереди компоненты, после чего  должна периодически опрашивать очередь методом ПолучитьСледующееУведомление или PullNextNotificationУведомления рассылаются всем аутентифицированным компонентам.

Чтобы обрабатывать поступающие уведомления в активном режиме Модуль обычного приложения добавляем следующий код:

Журналирование

Чтобы включить логгирование, необходимо переименовать файл Orangeuce.dll.config.example в Orangeuce.dll.config, находящийся в папке с Orangeuce.dll. Данный конфигурационный файл позволяет гибко настроить систему журналирования. Важно, чтобы у пользователя, от имени которого запущена 1C, были права на запись в указанную папку.

Наиболее интересными являются два параметра:

  • log4net/root/level который принимает следующие значения (те, которые используются)

    • DEBUG подробное журналирование каждого действия
    • INFO общая информация, разумный уровень журналирования
    • WARN вывод предупреждений
    • ERROR вывод ошибок
    • OFF отключение вывода
  • log4net/appender/file должен содержать абсолютный путь (в противном случае работать не будет) к файлу, в который будут записываться журнал, причем директории разделяются двойным бекслешем: \\

Возможные проблемы

Если при запуске конфигурации 1C выдает следующую ошибку:

Значит регистрация компоненты не удалась либо при инициализации COM Объекта произошла ошибка. Диагностировать проблему поможет журналирование. Обратитесь в службу поддержки.

  • No labels