Инструкция по подключению АТС к 1С v8.2

Поделиться
  •  
  •  
  •  
  •  
  •  

Краткая инструкция для программистов 1С по интеграции с АТС.

Все TAPI методы, нужные для работы с АТС преобразуются в понятные для 1С методы нашей программой «Звонарь»

После установки необходимых компонент (TAPI драйвера и библиотек для Вашей АТС, и ключа защиты) нужно настроить компьютер на работу с телефонной станцией.

Проверьте в настройках телефонных вызовов («Пуск — Панель управления — Телефон и модем«) правильность указания префикса выхода на внешнюю линию:

1

2

Содержимое файла ats1c.zip нужно распаковать в системный каталог C:\Windows\System32. Библиотеку ats1c.dll необходимо зарегистрировать в системе с помощью служебной программы regsvr32. Для этого необходимо в режиме командной строки («Пуск — Выполнить — cmd«) выполнить от Администратора следующую команду:

C:\>regsvr32 «c:\windows\system32\ats1c.dll» 

Переходим непосредственно к :

1. Запускаем в режиме конфигуратора.
2. Открываем текст модуля обычного приложения.
3. В начале модуля объявляем глобальную переменную глATS1C:

Перем глATS1C Экспорт;

4. В тексте модуля ищем процедуру ПриНачалеРаботыСистемы. Если такой процедуры не существует, создаем ее.

Процедура ПриНачалеРаботыСистемы()
    Попытка
        ProgId = «AddIn.ats1c»;
        ProgUrl = «C:\ats1c\ats1c.dll»; // путь к файлу компоненты
        ПодключитьВнешнююКомпоненту(ProgId);
        глATS1C = СоздатьОбъект(ProgId);

        // Следующий фрагмент кода позволяет получить информацию
// о доступных телефонных линиях.

        // Рекомендуется сохранить ее для дальнейшей работы с АТС.

        // Получаем количество линий
        КоличествоЛиний = глATS1C.Соединить();
        // Делаем перебор доступных линий в цикле
        Для Сч = 1 По КоличествоЛиний Цикл
            // Получаем имя линии
            ИмяЛинии = глATS1C.ПолучитьИмяЛинии(Сч);
            // Получаем уникальный идентификатор линии
            ИДЛинии = глATS1C.ОткрытьЛинию(Сч);
            Сообщить(«Имя линии = « + ИмяЛинии + «, Id линии = « + ИДЛинии);
        КонецЦикла;

    Исключение
        Сообщить(«Ошибка загрузки компоненты « + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

5. Ищем процедуру ОбработкаВнешнегоСобытия. Если ее нет, создаем вручную.

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) Экспорт

    // Данный код является «слушателем» событий, связанных
    // с входящими и исходящими звонками на АТС.
    // Строка данных в данном случае имеет вид:
    // * : Номер звонящего : Абонент : Имя абонента : Id линии : Статус : Id звонка : Источник : Причина : Транк

Если Источник = «ats1c» Тогда 

        // Формируем полученные данные в строку данных
        СтрокаДанных = СтрЗаменить( Данные, «:», РазделительСтрок );

        // Получаем номер, с которого совершается вызов
        ВызывающийНомер = СтрПолучитьСтроку(СтрокаДанных, 2);

        // Получаем принимающий номер
        ПринимающийНомер = СтрПолучитьСтроку(СтрокаДанных, 3);

        // Получаем статус вызова. Может принимать значения:
        // 1 — вызов сброшен
        // 32, 2 — вызов активен и ждет ответа
        // 256 — режим разговора, трубка поднята
        // 16384 — конец вызова.
        СтатусЗвонка = СтрПолучитьСтроку(СтрокаДанных, 6);

        // Определяем идентификатор звонка
        // Идентификатор нужен для того, чтобы иметь возможность
        // сбросить или переадресовать звонок

        ИДЗвонка = СтрПолучитьСтроку(СтрокаДанных, 7);

        // Исходя из полученных данных, можно написать функцию
// обработки вызовов, например, в момент звонка

        // найти в справочнике контрагента с совпадающим номером
        // телефона и вывести на экран его карточку.

    КонецЕсли;

КонецПроцедуры

6. Компонента позволяет сбрасывать вызов. Для этого необходимо вызвать метод Уничтожить. В качестве параметра. нужно указать идентификатор звонка, полученный в процедуре обработки внешнего события.

глATS1C.Уничтожить(ИДЗвонка);