Тема: Выбор программы для учета звонков с АТС
Так и не раскололся топикастер.
А что раскалываться? Тут все на негативе. Я использовал не лицензионный софт. Сейчас начнется типа “О да ты пиратский софт используешь, серьезная контора, вам что жалко 400 баксов отдать и т.д. и т.п.”. Приплетут еще до кучи политику и разведут демагогию.
Я не жадный на информацию. Могу и поделиться.
Решение задачи этой темы я нашел такое.
Нам понадобится:
1. Rander3 - серверная часть, база данных firebird 2.5 (с кряком, найти можно на ru-board’e)
2. EMS SQL Managment Studio 2010 Interbase and Firebird – работа с бд firebird, создание отчетов по расписанию в любых форматах (опять же крякнутая)
3. xStarter - планировщик задача, отправка отчетов по e-mail (бесплатная версия, алилуя!)
Могу выложить архивы программ или выслать в ЛС
Установка:
1)Устанавливаем Rander 3(галочками отмечаем все кроме randerCom) и поверх ставим rander 3.1. Крякаем его(хотя кряк наверное распространяется только на клиента, и возможно можно и без него обойтись). Так как комп у меня подключен по COM-порту то при настройке Rander у меня стоит подключение localhost. Вообще при установке все ставил по умолчанию. В случае если вы подключается по Lan используете ip-адрес АТСки.
Так как нам необходим для дальнейшей работы Firebird 2.5, а с rander 3 идет версия 1.5. То качаем с интернета Rander 5 (я качал с самого сайта рандера, кряк нам не нужен). При установке галочками отмечаем только Firebird, остальные снимаем. Устанавливаем поверх старого. На этом с рандером закончили. На рабочем столе появится три ярлыка с запуском самого рандера, запуск и остановка серверной части и модуля который пишет в базу. Запускаем рандер и проверяем имеется ли подключение к станции и пишутся ля звонки. Если всё хорошо идем дальше. Если нет то добиваемся того, чтобы рандер подключался к АТС
2)Ставим EMS SQL Managment Studio 2010.
Для начала нужно подключиться к базе firebird. Если у вас запущен клиент Rander’a, то отключаем, так как он не даст подключиться к БД.
Запускаем SQL Manager for Interbase and Firebird. Создаем новое подключение (Database is located on a new host)
Host name: localhost (ip-адресс АТС)
Protocol: Local
Port/Service: 3060 (информация по какому порту подключается firebird лежит в файле firebird.conf, можно использовать и другой порт если его в этом файле поправить)
User name: SYSDBA (по умолчанию идет в firebird)
Password: masterkey (по умолчанию идет в firebird)
Client library: C:\Programm Files\Rander\Client\fbclient.dll
Другие поля не заполняем. Нажимает Далее.
Выбираем нашу базу данных
Database name: C:\Program Files\Rander\DB\CALLLOG.FDB
Остальные поля должны заполниться автоматически
Если всё правильно сделали то по клику Test Connection, появится окошко Connected.
Жмем Finish.
Появилось на левой панели подключение localhost(или как вы его назвали). Чтобы открыть таблицу со звонками переходим CALLLOG -> Tables ->CALLLOG закладка Data. Здесь видно все звонки, время и т.д.
Теперь настраиваем выгрузку отчетов
3) Запускаем Data Export for Interbase and Firebird
Нажимаем Next ->1 шаг. Select registered database, выбираем уже созданное нами подключение к БД ->
Next ->2 шаг. Предлагают выбрать таблицы, пропускаем ->
Next ->3 шаг. Далее создаем вручную запрос-> Нажимаем Add Query
Текст запроса:
/*выбираем нужные нам поля из таблицы*/
SELECT call_begin as "Дата ", call_length as "Длина звонка ", conn_len as "Неотвеченный ", we as "Номер ", they as "Абонент ",
is_incoming as "Входящий ", is_internal as "Внутренний "
FROM calllog /*откуда выборка происходит*/
/*создаем условия выборки. Выбирать все не отвеченные звонки с 12.00 до 23.55, где номер абонента 102, длина звонка более 20сек, входящие.*/
WHERE call_begin between cast(current_date||' 12:00' as timestamp)
AND cast(current_date||' 23:55' as timestamp) /*current_date - это сегодняшняя дата, можно заменить на цифровое значение нужной даты*/
AND they!='' AND we!='' /*пропускать пустые ячейки, база их создает видимо при перенаправлении звонка, они нам не нужны*/
AND they='102' /*номер абонента, если убрать то будет выводить звонки всех абонентов*/
AND conn_len='0' /*пропущенный звонок, если убрать строку то будет выводить все звонки*/
AND call_length>'20' /*время звонка*/
AND is_incoming='1' /*входящий = 1*/
/*коментарии лучше удалить, если будете копировать*/
Запросов в одном шаблоне можно делать несколько. К примеру нам надо отслеживать звонки 102 номера и 110. Там же создаем второй запрос “Нажимаем Add Query”, копируем всё с первого и меняем AND they=‘102’ на AND they=‘110’
Чтобы отслеживать например звонки с внешних линий в запросе пишем AND they=‘CO27’
СО27 - это номер линии в АТС. Хотя на разных АТС будет по разному. В общем смотрите в базе как пишутся у вас внешние линии и присваиваете эти значения в запросе
Нажимаем Next ->4 шаг. Выбираем формат (лучше выбирать html, на мой взгляд он удобнее и в почте он будет отображать не как вложение, а как тело письма)
Next-> 5 шаг пропускаем->
Next-> 6 шаг. Здесь настраиваем внешний вид html отчета –>
Next-> 7 шаг пропускаем ->
Next-> 8 шаг. Указываем путь куда будет экспортироваться файл. Ставим галочки напротив Export data empty, Go to first record. Остальное не трогаем ->
Next -> 9 шаг. Экспорт . На этом шаге Нажимаем Tools -> Save Template (сохраняем шаблон экспорта)
Теперь у нас есть шаблон экспорта. Проверяем его и донастраивае как надо.
4) Запускаем SQL Management Studio 2010
Слева на панели переходим в Задачи. Создаем новую задачу. Задаем ей имя (Отчеты по звонкам). Нажимаем создать «Добавить шаг». Даем имя шагу(Экспорт звонков), утилита(служба) Data Export, Шаблон указываем сохраненный нами ранее. Жмем ОК. На закладке Уведомление можно настроить отчет о успешном выполнении экспорта. Но файлы отправлять в уведомлении не умеет.
Далее на левой панели переходим Планировщик. Выбираем уже созданную задачу. Создаем расписание.
Теперь наши отчеты будут экспортироваться по расписанию.
5)Осталось сделать рассылку на почту. Тут программы можете использовать какие вам удобны. Я выбрал xStarter. Расписывать его подробную настройку не буду. Там все банально просто и понятно
P.S. кто знает хорошо SQL, может создать более информативный запрос. Я увы не силен в SQL. К примеру что поменять в строке conn_len чтоб вместо 0 появлялось слово “Не отвеченный”
Как все сложно у вас, дайте мне денежку, я вам напишу простенькую программу, которая делает то, что хотите))) А то уже дошло до того, что вы, пытаясь дойти до соседнего подъезда в доме, сначала вызываете такси, потом летите на самолете и приезжаете уже на поезде 😊 Зачем вам это))
Как все сложно у вас, дайте мне денежку, я вам напишу простенькую программу, которая делает то, что хотите))) А то уже дошло до того, что вы, пытаясь дойти до соседнего подъезда в доме, сначала вызываете такси, потом летите на самолете и приезжаете уже на поезде 😊 Зачем вам это))
Потому что в компании такси, авиокомпании и на железной дороге сегодня акция по бесплатной перевозке, если заказываешь все в комплексе. 😊