~~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" для обработки звонков]]