~~NOTOC~~
====== Встраивание подсистемы телефонии в 1С:CRM 3.0 ======
Данное руководство поможет Вам самостоятельно встроить подсистему телефонии в вашу конфигурацию 1С. Следуйте инструкциям шаг-за-шагом в том порядке, в котором они представлены.
Руководство подходит только для "1С:CRM 3.0". Для других конфигураций (в том числе "1С:CRM 2.0") используйте [[nightbird:integration-1c-managed|эту инструкцию]].
Данное руководство предполагает наличие у читателя навыков работы с конфигуратором 1С.
===== Задачи =====
* [[nightbird:integration-1c-crm3#shag_1_vkljuchite_vozmozhnost_izmenenija_konfiguracii|Шаг 1. Включите возможность изменения конфигурации]]
* [[nightbird:integration-1c-crm3#shag_2_vstrojte_podsistemu_telefonii|Шаг 2. Встройте подсистему телефонии]]
* [[nightbird:integration-1c-crm3#shag_3_dopolnite_kod_programmnyx_modulej|Шаг 3. Дополните код программных модулей]]
===== Шаг 1. Включите возможность изменения конфигурации =====
Встраивание подсистемы требует разблокировки головного объекта. Не забудьте сделать резервную копию информационной базы перед началом работы.
=== Для разблокировки головного объект: ===
- Откройте конфигуратор вашей информационной базы.
- Откройте окно настройки поддержки, //Конфигурация -> Поддержка -> Настройка поддержки//.
- **Включите возможность изменения** конфигурации. На предупреждение программы ответьте утвердительно.
- В появившемся окне укажите, что объекты поставщика не редактируются. {{ :nightbird:01-08-2018_8-52-41.png?nolink |}}
- Для головного объекта конфигурации установите правило поддержки на "Объект поставщика редактируется с сохранением поддержки".
===== Шаг 2. Встройте подсистему телефонии =====
Теперь конфигурация готова для внесения изменений. Будьте особенно внимательны на данном шаге, чтобы не повредить объекты Вашей конфигурации.
=== Для встраивания подсистемы: ===
- Чтобы получить файл конфигурации подсистемы телефонии:\\ а. Откройте личный кабинет МИКО https://telefon.miko.ru/personal/update-files/.\\ б. Скачайте дистрибутив подсистемы телефонии.\\ в. Распакуйте архив.\\
- Откройте окно сравнения и объединения конфигураций:\\ а. Выполните команду //Конфигурация -> Сравнить, объединить с конфигурацией из файла//.\\ б. Выберите файл подсистемы телефонии.
- Снимите флажок с головного объекта. {{ :nightbird:07-08-2018_9-56-18.png?nolink |}}
- Отметьте объекты встраиваемой подсистемы :\\ а. Откройте окно отбора по подсистемам, //Действия -> Отметить по подсистемам файла//. {{ :nightbird:01-08-2018_11-00-45.png?nolink |}}\\ б. Снимите флажок с элемента "ПодсистемаТелефонии".\\ в. Установите флажок на элементе "ИнтеграцияCRM".\\ г. Установите флажок "Включать объекты родительских подсистем". {{ :nightbird:07-08-2018_10-01-38.png?nolink |}}\\ д. Нажмите **Установить**.
- Нажмите **Выполнить**.
- В окне неразрешимых ссылок нажмите **Продолжить**. {{ :nightbird:07-08-2018_10-06-31.png?nolink |}}
- Сохраните изменения, //Конфигурация -> Сохранить конфигурацию//.
Вы можете пропустить настройку карточки клиента, если планируете использовать другую форму обработки звонка.
=== Для настройки карточки клиента: ===
- Откройте основную форму обработки **микоКарточкаКлиента**.
- **В списке реквизитов** формы выберите основной реквизит **Объект**.
- Установит **тип** реквизита в значение, которое будет соответствовать **объекту справочника клиентов** Вашей конфигурации. В типовых конфигурациях этот справочник может называться Клиенты, Партнеры или Контрагенты. {{ :nightbird:06-08-2018_15-16-50.png?nolink |}}
===== Шаг 3. Дополните код программных модулей =====
Чтобы подсистема телефонии могла запускаться и полноценно функционировать нужно внести изменения в программные модули Вашей конфигурации. На этом шаге будут внесены изменения в модули приложений, подсистему отчетов и некоторые другие.
=== Для настройки работы подсистемы в CRM: ===
- Откройте общий модуль **микоТелефонияКлиентПереопределяемый**.
- Перейдите к процедуре **НастроитьИнтеграцию** и удалите комментарий со строки интеграции с CRM так, чтобы получилось следующие:
Процедура НастроитьИнтеграцию(МодулиИнтеграции) Экспорт
// Интеграция с CRM 3.0
МодулиИнтеграции.Добавить("микоТелефонияИнтеграцияCRMКлиент");
КонецПроцедуры
- Откройте общий модуль **микоТелефонияПереопределяемый**.
- Перейдите к процедуре **НастроитьИнтеграцию** и удалите комментарий со строки интеграции с CRM так, чтобы получилось следующие:
Процедура НастроитьИнтеграцию(МодулиИнтеграции) Экспорт
// Интеграция с CRM 3.0
МодулиИнтеграции.Добавить("микоТелефонияИнтеграцияCRM");
КонецПроцедуры
=== Для настройки запуска подсистемы: ===
- Откройте **модуль управляемого приложения**.
- Перейдите к разделу объявления переменных и добавьте код:
// PT1C / Панель телефонии / Начало
Перем микоКоннекторAPI Экспорт;
Перем микоПерсональныеНастройки Экспорт;
// PT1C / Панель телефонии / Конец
- Перейдите к процедуре **ОбработкаВнешнегоСобытия** и добавьте **в конец** тела процедуры код:
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
// ...
// PT1C / Панель телефонии / Начало
микоТелефонияСлужебный.ОбработатьВнешнееСобытие(Источник, Событие, Данные);
// PT1C / Панель телефонии / Конец
КонецПроцедуры
- Перейдите к процедуре **ПриЗавершенииРаботыСистемы** и добавьте **в конец** тела процедуры код:
Процедура ПриЗавершенииРаботыСистемы()
// ...
// PT1C / Панель телефонии / Начало
микоКоннекторAPI = Неопределено;
микоПерсональныеНастройки = Неопределено;
// PT1C / Панель телефонии / Конец
КонецПроцедуры
- Откройте общий модуль **сфпСофтФонПроКлиент**.
- Перейдите к процедуре **сфпПодключитьСофтФон** и добавьте **в начало** тела процедуры код:
Процедура сфпПодключитьСофтФон() Экспорт
// PT1C / Панель телефонии / Начало
Если микоТелефония.Использовать() Тогда
Оповещение = Новый ОписаниеОповещения("ПослеИнициализацииКомпонента", микоТелефонияСлужебный);
микоТелефонияКлиент.ИнициализироватьКомпонент(Оповещение);
сфпОтключитьСофтФон();
Возврат;
КонецЕсли;
// PT1C / Панель телефонии / Конец
// ...
КонецПроцедуры
=== Для настройки обработчика кнопки "Позвонить": ===
- Откройте общий модуль **сфпСофтФонПроКлиент**.
- Перейдите к процедуре **сфпПозвонить** и добавьте в тело процедуры код:
Процедура сфпПозвонить(Телефон, Объект = Неопределено, ДанныеЗаполнения = Неопределено) Экспорт
Если ПустаяСтрока(Телефон) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Не выбран номер телефона!'"), 5);
Возврат;
ИначеЕсли НЕ сфпПроверитьДоступностьСофтФон(Истина) Тогда
Возврат;
ИначеЕсли Телефон = сфпСофтФонПроСервер.сфпТекущийВнутреннийНомер() Тогда
Возврат;
КонецЕсли;
// PT1C / Панель телефонии / Начало
Если микоТелефония.Использовать() И (Не микоПерсональныеНастройки = Неопределено) Тогда
микоТелефонияКлиент.Позвонить(Телефон, микоПерсональныеНастройки.ВнутреннийНомер);
Возврат;
КонецЕсли;
// PT1C / Панель телефонии / Конец
// ...
КонецПроцедуры
- Перейдите к процедуре **сфпВыполнитьЗвонокПоНомеру** и добавьте в тело процедуры код:
Процедура сфпВыполнитьЗвонокПоНомеру(ВыбранныйНомер, ДополнительныеПараметры) Экспорт
Если ВыбранныйНомер = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Не выбран номер телефона!'"), 5);
Возврат;
КонецЕсли;
// PT1C / Панель телефонии / Начало
Если микоТелефония.Использовать() И (Не микоПерсональныеНастройки = Неопределено) Тогда
микоТелефонияКлиент.Позвонить(ВыбранныйНомер.Значение.Телефон, микоПерсональныеНастройки.ВнутреннийНомер);
Возврат;
КонецЕсли;
// PT1C / Панель телефонии / Конец
сфпПозвонить(ВыбранныйНомер.Значение.Телефон, ВыбранныйНомер.Значение.Контакт, ДополнительныеПараметры.ДанныеЗаполнения);
КонецПроцедуры
- Откройте общий модуль **сфпСофтФонПроСервер**.
- Перейдите к процедуре **сфпПолучитьМассивТелефоновИФаксов** и добавьте **в начало** тела процедуры код:
Функция сфпПолучитьМассивТелефоновИФаксов(Ссылка) Экспорт
// PT1C / Панель телефонии / Начало
Если микоТелефония.Использовать() Тогда
Возврат микоТелефония.ПолучитьТелефоны(Ссылка);
КонецЕсли;
// PT1C / Панель телефонии / Конец
// ...
КонецПроцедуры
Вы можете пропустить настройку панели отчетов, если не планируете использовать [[https://telefon.miko.ru/products/journal-zvonkov/|журнал звонков]].
=== Для настройки панели отчетов: ===
- Откройте общий модуль **ВариантыОтчетовПереопределяемый**.
- Перейдите к процедуре **ОпределитьРазделыСВариантамиОтчетов** и добавьте **в конец** тела процедуры код:
Процедура ОпределитьРазделыСВариантамиОтчетов(Разделы) Экспорт
// ...
// PT1C / Панель телефонии / Начало
микоТелефония.ОпределитьРазделыСВариантамиОтчетов(Разделы);
// PT1C / Панель телефонии / Конец
КонецПроцедуры
=== Завершите встраивание подсистемы применив изменения: ===
- Сохраните изменения, Конфигурация → Сохранить конфигурацию.
- Обновите конфигурацию базы данных, //Конфигурация -> Обновить конфигурацию базы данных//.
== Полезные ссылки: ==
* [[nightbird:prepare-1c|Настройка подсистемы телефонии для работы в 1С]]
* [[nightbird:prepare-1c-crm3|Настройка "1С:CRM 3.0" для обработки звонков]]