====== Интеграция панели телефонии и журнала звонков в 1С:УНФ, ред. 1.6 + CRM, ред. 2.0 ======
[[astpanel:fastintegration|Обратно к перечню инструкций]]
Данная инструкция позволяет упростить и ускорить процесс внедрения панели телефонии и журнала звонков в концигурацию 1С на управляемом приложении.
Инструкции составлены для **конфигураций**:
* 1С:Управление нашей фирмой, редакция 1.6 + CRM, редакция 2.0 (**1.6.10/2.0.12**) (**1.6.10.56**)
Рекомендуемая версия **панели телефонии**: **1.4.26.20+**\\
Рекомендуемая версия **журнала звонков**: **1.0.1.15+**
===== Этап 1. Настройка правил поддержки =====
Перед началом выполнения работ обязательно сделайте **резервное копирование** конфигурации и данных!
Для начала следует разблокировать головной объект конфигурации для внесения изменений.
Порядок действий следующий:
- Убедитесь, что пользователи завершили работу с программой.
- Запустите программу в режиме //"Конфигуратор"//.
- Откройте окно настройки поддержки. {{ :doc:panel1ccrm20:support.png? |}}
- Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно. {{ :astpanel:fastintegration:1f.png |}}
- В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png? |}}
- Затем для головного объекта конфигурации (//"УправлениеНебольшойФирмой_CRM"//) установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. {{ :astpanel:fastintegration:2f.png |}}
- Для общего модуля //"**ВариантыОтчетовПереопределяемый**"// также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. {{ :astpanel:fastintegration:3.png |}}
- Для общего модуля //"**сфпСофтФонПроКлиент**"// также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//.
- Для общей формы //"**CRM_СообщенияПодключения**"// также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//.
- Закройте окно настройки поддержки
Теперь конфигурация готова к внесению изменений.
===== Этап 2. Встраивание журнала звонков =====
- Выполните действия **"Конфигурация" - "Сравнить и объеденить с конфигурацией из файла"** {{ :astpanel:fastintegration:4.png |}}
- Выберите файл конфигурации "**Module_Statistic_Х_Х_Х_ХХ.protect.cf**";
- Снимите флажок со всех объектов конфигурации {{ :astpanel:fastintegration:5.png |}}
- Меню "**Действия**" - "**Отметить по подсистемам файла**" {{ :astpanel:fastintegration:6.png |}}
- Выберите **только** те подсистемы, которые указаны на скриншоте, выполните действие "**Установить**" {{ :astpanel:fastintegration:7.png |}}
- Выполните действие "**Выполнить**" {{ :astpanel:fastintegration:8.png |}}
- В появившемся окне нажимаем "**Продолжить**". Сохраняем отчет сравнения/объединения нашей конфигурации с файлом. {{ :astpanel:fastintegration:9.png |}}
- Сравнение и объединение будет завершено. {{ :astpanel:fastintegration:10.png |}}
==== Изменение типовых объектов ====
Для завершения этапа встраивания журнала звонков необходимо внести изменения в **общий модуль "ВариантыОтчетовПереопределяемый"**.
- Открываем общий модуль "**ВариантыОтчетовПереопределяемый**" для редактирования
- Переходим в процедуру "**ОпределитьРазделыСВариантамиОтчетов**"
- В конец процедуры добавляем строку кода: // МИКО / PT1C / Подсистема "Расширенный журнал звонков" / Начало
Разделы.Добавить(Метаданные.Подсистемы.МИКО_Телефония);
// МИКО / PT1C / Подсистема "Расширенный журнал звонков" / Конец
===== Этап 3. Встраивание панели телефонии =====
==== 1. Добавление обработки в подсистему МИКО_Телефония ====
Замените обработку МИКО_ПанельТелефонииДля1С на внешнюю, которая идет в поставке, она должна называться **МИКО_ПанельТелефонииДля1С**.{{ :astpanel:fastintegration:1231.png |}}
==== 2. Правка модуля управляемого приложения ====
- Откройте модуль управляемого приложения. {{ :astpanel:fastintegration:12.png |}}
- Перейдите к процедуре //"ПриЗавершенииРаботыСистемы"// (создайте процедуру, если ее нет). В конец процедуры вставьте код приведенный ниже.
// PT1C / Панель телефонии Asterisk / Начало
Если сфпПанельУправления <> Неопределено
И ТипЗнч(сфпПанельУправления) = Тип("УправляемаяФорма")
И Найти(сфпПанельУправления.ИмяФормы,"Обработка.МИКО_ПанельТелефонииДля1С")<>0 Тогда
сфпПанельУправления.ЗавершитьРаботу(Истина);
КонецЕсли;
// PT1C / Панель телефонии Asterisk / Конец
==== 3. Изменение общих модулей ====
- Передите к общему модулю "**сфпСофтФонПроКлиент**",
- К процедуре "**сфпПодключитьСофтФон**". В начало необходимо вставить фрагмент кода:
// PT1C / Панель телефонии Asterisk / Начало
НазваниеПанелиТелефонии = "Панель телефонии Asterisk (МИКО)";
Если сфпПанельУправления = Неопределено Тогда
МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии);
КонецЕсли;
Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда
Если сфпПанельУправления = Неопределено Тогда
Попытка
сфпПанельУправления = ПолучитьФорму("Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма");
сфпПанельУправления.ИнициализироватьПанельТелефонии(Истина, Ложь);
Исключение
Сообщить("Не удалось запустить ""Панель телефонии Asterisk (МИКО)""!");
Возврат;
КонецПопытки;
Иначе
// Переопределение обработки команды
Если сфпПанельУправления.Открыта() Тогда
сфпПанельУправления.Активизировать();
Иначе
сфпПанельУправления.Открыть();
КонецЕсли;
КонецЕсли;
Возврат;
КонецЕсли;
// PT1C / Панель телефонии Asterisk / Конец
- К процедуре "**сфпПозвонить**". В начало необходимо вставить фрагмент кода: // PT1C / Панель телефонии Asterisk / Начало
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
ОснованиеЗвонка = Неопределено;
Если ДанныеЗаполнения <> Неопределено
И ДанныеЗаполнения.Свойство("Основание") Тогда
ОснованиеЗвонка = Новый Структура("ОснованиеЗвонка, НомерТелефона", ДанныеЗаполнения.Основание, Телефон);
КонецЕсли;
сфпПанельУправления.Позвонить(Телефон,ОснованиеЗвонка);
Возврат;
КонецЕсли;
// PT1C / Панель телефонии Asterisk / Конец
- К процедуре "**сфпПозвонитьВыбравТелефон**". В начало необходимо вставить фрагмент кода: // PT1C / Панель телефонии Asterisk / Начало
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
сфпПанельУправления.ПозвонитьВыбравТелефон(СписокОбъектов);
Возврат;
КонецЕсли;
// PT1C / Панель телефонии Asterisk / Конец
- К процедуре "**сфпПроверитьДоступностьСофтФон**". В начало необходимо вставить фрагмент кода: // PT1C / Панель телефонии Asterisk / Начало
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
Возврат Истина;
КонецЕсли;
// PT1C / Панель телефонии Asterisk / Конец
==== 4. Изменение общих форм ====
- Перейти к общей форме "**CRM_СообщенияПодключения**". В модуле формы, в процедуре "**ПриСозданииНаСервере**" необходимо добавить фрагмент кода: Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ Параметры.Свойство("ВидФормы") Тогда
Отказ = Истина;
ИначеЕсли Параметры.ВидФормы = "СофтФон" Тогда
// PT1C / Панель телефонии Asterisk / Начало
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
Возврат;
КонецЕсли;
// PT1C / Панель телефонии Asterisk / Конец
// *** *** ***
// ВНИМАНИЕ ПРОПУЩЕНА ЧАСТЬ ИСХОДНОГО КОДА
// *** *** ***
КонецЕсли;
КонецПроцедуры // ПриСозданииНаСервере()
- Перейти к общей форме "**ПечатьДокументов**". В **конец** процедуры "**ПриСозданииНаСервере**" необходимо добавить фрагмент кода: // PT1C / Панель телефонии Asterisk / Начало
МИКО_Софтфон.ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма);
// PT1C / Панель телефонии Asterisk / Конец
- **После** процедуры "**ПриСозданииНаСервере**", добавить дополнительные процедуры - обработки:
&НаКлиенте
Процедура МИКО_ОтправитьКакФакс()
Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)")
ИЛИ сфпПанельУправления = Неопределено Тогда
Возврат;
КонецЕсли;
ТабличныеДокументы = Новый СписокЗначений;
Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл
Если Элементы[НастройкаПечатнойФормы.ИмяРеквизита].Вывод = ИспользованиеВывода.Разрешить И НастройкаПечатнойФормы.Печатать Тогда
ТабличныеДокументы.Добавить(ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита], НастройкаПечатнойФормы.Представление);
КонецЕсли;
КонецЦикла;
Если ТабличныеДокументы.Количество()=0 Тогда
Возврат;
Иначе
ТабДок = ТабличныеДокументы[0].Значение;
КонецЕсли;
// отсылаем факс
сфпПанельУправления.ОтправитьФайлПоФаксу(,ТабДок);
КонецПроцедуры // МИКО_ОтправитьКакФакс()
&НаКлиенте
Процедура МИКО_Позвонить()
Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)")
ИЛИ сфпПанельУправления = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыПечати = Неопределено;
Если ТипЗнч(ОбъектыПечати) = Тип("СписокЗначений")
И ОбъектыПечати.Количество() > 0 Тогда
Участник = МИКО_Софтфон.ПолучитьСсылкуНаУчастникаИзДокумента(ОбъектыПечати[0].Значение);
Если ТипЗнч(Участник) = Тип("Массив")
И Участник.Количество()>0 Тогда
сфпПанельУправления.ПозвонитьВыбравТелефон(Участник);
ИначеЕсли Участник <> Неопределено Тогда
СписокУчастников = Новый Массив(1);
СписокУчастников[0] = Участник;
сфпПанельУправления.ПозвонитьВыбравТелефон(СписокУчастников);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
===== Этап 4. Завершение этапа встраивания =====
==== Сохранение изменений ====
- Обновите конфигурацию базы данных.{{ :astpanel:fastintegration:13.png |}}
- В отобразившемся окне нажмите **Принять** {{ :astpanel:fastintegration:14.png |}}
==== Обновление конфигурации ====
- Запустите процесс обновления конфигурации. В конфигураторе перейдите в меню "**Сервис**" - "**Параметры**", вкладка "**Запуск 1С:Предприятие**"
- В поле "**Параметры запуска**" укажите строку "**ЗапуститьОбновлениеИнформационнойБазы**" {{ :astpanel:statistic:startupdate.png?450 |}}
- Запустите 1С:Предприятие из конфигуратора "**Отладка**" - "**Начать отладку**"
- Дождитесь завершения обновления
- Удалите из параметров запуска строку "**ЗапуститьОбновлениеИнформационнойБазы**". Перезапустите 1С.
==== Завершение настройки ====
Операции требовательны к ресурсам ПК. Лучше их выполнить в нерабочее время.
- Запустите **1С Предприятие под полными правами** в пользовательском режиме
- **"Все функции" - "Обработки" - "МИКО: Заполнить индекс телефонов"**
- Выполните действие "**Заполнить коды городов**"
- Выполните действие "**Перезаполнить индекс номеров**"
На этом встраивание панели телефонии и журнала звонков в конфигурацию завершено. Теперь можно перейти к настройке продуктов в режиме 1С:Предприятие:
===== Первый запуск =====
- Необходимо запустить 1С под учетной записью администратора 1С.
- Перейдите в раздел "**Компания**"
- Перейдите по ссылке "**Администрирование**" - "**CRM: Настройки**" - "**CRM: Работа с СофтФон**" необходимо включить использование Софтфон\\ {{ :astpanel:fastintegration:otvet233.png |}}\\ {{ :astpanel:fastintegration:otvet234.png |}}\\
- Перейдите в раздел "**Компания**" -"**Сервис**"-"**Персональные настройки(CRM)**".\\ {{ :astpanel:fastintegration:otvet231.png |}}
- Включите опции:
* "**Использовать СофтФон**"
* "**Панель телефонии Asterisk (МИКО)**"
* "**Использовать внутреннюю панель СофтФон**"\\ {{ :astpanel:fastintegration:otvet232.png |}}
*[[astpanel:enterprise:managed#pervyj_zapusk| Настройка панели телефонии]]
*[[astpanel:statistic:settings| Настройка журнала звонков]]
===== Запись вебинара =====
Запись вебинара по встраиванию панели телефонии и журнала звонков на примере конфигурации "Управление нашей фирмой, редакция **1.6**".\\
{{youtube>RUaeOJYJpEc?medium}}
[[astpanel:fastintegration|Обратно к перечню инструкций]]