Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
astpanel:fastintegration:ut_crm2_0_19 [2017/09/05 10:04] tpor создано |
astpanel:fastintegration:ut_crm2_0_19 [2018/08/27 13:59] (текущий) tpor |
||
---|---|---|---|
Строка 23: | Строка 23: | ||
- Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно. {{ :astpanel:fastintegration:1f.png |}} | - Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно. {{ :astpanel:fastintegration:1f.png |}} | ||
- В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png? |}} | - В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png? |}} | ||
- | - Затем для головного объекта конфигурации (//"КомплекснаяАвтоматизация"//) установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. {{ :astpanel:fastintegration:2f.png |}} | + | - Затем для головного объекта конфигурации (//"УправлениеТорговлей_CRM_2"//) установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. {{ :astpanel:fastintegration:2f.png |}} |
- | - Для общего модуля //"**ВариантыОтчетовУТПереопределяемый**"// также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | + | - Для общего модуля //"**сфпСофтФонПроКлиент**"// также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. |
+ | - Для общего модуля //"**ВариантыОтчетовУТПереопределяемый**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | ||
+ | - Для общей формы //"**CRM_СообщенияПодключения**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | ||
- Закройте окно настройки поддержки | - Закройте окно настройки поддержки | ||
Строка 48: | Строка 50: | ||
- В конец **условия** процедуры добавляем строку кода: <code>Процедура ОпределитьРазделыСВариантамиОтчетов(Разделы) Экспорт | - В конец **условия** процедуры добавляем строку кода: <code>Процедура ОпределитьРазделыСВариантамиОтчетов(Разделы) Экспорт | ||
Если НЕ ПолучитьФункциональнуюОпцию("БазоваяВерсия") Тогда | Если НЕ ПолучитьФункциональнуюОпцию("БазоваяВерсия") Тогда | ||
- | Разделы.Добавить(Метаданные.Подсистемы.CRMИМаркетинг, | + | Разделы.Добавить(ВариантыОтчетовКлиентСервер.ИдентификаторНачальнойСтраницы(), |
- | НСтр("ru= 'Отчеты по CRM и маркетингу'")); | + | НСтр("ru = 'Главное'")); |
- | //Внимание!!! Пропущена часть исходного кода | + | // ВНИМАНИЕ!!! Пропущена часть исходного кода! |
- | + | ||
- | //++ НЕ УТ | + | |
- | Разделы.Добавить(Метаданные.Подсистемы.РегламентированныйУчет, | + | |
- | НСтр("ru= 'Отчеты по регламентированному учету'")); | + | |
- | + | ||
- | Разделы.Добавить(Метаданные.Подсистемы.РегламентированныйУчет.Подсистемы.СтандартныеОтчеты, | + | |
- | НСтр("ru= 'Стандартные бухгалтерские отчеты'")); | + | |
- | + | ||
- | Разделы.Добавить(Метаданные.Подсистемы.Производство, | + | |
- | НСтр("ru= 'Отчеты по производству'")); | + | |
- | // МИКО / PT1C / Подсистема "Расширенный журнал звонков" | + | Разделы.Добавить(Метаданные.Подсистемы.Найти("Планирование"), |
- | Разделы.Добавить(Метаданные.Подсистемы.МИКО_Телефония); | + | НСтр("ru= 'Отчеты по планированию'")); |
- | // МИКО / PT1C / Подсистема "Расширенный журнал звонков" | + | |
- | //-- НЕ УТ | + | // МИКО / PT1C / Подсистема "Расширенный журнал звонков" |
+ | Разделы.Добавить(Метаданные.Подсистемы.Найти("МИКО_Телефония")); | ||
+ | // МИКО / PT1C / Подсистема "Расширенный журнал звонков" | ||
КонецЕсли; | КонецЕсли; | ||
КонецПроцедуры | КонецПроцедуры | ||
+ | |||
</code> | </code> | ||
Строка 81: | Строка 76: | ||
==== 2. Правка модуля управляемого приложения ==== | ==== 2. Правка модуля управляемого приложения ==== | ||
- Откройте модуль управляемого приложения. {{ :astpanel:fastintegration:12f.png |}} | - Откройте модуль управляемого приложения. {{ :astpanel:fastintegration:12f.png |}} | ||
- | - Определите глобальную переменную в начале модуля до раздела процедур. <code 1c>// PT1C / Панель телефонии Asterisk / Начало | + | - Перейдите к процедуре //"ПриЗавершенииРаботыСистемы"// (создайте процедуру, если ее нет). В конец процедуры вставьте код приведенный ниже.<code 1c> |
- | Перем сфпФормаТелефон Экспорт; | + | // PT1C / Панель телефонии Asterisk / Начало |
- | // PT1C / Панель телефонии Asterisk / Конец </code> | + | Если сфпПанельУправления <> Неопределено |
- | - Перейдите к процедуре //"ПриНачалеРаботыСистемы"//. В конец процедуры вставьте код приведенный ниже.<code 1c> | + | И ТипЗнч(сфпПанельУправления) = Тип("УправляемаяФорма") |
- | // PT1C / Панель телефонии Asterisk / Начало | + | И Найти(сфпПанельУправления.ИмяФормы,"Обработка.МИКО_ПанельТелефонииДля1С")<>0 Тогда |
- | Попытка | + | сфпПанельУправления.ЗавершитьРаботу(Истина); |
- | Отказ = Ложь; | + | КонецЕсли; |
- | // получим форму - основной "модуль" панели телефонии | + | // PT1C / Панель телефонии Asterisk / Конец |
- | сфпФормаТелефон = ПолучитьФорму("Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма"); | + | </code> |
- | Исключение | + | |
- | сфпФормаТелефон = Неопределено; //Нет прав на обработку | + | ==== 3. Изменение общего модуля ==== |
- | КонецПопытки; | + | - Передите к общему модулю "**сфпСофтФонПроКлиент**", |
- | + | - К процедуре "**сфпПодключитьСофтФон**". В начало необходимо вставить фрагмент кода: <code 1с> | |
- | Если НЕ сфпФормаТелефон = Неопределено Тогда | + | // PT1C / Панель телефонии Asterisk / Начало |
- | сфпФормаТелефон.ИнициализироватьПанельТелефонии(Истина, Отказ); | + | НазваниеПанелиТелефонии = "Панель телефонии Asterisk (МИКО)"; |
+ | Если сфпПанельУправления = Неопределено Тогда | ||
+ | МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии); | ||
КонецЕсли; | КонецЕсли; | ||
- | // проверим успешность инициализации | + | |
- | Если Отказ Тогда | + | Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда |
- | Сообщить("Не удалось запустить ""МИКО Панель телефонии Asterisk"""); | + | Если сфпПанельУправления = Неопределено Тогда |
+ | Попытка | ||
+ | сфпПанельУправления = ПолучитьФорму("Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма"); | ||
+ | сфпПанельУправления.ИнициализироватьПанельТелефонии(Истина, Ложь); | ||
+ | Исключение | ||
+ | Сообщить("Не удалось запустить ""Панель телефонии Asterisk (МИКО)""!"); | ||
+ | Возврат; | ||
+ | КонецПопытки; | ||
+ | Иначе | ||
+ | // Переопределение обработки команды | ||
+ | Если сфпПанельУправления.Открыта() Тогда | ||
+ | сфпПанельУправления.Активизировать(); | ||
+ | Иначе | ||
+ | сфпПанельУправления.Открыть(); | ||
+ | КонецЕсли; | ||
+ | КонецЕсли; | ||
+ | Возврат; | ||
КонецЕсли; | КонецЕсли; | ||
- | // PT1C / Панель телефонии Asterisk / Конец | + | // PT1C / Панель телефонии Asterisk / Конец |
+ | </code> | ||
+ | - К процедуре "**сфпПозвонить**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | ||
+ | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
+ | ОснованиеЗвонка = Неопределено; | ||
+ | |||
+ | Если ДанныеЗаполнения <> Неопределено | ||
+ | И ДанныеЗаполнения.Свойство("Основание") Тогда | ||
+ | |||
+ | ОснованиеЗвонка = Новый Структура("ОснованиеЗвонка, НомерТелефона", ДанныеЗаполнения.Основание, Телефон); | ||
+ | |||
+ | КонецЕсли; | ||
+ | сфпПанельУправления.Позвонить(Телефон,ОснованиеЗвонка); | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
</code> | </code> | ||
- | - Перейдите к процедуре //"ПриЗавершенииРаботыСистемы"// (создайте процедуру, если ее нет). В конец процедуры вставьте код приведенный ниже.<code 1c> | + | - К процедуре "**сфпПозвонитьВыбравТелефон**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало |
- | // PT1C / Панель телефонии Asterisk / Начало | + | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда |
- | Если сфпФормаТелефон <> Неопределено Тогда | + | сфпПанельУправления.ПозвонитьВыбравТелефон(СписокОбъектов); |
- | сфпФормаТелефон.ЗавершитьРаботу(Истина); | + | Возврат; |
КонецЕсли; | КонецЕсли; | ||
// PT1C / Панель телефонии Asterisk / Конец | // PT1C / Панель телефонии Asterisk / Конец | ||
</code> | </code> | ||
+ | - К процедуре "**сфпПроверитьДоступностьСофтФон**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | ||
+ | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
+ | Возврат Истина; | ||
+ | КонецЕсли; | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
+ | </code> | ||
+ | |||
+ | ==== 4. Изменение общих форм ==== | ||
+ | - Перейти к общей форме "**CRM_СообщенияПодключения**". В модуле формы, в процедуре "**ПриСозданииНаСервере**" необходимо добавить фрагмент кода: <code 1c>Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) | ||
+ | |||
+ | Если НЕ Параметры.Свойство("ВидФормы") Тогда | ||
+ | Отказ = Истина; | ||
+ | |||
+ | ИначеЕсли Параметры.ВидФормы = "СофтФон" Тогда | ||
+ | // PT1C / Панель телефонии Asterisk / Начало | ||
+ | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
+ | |||
+ | // *** *** *** | ||
+ | // ВНИМАНИЕ ПРОПУЩЕНА ЧАСТЬ ИСХОДНОГО КОДА | ||
+ | // *** *** *** | ||
+ | |||
+ | КонецЕсли; | ||
+ | КонецПроцедуры // ПриСозданииНаСервере() | ||
+ | </code> | ||
+ | - Перейти к общей форме "**ПечатьДокументов**". В **конец** процедуры "**ПриСозданииНаСервере**" необходимо добавить фрагмент кода: <code 1c> // PT1C / Панель телефонии Asterisk / Начало | ||
+ | МИКО_Софтфон.ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма); | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
+ | </code> | ||
+ | - **После** процедуры "**ПриСозданииНаСервере**", добавить дополнительные процедуры - обработки: <code 1c> | ||
+ | &НаКлиенте | ||
+ | Процедура МИКО_ОтправитьКакФакс() | ||
+ | Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") | ||
+ | ИЛИ сфпПанельУправления = Неопределено Тогда | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | |||
+ | ТабличныеДокументы = Новый СписокЗначений; | ||
+ | Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл | ||
+ | Если Элементы[НастройкаПечатнойФормы.ИмяРеквизита].Вывод = ИспользованиеВывода.Разрешить И НастройкаПечатнойФормы.Печатать Тогда | ||
+ | ТабличныеДокументы.Добавить(ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита], НастройкаПечатнойФормы.Представление); | ||
+ | КонецЕсли; | ||
+ | КонецЦикла; | ||
+ | |||
+ | Если ТабличныеДокументы.Количество()=0 Тогда | ||
+ | Возврат; | ||
+ | Иначе | ||
+ | ТабДок = ТабличныеДокументы[0].Значение; | ||
+ | КонецЕсли; | ||
+ | // отсылаем факс | ||
+ | сфпПанельУправления.ОтправитьФайлПоФаксу(,ТабДок); | ||
+ | КонецПроцедуры // МИКО_ОтправитьКакФакс() | ||
+ | |||
+ | &НаКлиенте | ||
+ | Процедура МИКО_Позвонить() | ||
+ | Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") | ||
+ | ИЛИ сфпПанельУправления = Неопределено Тогда | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | |||
+ | ПараметрыПечати = Неопределено; | ||
+ | |||
+ | Если ТипЗнч(ОбъектыПечати) = Тип("СписокЗначений") | ||
+ | И ОбъектыПечати.Количество() > 0 Тогда | ||
+ | |||
+ | Участник = МИКО_Софтфон.ПолучитьСсылкуНаУчастникаИзДокумента(ОбъектыПечати[0].Значение); | ||
+ | Если ТипЗнч(Участник) = Тип("Массив") | ||
+ | И Участник.Количество()>0 Тогда | ||
+ | сфпПанельУправления.ПозвонитьВыбравТелефон(Участник); | ||
+ | ИначеЕсли Участник <> Неопределено Тогда | ||
+ | СписокУчастников = Новый Массив(1); | ||
+ | СписокУчастников[0] = Участник; | ||
+ | сфпПанельУправления.ПозвонитьВыбравТелефон(СписокУчастников); | ||
+ | КонецЕсли; | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
===== Этап 4. Завершение этапа встраивания ===== | ===== Этап 4. Завершение этапа встраивания ===== | ||
Строка 124: | Строка 233: | ||
- Дождитесь завершения обновления | - Дождитесь завершения обновления | ||
- Удалите из параметров запуска строку "**ЗапуститьОбновлениеИнформационнойБазы**". Перезапустите 1С. | - Удалите из параметров запуска строку "**ЗапуститьОбновлениеИнформационнойБазы**". Перезапустите 1С. | ||
+ | |||
+ | ===== Первый запуск в режиме 1С:Предприятие ===== | ||
+ | <note warning> | ||
+ | **ВНИМАНИЕ!** | ||
+ | Первый запуск необходимо производить с **полными правами**. | ||
+ | Выполнение регламентных и фоновых заданий следует приостановить. | ||
+ | </note> | ||
+ | |||
+ | - Запустите конфигурацию в **режиме 1С:Предприятие** от пользователя 1С с полными правами. | ||
+ | - Убедитесь, что механизм **дополнительных реквизитов и сведений** включен. В дополнительных сведениях будет храниться информация об ID звонка для документа «Событие» / «Телефонный звонок».\\ {{ :astpanel:fastintegration:100_1.png |}} {{ :astpanel:fastintegration:100_2.png |}} | ||
+ | - Выполните настройки для возможности работы с документами «Событие». \\ {{ :astpanel:fastintegration:100_3.png |}} | ||
+ | - В подсистеме "**Администрирование**" -> "**CRM: Интеграция с телефонией**" включите опцию «**Использовать Софтфон**» {{ :astpanel:fastintegration:101.png |}} {{ :astpanel:fastintegration:102.png |}} | ||
+ | - Перейдите в персональные настройки пользователя и установите возможность использования панели телефонии {{ :astpanel:fastintegration:103.png |}} {{ :astpanel:fastintegration:104.png |}} {{ :astpanel:fastintegration:105.png |}} {{ :astpanel:fastintegration:106.png |}} {{ :astpanel:fastintegration:107.png |}} | ||
==== Завершение настройки ==== | ==== Завершение настройки ==== |