Здесь показаны различия между двумя версиями данной страницы.
— |
astpanel:designer:alfa5_1 [2020/10/18 11:09] (текущий) imal создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Интеграция с Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ. Редакция 5 ====== | ||
+ | <note warning> Обращаем внимание, что версия платформы 1С:Предприятие должна быть **НЕ НИЖЕ** 8.2.15!!!</note> | ||
+ | <note warning> Инструкция составлена для конфигурации Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ **редакции 5.1.21.06**. Для прочих редакций схема встраивания может отличаться, ипользуйте прошлую версию [[astpanel:designer:alfa5|инструкций]].</note> | ||
+ | Самостоятельное встраивание телефонии должно производиться сотрудником строго по данной инструкции во избежании проблем с программой. | ||
+ | Для интеграции обработки телефонии «**МИКО_ПанельТелефонииДля1С**» в типовую конфигурацию Альфа-Авто необходимо выполнить ряд простых действий, описанных ниже. | ||
+ | |||
+ | <note warning> Перед началом работ настоятельно рекомендуем выполнить **РЕЗЕРВНУЮ КОПИЮ** вашей информационной базы!</note> | ||
+ | ===== Этап 1. Предварительная настройка ===== | ||
+ | Сначала необходимо выполнить настройки в режиме 1С:Предприятие по [[astpanel:designer:alfa51:enterprise|инструкции]]. | ||
+ | |||
+ | ===== Этап 2. Включить возможность изменения конфигурации ===== | ||
+ | {{page>astpanel:designer:ut11:poddergka}} | ||
+ | ===== Этап 3. Добавление обработки телефонии ===== | ||
+ | |||
+ | Необходимо добавить обработку «**МИКО_ПанельТелефонииДля1С**». | ||
+ | |||
+ | - В дереве метаданных находим ветку «Обработки». | ||
+ | - Правой кнопкой мыши открываем контекстное меню, выбираем «**Вставить внешнюю обработку,отчет...**». {{ :doc:conftree.png? |Добавление обработки телефонии}} | ||
+ | - Выбираем файл "**МИКО_ПанельТелефонииДля1С.epf**" из каталога дистрибутива. | ||
+ | |||
+ | |||
+ | ===== Этап 4. Внесение изменений в глобальный модуль ===== | ||
+ | |||
+ | Внесем доработки в "Модуль обычного приложения". | ||
+ | - В дереве объектов метаданных находим корневой узел. | ||
+ | - Правой кнопкой мыши открываем контекстное меню, выбираем «Открыть модуль обычного приложения». {{ :astpanel:designer:modul_obichnogo_prilogeniya_alfa.png? |}} | ||
+ | |||
+ | Находим процедуру "**ОбработкаВнешнегоСобытия(Источник, Событие, Данные)**" в конце процедуры, перед надписью "КонецПроцедуры" вставляем следующий код: | ||
+ | |||
+ | <code 1c> | ||
+ | // Процедура выполняет обработку внешнего события | ||
+ | // | ||
+ | Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) | ||
+ | |||
+ | // *** *** *** // | ||
+ | |||
+ | // МИКО / Панель телефонии Asterisk / Начало | ||
+ | Если НЕ РарусСофтФонПроф = Неопределено | ||
+ | И (Источник = "MikoAjamEvent" ИЛИ Источник = "MIKO_SoftPhone" ИЛИ Источник = "hWindow") Тогда | ||
+ | РарусСофтФонПроф.ОбработкаВнешнегоСобытияАстериск(Источник, Событие, Данные); | ||
+ | КонецЕсли; | ||
+ | // МИКО / Панель телефонии Asterisk / Конец | ||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
+ | ===== Этап 5. Обработка "CRM_СофтФонПроф" ===== | ||
+ | В модуле обработки CRM_СофтФонПроф найдем процедуру **ПодключитьСофтФон()**. В начало процедуры добавим фрагмент кода: | ||
+ | <code 1c> | ||
+ | // Выполняем подключение Софтфона, вызов функции располагается в модуле приложения | ||
+ | // в процедуре ПриСтартеСистемы | ||
+ | Функция ПодключитьСофтФон() Экспорт | ||
+ | |||
+ | // МИКО / Панель телефонии Asterisk / НАЧАЛО | ||
+ | РарусСофтФонПроф = Обработки.МИКО_ПанельТелефонииДля1С.Создать(); | ||
+ | РарусСофтФонПроф.ПодключитьСофтФон(); | ||
+ | Возврат Истина; | ||
+ | // МИКО / Панель телефонии Asterisk / КОНЕЦ | ||
+ | |||
+ | // *** // *** // *** // | ||
+ | |||
+ | КонецФункции | ||
+ | </code> | ||
+ | |||
+ | ===== Этап 6. Регистр сведений "Контактная информация" ===== | ||
+ | |||
+ | В модуле набора записей скорректировать процедуру: | ||
+ | <code 1c> | ||
+ | Процедура ПередЗаписью(Отказ, Замещение) | ||
+ | // проверка для предотвращения попытки полной зачистки регистра | ||
+ | Если ЭтотОбъект.Количество() = 0 Тогда | ||
+ | Если ОбЗначениеНеЗаполнено(ЭтотОбъект.Отбор.Объект.Значение) И | ||
+ | ОбЗначениеНеЗаполнено(ЭтотОбъект.Отбор.Тип.Значение) И | ||
+ | ОбЗначениеНеЗаполнено(ЭтотОбъект.Отбор.Вид.Значение) Тогда | ||
+ | СтрокаОтказа = ""; | ||
+ | Отказ = Истина; | ||
+ | КонецЕсли; | ||
+ | КонецЕсли; | ||
+ | |||
+ | // проверки оставлены в модуле на случай редактирования КИ в строке | ||
+ | // Вообще проверка делается локально в каждой форме записи КИ | ||
+ | Для Каждого Запись Из ЭтотОбъект Цикл | ||
+ | |||
+ | Если ОбЗначениеНеЗаполнено(Запись.Объект) Тогда | ||
+ | Отказ = Истина; | ||
+ | СтрокаОтказа = "Не заполнено поле ""Владелец"". Запись невозможна!"; | ||
+ | Продолжить; | ||
+ | КонецЕсли; | ||
+ | |||
+ | Если Запись.Объект.ЭтоГруппа Тогда | ||
+ | Отказ = Истина; | ||
+ | СтрокаОтказа = "Нельзя использовать группу в качестве объекта контактной информации."; | ||
+ | Прервать; | ||
+ | КонецЕсли; | ||
+ | |||
+ | Если ОбЗначениеНеЗаполнено(Запись.Вид) Тогда | ||
+ | Отказ = Истина; | ||
+ | СтрокаОтказа = "Не заполнено поле ""Вид"". Запись невозможна!"; | ||
+ | Прервать; | ||
+ | КонецЕсли; | ||
+ | |||
+ | Если ОбЗначениеНеЗаполнено(Запись.Представление) Тогда | ||
+ | Отказ = Истина; | ||
+ | СтрокаОтказа = "Не заполнено представление контактной информации. Запись невозможна!"; | ||
+ | Прервать; | ||
+ | КонецЕсли; | ||
+ | //********************************************************************** | ||
+ | // PT1C / начало редактирования | ||
+ | // производим дозаполнение контактной информации | ||
+ | # Если Клиент Тогда | ||
+ | Если Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда | ||
+ | ПредставлениеБаза = Запись.Представление; | ||
+ | ПредставлениеНомера = Запись.Поле1 + Запись.Поле2 + Запись.Поле3; | ||
+ | Если ЗначениеЗаполнено(Запись.Поле4) И НЕ ЗначениеЗаполнено(ПредставлениеНомера) Тогда | ||
+ | Запись.CRM_ПолеХраненияНомера = CRMПреобразоватьНомерДляСохранения(Запись.Поле4, глКоличествоХранимыхЦифрТелефона); | ||
+ | ИначеЕсли НЕ ЗначениеЗаполнено(ПредставлениеНомера + Запись.Поле4) И ЗначениеЗаполнено(ПредставлениеБаза) Тогда | ||
+ | Запись.CRM_ПолеХраненияНомера = CRMПреобразоватьНомерДляСохранения (ПредставлениеБаза, глКоличествоХранимыхЦифрТелефона); | ||
+ | Иначе | ||
+ | Запись.CRM_ПолеХраненияНомера = CRMПреобразоватьНомерДляСохранения (ПредставлениеНомера, глКоличествоХранимыхЦифрТелефона); | ||
+ | КонецЕсли; | ||
+ | КонецЕсли; | ||
+ | // Для возможности сохранения Скайп номера, обойдем лишние проверки при изменении данных | ||
+ | Если Найти(Запись.Вид,"Skype")>0 Тогда | ||
+ | Запись.CRM_НомерТелефона = Запись.Представление; | ||
+ | КонецЕсли; | ||
+ | # КонецЕсли | ||
+ | // PT1C // окончание редактирования | ||
+ | //********************************************** | ||
+ | КонецЦикла; | ||
+ | |||
+ | Если Отказ Тогда | ||
+ | Сообщить(СтрокаОтказа); | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ===== Этап 7. Документ "Событие" ===== | ||
+ | Для возможности прослушивать запись разговора, прикрепленного к документу, необходимо модифицировать форму документа "**ФормаДокумента**": | ||
+ | |||
+ | <code 1c>Процедура ДействияФормыCLON(Кнопка) | ||
+ | // PT1C / Панель телефонии Asterisk / Начало | ||
+ | Если НЕ РарусСофтФонПроф = Неопределено | ||
+ | И ТипЗнч(РарусСофтФонПроф) = Тип("ОбработкаОбъект.МИКО_ПанельТелефонииДля1С") Тогда | ||
+ | РарусСофтФонПроф.ПрослушатьЗаписьРазговора(CRM_GUIDЗвонка); | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
+ | |||
+ | // *** // *** // *** // | ||
+ | |||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
+ | <note important>В случае использования АТС **MyPBX** для корректной работы функции прослушивания необходимо изменить параметры реквизита **CRM_GUIDЗвонка**: | ||
+ | |||
+ | * Тип = **Переменная строка 300** символов | ||
+ | </note> | ||
+ | |||
+ | В дальнейшем, если пользователю разрешено прослушивать записи следует назначить ему дополнительную настройку: | ||
+ | {{ :astpanel:designer:122222.png |Разрешить прослушивание разговора}} | ||
+ | |||
+ | ===== Этап 8. Печатная форма ===== | ||
+ | |||
+ | Для возможности отправить факсов сформированную печатную форму в текущий разговор, необходимо модифицировать общую печатную форму **ПечатнаяФормаДокументов**. | ||
+ | <code 1c>Процедура ПриОткрытии() | ||
+ | // PT1C / Панель телефонии Asterisk / Начало | ||
+ | PT1C_ОправитьФаксом = ЭлементыФормы.ДействияФормы.Кнопки.Вставить(7,"PT1C_ОправитьФаксом",ТипКнопкиКоманднойПанели.Действие, "Отправить факсом текущий документ",Новый Действие("PT1C_ДействияФормы_ОправитьФаксом")); | ||
+ | PT1C_ОправитьФаксом.Имя = "PT1C_ОправитьФаксом"; | ||
+ | PT1C_ОправитьФаксом.Подсказка = "Отправляет текущий документ факсом"; | ||
+ | PT1C_ОправитьФаксом.Доступность = Истина; | ||
+ | PT1C_ОправитьФаксом.ИзменяетДанные = Ложь; | ||
+ | PT1C_ОправитьФаксом.Пояснение = "Отправить в текущий разговор факсимильное сообщение"; | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
+ | // Сформеруем заголовок формы | ||
+ | |||
+ | // *** // *** // *** // | ||
+ | |||
+ | КонецПроцедуры | ||
+ | |||
+ | //обработчик нажатия на кнопку отправки табличного документа в текущий разговор | ||
+ | Процедура PT1C_ДействияФормы_ОправитьФаксом(Кнопка) | ||
+ | Если НЕ РарусСофтФонПроф = Неопределено | ||
+ | И ТипЗнч(РарусСофтФонПроф) = Тип("ОбработкаОбъект.МИКО_ПанельТелефонииДля1С") Тогда | ||
+ | РарусСофтФонПроф.ОтправитьФаксомТабДок(ЭлементыФормы.ТабличныйДокумент); | ||
+ | КонецЕсли; | ||
+ | КонецПроцедуры | ||
+ | |||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Этап 9. Создание роли "Телефония" ===== | ||
+ | |||
+ | Завершаем встраивание телефонии МИКО в Альфа-Авто 5 созданием роли "****МИКО_ИспользованиеСофтфона****". Это необходимо сделать для настройки прав доступа пользователей, которые будут пользоваться телефонией.\\ | ||
+ | - В дереве конфигурации находим папку "Общее" , далее "Роли" и по кнопке добавить создаем новую роль "**МИКО_ИспользованиеСофтфона**". {{ :doc:dobavlenie_roli.jpg? |}} | ||
+ | - В столбце "**Объекты**" находим обработку "**МИКО_ПанельТелефонииДля1C**" и в правом столбце "Права" выставляем галочки "Использовать" и "Просмотр" . {{ :doc:11telefonija_ispolzov.jpg? |}} | ||
+ | |||
+ | <note important>Для роли установите синоним "**Использование панели телефонии Asterisk (МИКО)**".</note> | ||
+ | ===== Этап 10. Права доступа "Телефония" ===== | ||
+ | |||
+ | <note warning>Перед выполнением этого шага обязательно выполните этап №6 и сохраните изменения "**Конфигурация**" - "**Обновить конфигурацию базы данных**".</note> | ||
+ | |||
+ | Обязательно укажите для пользователя роль "**Использование панели телефонии Asterisk (МИКО)**". Иначе первый запуск произвести невозможно. {{ :astpanel:designer:user_rol.png?nolink |}} | ||
+ | |||
+ | <note warning>Если, по какой то причине, необходимо прекратить запуск панели телефонии для пользователя, то просто отключите для него роль "**Использование панели телефонии Asterisk (МИКО)**".</note> | ||
+ | |||
+ | На этом доработка завершена. | ||
+ | ===== Коментарии ===== | ||
+ | ~~DISQUS~~ |