Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
astpanel:designer:bp20 [2013/08/15 12:11] apor [Интеграция] |
astpanel:designer:bp20 [2018/09/11 13:09] (текущий) tpor |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Пример интеграции в БП 2.0.48.7 ====== | ====== Пример интеграции в БП 2.0.48.7 ====== | ||
+ | |||
+ | <note important>Встраивать панель телефонии стало проще! Доработка конфигурации с минимальными изменениями! Встраивание панели телефонии с помощью **механизма расширений** описано [[astpanel:designer:extension|здесь]].</note> | ||
==== Подготовка конфигурации к изменениям ==== | ==== Подготовка конфигурации к изменениям ==== | ||
Строка 52: | Строка 54: | ||
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) | Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) | ||
// {{doc:panel1cbp20:{ Панель телефонии Asterisk, МИКО }}} НАЧАЛО | // {{doc:panel1cbp20:{ Панель телефонии Asterisk, МИКО }}} НАЧАЛО | ||
- | Если Источник = "MikoAjamEvent" | + | Если (Источник = "MikoAjamEvent" |
ИЛИ Источник = "MIKO_SoftPhone" | ИЛИ Источник = "MIKO_SoftPhone" | ||
- | ИЛИ Источник = "MIKO_InFormAutor" | + | ИЛИ Источник = "hWindow") |
И НЕ Miko_Ajam = Неопределено Тогда | И НЕ Miko_Ajam = Неопределено Тогда | ||
Строка 63: | Строка 65: | ||
</code> | </code> | ||
- | В конец процедуры **ПриЗавершенииРаботыСистемы** добавим: | + | В конец процедуры **ПередЗавершениемРаботыСистемы** добавим: |
- | <code 1c>// {{doc:panel1cbp20:{ МИКО }}} НАЧАЛО Панель телефонии Asterisk | + | <code 1c> |
+ | // {{doc:panel1cbp20:{ МИКО }}} НАЧАЛО Панель телефонии Asterisk | ||
// Завершим работу Панель телефонии Asterisk перед выходом из предприятия | // Завершим работу Панель телефонии Asterisk перед выходом из предприятия | ||
- | Если Miko_Ajam = Неопределено Тогда | + | Если НЕ Отказ И НЕ Miko_Ajam = Неопределено Тогда |
Miko_Ajam.ОтключитьВК(); | Miko_Ajam.ОтключитьВК(); | ||
КонецЕсли; | КонецЕсли; | ||
- | // {{doc:panel1cbp20:{ МИКО }}} КОНЕЦ Панель телефонии Asterisk </code> | + | // {{doc:panel1cbp20:{ МИКО }}} КОНЕЦ Панель телефонии Asterisk |
+ | |||
+ | </code> | ||
=== Модернизация регистра сведений "Контактная информация" === | === Модернизация регистра сведений "Контактная информация" === | ||
Строка 90: | Строка 95: | ||
| | ||
// ... ... ... Пропущена часть исходного текста ... ... ... | // ... ... ... Пропущена часть исходного текста ... ... ... | ||
- | + | // Панель телефонии для 1С // НАЧАЛО | |
- | #Если Клиент Тогда | + | #Если Клиент Тогда |
- | //{{doc:panel1cbp20:{ МИКО }}} НАЧАЛО Код встраивания "Панель телефонии Asterisk" | + | |
Если НЕ Miko_Ajam = Неопределено | Если НЕ Miko_Ajam = Неопределено | ||
И НЕ Miko_Ajam.мОбработкаДанных = Неопределено | И НЕ Miko_Ajam.мОбработкаДанных = Неопределено | ||
И Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда | И Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда | ||
- | ПредставлениеНомера = Запись.Поле1 + Запись.Поле2 + Запись.Поле3; | + | глКоличествоХранимыхЦифрТелефона = Miko_Ajam.ГлобальныеПеременные.глКоличествоХранимыхЦифрТелефона; |
- | + | мОбработкаДанных = Miko_Ajam.мОбработкаДанных; | |
+ | |||
+ | ПредставлениеНомера = мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы(Запись.Поле1 + Запись.Поле2 + Запись.Поле3); | ||
+ | ПредставлениеБаза = мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы(Запись.Представление); | ||
+ | |||
Если ЗначениеЗаполнено(Запись.Поле4) И НЕ ЗначениеЗаполнено(ПредставлениеНомера) Тогда | Если ЗначениеЗаполнено(Запись.Поле4) И НЕ ЗначениеЗаполнено(ПредставлениеНомера) Тогда | ||
- | Запись.CRM_ПолеХраненияНомера = Miko_Ajam.мОбработкаДанных.ПреобразоватьНомерДляСохранения(Запись.Поле4, Miko_Ajam.ГлобальныеПеременные.глКоличествоХранимыхЦифрТелефона); | + | Запись.CRM_ПолеХраненияНомера = мОбработкаДанных.ПреобразоватьНомерДляСохранения(Запись.Поле4, глКоличествоХранимыхЦифрТелефона); |
- | Запись.CRM_НомерТелефона = Miko_Ajam.мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы (Запись.Поле4); | + | Запись.CRM_НомерТелефона = мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы (Запись.Поле4); |
+ | ИначеЕсли НЕ ЗначениеЗаполнено(ПредставлениеНомера + Запись.Поле4) И ЗначениеЗаполнено(ПредставлениеБаза) Тогда | ||
+ | Запись.CRM_ПолеХраненияНомера = мОбработкаДанных.ПреобразоватьНомерДляСохранения(ПредставлениеБаза, глКоличествоХранимыхЦифрТелефона); | ||
+ | Запись.CRM_НомерТелефона = ПредставлениеБаза; | ||
Иначе | Иначе | ||
- | Запись.CRM_ПолеХраненияНомера = Miko_Ajam.мОбработкаДанных.ПреобразоватьНомерДляСохранения (ПредставлениеНомера, Miko_Ajam.ГлобальныеПеременные.глКоличествоХранимыхЦифрТелефона); | + | Запись.CRM_ПолеХраненияНомера = мОбработкаДанных.ПреобразоватьНомерДляСохранения(ПредставлениеНомера,глКоличествоХранимыхЦифрТелефона); |
- | Запись.CRM_НомерТелефона = Miko_Ajam.мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы (ПредставлениеНомера); | + | Запись.CRM_НомерТелефона = ПредставлениеНомера; |
КонецЕсли; | КонецЕсли; | ||
КонецЕсли; | КонецЕсли; | ||
Строка 110: | Строка 121: | ||
Если Найти(Запись.Вид,"Skype")>0 Тогда | Если Найти(Запись.Вид,"Skype")>0 Тогда | ||
Запись.CRM_НомерТелефона = Запись.Представление; | Запись.CRM_НомерТелефона = Запись.Представление; | ||
- | Иначе | ||
- | Запись.Представление = Miko_Ajam.мОбработкаДанных.СформироватьСтруктуруНомераИзПолей(Запись).Представление; | ||
КонецЕсли; | КонецЕсли; | ||
- | //{{doc:panel1cbp20:{ МИКО }}} КОНЕЦ | + | #КонецЕсли |
- | #конецесли | + | // Панель телефонии для 1С// КОНЕЦ |
КонецЦикла; | КонецЦикла; | ||
Строка 176: | Строка 185: | ||
КонецПроцедуры | КонецПроцедуры | ||
</code> | </code> | ||
+ | ==== Модернизация общей формы печати документов ==== | ||
+ | === Отправка факсом текущего документа === | ||
+ | **Задача:** необходимо, добавить возможность отправки сформированной печатной формы в виде факсимильного сообщения в текущий вызов. | ||
+ | |||
+ | **Решение:** необходимо модифицировать общую форму "**ФормаПечати**": | ||
+ | |||
+ | <code 1c> | ||
+ | Процедура ПриОткрытии() | ||
+ | // ... ... ... Пропущена часть исходного текста ... ... ... | ||
+ | |||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} НАЧАЛО | ||
+ | Если НЕ Miko_Ajam = Неопределено | ||
+ | И НЕ Miko_Ajam.мОбщийМодуль = Неопределено Тогда | ||
+ | мОбщийМодуль = Miko_Ajam.мОбщийМодуль; | ||
+ | // добавляем элементы управления на форму | ||
+ | мОбщийМодуль.ДобавитьКнопкуОтправкиФаксаНаПанельДействий(ЭлементыФормы.КоманднаяПанель1.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_ОтправитьФакс"); | ||
+ | КонецЕсли; | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} КОНЕЦ | ||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
+ | добавить обработчик нажатия кнопки: | ||
+ | |||
+ | <code 1c> | ||
+ | // Набор номера по заданному алгоритму | ||
+ | // | ||
+ | Процедура МИКО_ВыполнитьДействие(Кнопка) | ||
+ | Действие = Кнопка.Имя; | ||
+ | Если Miko_Ajam = Неопределено Тогда Возврат; КонецЕсли; | ||
+ | |||
+ | Если Действие = "кнМИКО_ОтправитьФакс" Тогда | ||
+ | // Обработчик нажатия на кнопку отправки табличного документа в текущий разговор | ||
+ | Miko_Ajam.ОтправитьФаксомТабДок(ЭлементыФормы.ПолеДокумента); | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Общая печатная форма примет вид: | ||
+ | {{ :doc:panel1cut:obschaja_forma_pechati_dokumentov.png? |}} | ||
+ | |||
+ | ==== Настройка прав доступа ==== | ||
+ | |||
+ | Обязательно укажите для пользователя роль "**Использование панели телефонии Asterisk (МИКО)**". Иначе первый запуск произвести невозможно. | ||
+ | |||
+ | {{ :astpanel:designer:user_rol.png?nolink |}} | ||
На этом встраивание завершено. | На этом встраивание завершено. |