Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


astpanel:designer:bp20

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:designer:bp20 [2013/08/06 17:54]
nb [Справочник Контрагенты]
astpanel:designer:bp20 [2018/09/11 13:09] (текущий)
tpor
Строка 1: Строка 1:
-====== Панель телефонии для БП. Интеграция. ======+====== Пример интеграции в БП 2.0.48.======
  
-Панель телефонии ​может работать в безинтеграцонном режиме. В этом разделе будут описаны достоинства ​и недостатки данного режима работы. Кроме того, будет описан способ ​интеграции ​панели ​на примере конфигурации  Бухгалтерия предприятия, ​редакция 2.0, что позволит ​использовать функционал панели в полной мере.+<note important>​Встраивать панель телефонии ​стало проще! Доработка конфигурации с минимальными изменениями! Встраивание панели ​телефонии ​с помощью **механизма ​расширений** описано ​[[astpanel:​designer:​extension|здесь]].</​note>​
  
-===== Достоинства ​безинтеграционного режима работы: =====+==== Подготовка конфигурации к изменениям ==== 
 +<note warning>​Обязательно перед началом ​работ ​выполняйте резервное копирование информационной базы!</​note>​
  
-  * Не требуется изменение конфигурации. Панель может быть запущена через главное меню **“Файл -Открыть”**. При этом доступен практически весь функционал панели. 
  
-===== Особенности и ограничения:​ ===== +=== Включаем возможность изменения конфигурации ===
- +
-  * Для определения контрагента по номеру телефона используется временная таблица контактной информации,​ эта таблица обновляется с периодичностью,​ указанной в настройках панели. Врменная таблица - своего рода кэш контактной информации. +
-  * Нет возможности набирать номер телефона контрагента из его карточки. +
-  * Нет возможности отправки факса в текущий разговор средствами стандартной общей формы печати. +
-  * Пользователю необходим расширенный набор прав: разрешить открытие внешних обработок. +
-<note important>​В конфигурации БП 2.0 отсутствует документ "​Событие"​. Вместо этого документа будет задействована карточка контрагента.</​note>​ +
- +
-===== Пример интеграции в БП 2.0.48.7 ===== +
- +
-==== Включаем возможность изменения конфигурации ​====+
 {{page>​astpanel:​designer:​ut11:​poddergka}} {{page>​astpanel:​designer:​ut11:​poddergka}}
  
 ==== Интеграция ==== ==== Интеграция ====
 +<note important>​В конфигурации БП 2.0 отсутствует документ "​Событие"​. Вместо этого документа будет задействована карточка контрагента.</​note>​
 === Автооткрытие формы обработки при старте 1С === === Автооткрытие формы обработки при старте 1С ===
 **Задача:​** Необходимо открывать форму панели телефонии автоматически при старте 1С. **Задача:​** Необходимо открывать форму панели телефонии автоматически при старте 1С.
Строка 28: Строка 19:
   * Добавим в дерево метаданных новую роль с параметрами:​   * Добавим в дерево метаданных новую роль с параметрами:​
 Имя **"​МИКО_ИспользованиеСофтфона"​**. ​ Имя **"​МИКО_ИспользованиеСофтфона"​**. ​
 +
 Синоним **"​Использование панели телефонии ​ Asterisk (МИКО)"​**. ​ Синоним **"​Использование панели телефонии ​ Asterisk (МИКО)"​**. ​
 +
 Установить права на чтение и использование обработки **"​МИКО_ПанельТелефонииДля1С"​**. Установить права на чтение и использование обработки **"​МИКО_ПанельТелефонииДля1С"​**.
   * Модифицировать модуль обычного приложения   * Модифицировать модуль обычного приложения
Строка 58: Строка 51:
 Создадим новую процедуру **ОбработкаВнешнегоСобытия** Создадим новую процедуру **ОбработкаВнешнегоСобытия**
  
-<code 1c>/ МИКО ​+<code 1c>// {{doc:​panel1cbp20:​{ Панель телефонии Asterisk, ​МИКО ​}}} НАЧАЛО
 Процедура ОбработкаВнешнегоСобытия(Источник,​ Событие,​ Данные) Процедура ОбработкаВнешнегоСобытия(Источник,​ Событие,​ Данные)
  // {{doc:​panel1cbp20:​{ Панель телефонии Asterisk, МИКО }}} НАЧАЛО  // {{doc:​panel1cbp20:​{ Панель телефонии Asterisk, МИКО }}} НАЧАЛО
- Если Источник = "​MikoAjamEvent"​+ Если ​(Источник = "​MikoAjamEvent"​
  ИЛИ Источник = "​MIKO_SoftPhone"​  ИЛИ Источник = "​MIKO_SoftPhone"​
- ИЛИ Источник = "MIKO_InFormAutor"+ ИЛИ Источник = "hWindow")
  И НЕ Miko_Ajam ​ = Неопределено Тогда  И НЕ Miko_Ajam ​ = Неопределено Тогда
    
Строка 72: Строка 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>​
  
 === Модернизация регистра сведений "​Контактная информация"​ === === Модернизация регистра сведений "​Контактная информация"​ ===
Строка 99: Строка 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_НомерТелефона ​     = ПредставлениеНомера;​
  КонецЕсли;​  КонецЕсли;​
  КонецЕсли;​  КонецЕсли;​
Строка 119: Строка 121:
  Если Найти(Запись.Вид,"​Skype"​)>​0 Тогда  Если Найти(Запись.Вид,"​Skype"​)>​0 Тогда
  Запись.CRM_НомерТелефона = Запись.Представление;​  Запись.CRM_НомерТелефона = Запись.Представление;​
- Иначе 
- Запись.Представление = Miko_Ajam.мОбработкаДанных.СформироватьСтруктуруНомераИзПолей(Запись).Представление;​ 
  КонецЕсли;​  КонецЕсли;​
- //​{{doc:​panel1cbp20:​{ МИКО }}} КОНЕЦ + #КонецЕсли 
- #конецесли + // Панель телефонии для 1С// КОНЕЦ
  КонецЦикла;​  КонецЦикла;​
   
Строка 183: Строка 183:
  КонецЕсли;​  КонецЕсли;​
  КонецЕсли; ​  КонецЕсли; ​
 +КонецПроцедуры
  </​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 |}}
  
 На этом встраивание завершено. На этом встраивание завершено.
astpanel/designer/bp20.1375811683.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)