Новости
Яка найпоширеніша система IP-телефонії?
правильно - Asterisk .
Яка найпоширеніша облікова система?
правильно - 1С .
А якщо їх подружити, тоді - профіт. 🙂
Умови.
Почнемо «дружити» 1С і Asterisk. Візьмемо найважчий випадок з боку 1С - версію 7.7, а з боку Asterisk версію 1.6.2.x.
Чого ми хочемо:
- Функцію вихідного дзвінка з 1С.
- Знати в 1С-е номер абонента при вхідному дзвінку.
Як будемо будувати.
У Asterisk-а є свій API, через який ми і будемо підключатися до нього. Називається він AMI - A sterisk M anagement I nterface. З боку 1С використовуватимемо механізм зовнішніх компонент.
Вибір зовнішньої компоненти.
Google в допомогу, шукаємо готові зовнішні компоненти. знаходимо Asterisk.dll , знаходимо Obeliks , знаходимо VVSAst.dll . Дивимося, аналізуємо ...
Можливо, в майбутньому захочеться розвинути нашу систему, тому дивимося ще й на масштабованість і наявність універсальних методів відправки команд в Asterisk.
Asterisk.dll тільки для 1С версії 8.х, до того ж у цій ВК немає універсального методу відправки команд в AMI, вона може тільки зателефонувати і все. Не підходить. 🙁
Obeliks - обмеження функціональності в шареварной версії. Щогодини перезавантаження, розмова 3 хвилини. Зняття обмежень тільки в платній версії. Не підходить. 🙁
VVSAst.dll - для версії 7.7 обмежень немає. Є універсальні методи відправки команд в AMI. Повністю підходить. 😀
Підключення зовнішньої компоненти.
Компонента VVSAst саморегістрірующаяся, завантажується через метод ЗагрузітьВнешнююКомпоненту (<?>).
<Span style = "color: # ff0000;" > Функція </ span> _ <span style = "color: # 0000ff;" > АстеріскЗагрузітьВК </ span> <span style = "color: # ff0000;" > () Експорт; </ Span>
<Span style = "color: # ff0000;" > Спроба </ span>
<Span style = "color: # ff0000;" > ЗагрузітьВнешнююКомпоненту (КаталогПрограмми () + </ span> "VVSAst.dll" <span style = "color: # ff0000;">); </ Span>
_ <Span style = "color: # 0000ff;" > Телефонія </ span> <span style = "color: # ff0000;" > = СоздатьОб'ект (</ span> "AddIn.VVSAst" <span style = "color: # ff0000;">); </ Span>
<Span style = "color: # ff0000;" > Повернення </ span> 1 <span style = "color: # ff0000;" >; </ Span>
<Span style = "color: # ff0000;" > Виключення </ span>
<Span style = "color: # ff0000;" > Повідомити (</ span> "Неможливо завантажити зовнішню компоненту для зв'язку з Asterisk" <span style = "color: # ff0000;">); </ Span>
<Span style = "color: # ff0000;" > КонецПопиткі; </ Span>
<Span style = "color: # ff0000;" > Повернення </ span> 0 <span style = "color: # ff0000;" >; </ Span>
<Span style = "color: # ff0000;" > КонецФункціі </ span> // _АстеріскЗагрузітьВК ()
Далі, нам потрібна ще одна зумовлена процедура - ОбработкаВнешнегоСобитія (<?>)
<Span style = "color: # ff0000;" > Процедура </ span> <span style = "color: # 0000ff;" > ОбработкаВнешнегоСобитія </ span> <span style = "color: # ff0000;" > (</ Span> <span style = "color: # 0000ff;"> Джерело </ span> <span style = "color: # ff0000;">, </ span> <span style = "color: # 0000ff; "> Подія </ span> <span style =" color: # ff0000; ">, </ span> <span style =" color: # 0000ff; "> Дані </ span> <span style =" color: # ff0000 ; ">) </ span>
<Span style = "color: # ff0000;" > Якщо </ span> <span style = "color: # 0000ff;" > Джерело </ span> <span style = "color: # ff0000;" > = </ Span> "addin.VVSAst" <span style = "color: # ff0000;" > Тоді </ span>
<Span style = "color: # ff0000;" > Повідомити (</ span> <span style = "color: # 0000ff;"> Дані </ span> <span style = "color: # ff0000;">); </ Span>
<Span style = "color: # ff0000;" > Повернення; </ Span>
<Span style = "color: # ff0000;" > КонецЕсли; </ Span>
<Span style = "color: # ff0000;" > КонецПроцедури </ span>
Тепер, нам потрібно буде виконати настройку з боку Asterisk-а, а вже потім будемо продовжувати розбиратися з 1С. Але це вже тема іншої частини ...
Далі буде ... 8)
Частина 2 , часть3 .
Яка найпоширеніша облікова система?
Lt;?
Lt;?