Ниже описан вариант интеграции как видим его мы. Вы не обязаны использовать наш пример и можете интегрировать так, как удобно для вашей компании.
Меню Конфигурация→Поддержка→Настройка поддержки. В открывшемся окне нажать кнопку «Включить возможность изменения». В группе «Объекты с правилом изменения разрешены» выбрать «Объект поставщика редактируется с сохранением поддержки».
Для упрощения интеграции в УПП 1.3 мы подготовили специальную выгрузку конфигурации. Она содержит справочники, общие модули и команды которые помогут в интеграции с RingoPhone.
Конфигурация была отправлена вам в письме при скачивании RingoPhone с нашего сайта.
Для объединения конфигураций выполните меню Конфигурация→Сравнить, объединить с конфигурацией из файла и выберите скаченный файл RingoPhone_Integration_OF.cf.
Согласитесь на возможность поставки на поддержку
В открывшемся диалоге уберите галочку в дереве «УправлениеПроизводственнымПредприятием → Свойства» и нажмите кнопку «Выполнить». Наша конфигурация не изменяет элементов УПП, все наши элементы начинаются с ключевых слов «RingoPhone» и «Ринголайн» поэтому конфликтов быть не должно.
В настройках правил поддержки для объектов с правилом «Изменения разрешены», выберите опцию «Объект редактируется с сохранением поддержки»
После объединения необходимо сохранить и обновить конфигурацию.
Для совместной работы УПП и RingoPhone необходимо внести изменения в модули вашей базы.
В дереве конфигурации кликаем правой кнопкой мыши по «УправлениеПроизводственнымПредприятием» и в контекстном меню выбираем «Открыть модуль обычного приложения». В открывшемся модуле ищем процедуру «ПриНачалеРаботыСистемы» и приводим к следующему виду.
Процедура ПриНачалеРаботыСистемы() //******* код функции. Его оставляем без изменений ******* //////////////////////////////////////////////////////////////////////////////// // Ринголайн интеграция. Выполнение при запуске. Начало РинголайнКлиент.ПриНачалеРаботыСистемы(); // Ринголайн интеграция. Выполнение при запуске. Начало //////////////////////////////////////////////////////////////////////////////// КонецПроцедуры
Снова в дереве конфигурации кликаем правой кнопкой мыши по «УправлениеПроизводственнымПредприятием» и в контекстном меню выбираем «Открыть модуль сеанса». В открывшемся модуле ищем процедуру «УстановитьЗначениеПараметраСеанса» и приводим к следующему виду.
Процедура УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры) //******* код функции. Его оставляем без изменений ******* //////////////////////////////////////////////////////////////////////////////// // Ринголайн интеграция. Установка параметров сеанса. Начало РинголайнСервер.УстановкаПараметровСеанса(ИмяПараметра,УстановленныеПараметры); // Ринголайн интеграция. Установка параметров сеанса. Конец //////////////////////////////////////////////////////////////////////////////// КонецПроцедуры
Будет удобно, если сотрудники смогут прослушивать записи разговора с клиентом прямо из документа события «Телефонный звонок». Поэтому необходимо создать дополнительные реквизиты по которым можно будет сопоставить событие и запись разговора.
Необходимо в конфигурации открыть реквизиты документа «Событие» Документы→Событие→Реквизиты и добавить туда новые реквизиты:
При создании документа из RingoPhone, он найдёт эти реквизиты в документе и запишет в них ссылку на историю с записью.
На обычных формах 1с не позволяет разместить сторонние команды не изменив саму форму. Возможно после обновления на новую версию УПП, наши изменения затрутся и кнопки команд пропадут, тогда снова нужно повторить эту операцию.
В документе «Событие» мы разместим 2 команды: команду для совершения звонка из документа и команду для прослушивания записи.
Необходимо в конфигурации открыть модуль формы Документы→Событие→Формы→ФормаДокумента. Найти процедуру «ПриОткрытии» и привести к следующему виду
Процедура ПриОткрытии() //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Добавление кнопок на форму. Начало RingoPhoneСерверИнтеграция.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПозвонить","RingoPhone_ОбработчикКоманд"); RingoPhoneСерверИнтеграция.ДобавитьКнопкуПрослушатьНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПрослушать","RingoPhone_ОбработчикКоманд"); // Ринголайн. Добавление кнопок на форму. Конец //////////////////////////////////////////////////////////////////////////////// //******* код функции. Его оставляем без изменений ******* КонецПроцедуры // ПриОткрытии()
После всех процедур и функций необходимо добавить новую процедуру
//////////////////////////////////////////////////////////////////////////////// // Ринголайн. Процедура обработки команд. Начало Процедура RingoPhone_ОбработчикКоманд(Кнопка) Действие = Кнопка.Имя; Если Действие = "РинголайнПозвонить" Тогда Открыт = RingoPhoneКлиент.ОткрытьТелефонСПодтверждением(); Если Открыт=Истина Тогда ОбъектыСКонтактами = Новый Массив; Если ЭтаФорма.ВидОбъекта = Перечисления.ВидыОбъектовСобытия.Контрагент Тогда Если ЗначениеЗаполнено(ЭтаФорма.Контрагент)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.Контрагент); КонецЕсли; Если ЗначениеЗаполнено(ЭтаФорма.КонтактноеЛицо)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.КонтактноеЛицо); КонецЕсли; ИначеЕсли ЭтаФорма.ВидОбъекта = Перечисления.ВидыОбъектовСобытия.ПрочиеКонтактныеЛица Тогда Если ЗначениеЗаполнено(ЭтаФорма.КонтактноеЛицоБезКонтрагента)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.КонтактноеЛицоБезКонтрагента); КонецЕсли; КонецЕсли; ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("МассивОбъектовСКонтактами",ОбъектыСКонтактами); ОткрытьФорму("ОбщаяФорма.РинголайнВыбратьНомерИПозвонить",ПараметрыФормы,ЭтаФорма,Истина,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; ИначеЕсли Действие = "РинголайнПрослушать" Тогда Если ЗначениеЗаполнено(ЭтаФорма.РинголайнЭлементЖурналаЗвонков) Тогда ФайлЗаписи = RingoPhoneСерверИнтеграция.ПолучитьФайлЗаписиРазговора(ЭтаФорма.РинголайнЭлементЖурналаЗвонков); Если ЗначениеЗаполнено(ФайлЗаписи) Тогда Файл = Новый Файл(ФайлЗаписи); Если Файл.Существует() Тогда ЗапуститьПриложение(ФайлЗаписи); Иначе РинголайнОбщее.СообщитьПользователю("Файл записи не найден или удалён"); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры // Ринголайн. Процедура обработки команд. Конец ////////////////////////////////////////////////////////////////////////////////
Теперь при открытии события «Телефонный звонок», вы будете видеть кнопки для совершения звонка и прослушивания записи из документа «Телефонный звонок».
Как и в случае с документом «Событие» вам придётся вставить код в сам модуль формы и повторить эту операцию если при обновлении модуль формы перезапишется.
Необходимо в конфигурации открыть модуль формы Справочники→Контрагенты→Формы→ФормаЭлемента. Найти процедуру «ПриОткрытии» и привести к следующему виду
Процедура ПриОткрытии() //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Добавление кнопок на форму. Начало RingoPhoneСерверИнтеграция.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПозвонить","RingoPhone_ОбработчикКоманд"); // Ринголайн. Добавление кнопок на форму. Конец //////////////////////////////////////////////////////////////////////////////// //******* код функции. Его оставляем без изменений ******* КонецПроцедуры // ПриОткрытии()
После всех процедур и функций необходимо добавить новую процедуру
//////////////////////////////////////////////////////////////////////////////// // Ринголайн. Процедура обработки команд. Начало Процедура RingoPhone_ОбработчикКоманд(Кнопка) Действие = Кнопка.Имя; Если Действие = "РинголайнПозвонить" Тогда Открыт = RingoPhoneКлиент.ОткрытьТелефонСПодтверждением(); Если Открыт=Истина Тогда ОбъектыСКонтактами = Новый Массив; ОбъектыСКонтактами.Добавить(ЭтаФорма.Ссылка); ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("МассивОбъектовСКонтактами",ОбъектыСКонтактами); ОткрытьФорму("ОбщаяФорма.РинголайнВыбратьНомерИПозвонить",ПараметрыФормы,ЭтаФорма,Истина,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; КонецЕсли; КонецПроцедуры // Ринголайн. Процедура обработки команд. Конец ////////////////////////////////////////////////////////////////////////////////
Таким же образом добавляем команду на форму документа «ЗаказПокупателя».
Открываем в конфигурации модуль формы документа Документы→ЗаказПокупателя→Формы→ФормаДокумента. Ищем процедуру «ПриОткрытии» и приводим к следующему виду
Процедура ПриОткрытии() //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Добавление кнопок на форму. Начало RingoPhoneСерверИнтеграция.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПозвонить","RingoPhone_ОбработчикКоманд"); // Ринголайн. Добавление кнопок на форму. Конец //////////////////////////////////////////////////////////////////////////////// //******* код функции. Его оставляем без изменений ******* КонецПроцедуры // ПриОткрытии()
После всех процедур и функций добавляем новую процедуру
//////////////////////////////////////////////////////////////////////////////// // Ринголайн. Процедура обработки команд. Начало Процедура RingoPhone_ОбработчикКоманд(Кнопка) Действие = Кнопка.Имя; Если Действие = "РинголайнПозвонить" Тогда Открыт = RingoPhoneКлиент.ОткрытьТелефонСПодтверждением(); Если Открыт=Истина Тогда ОбъектыСКонтактами = Новый Массив; Если ЗначениеЗаполнено(ЭтаФорма.Контрагент)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.Контрагент); КонецЕсли; Если ЗначениеЗаполнено(ЭтаФорма.КонтактноеЛицоКонтрагента)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.КонтактноеЛицоКонтрагента); КонецЕсли; ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("МассивОбъектовСКонтактами",ОбъектыСКонтактами); ОткрытьФорму("ОбщаяФорма.РинголайнВыбратьНомерИПозвонить",ПараметрыФормы,ЭтаФорма,Истина,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; КонецЕсли; КонецПроцедуры // Ринголайн. Процедура обработки команд. Конец ////////////////////////////////////////////////////////////////////////////////
Теперь на форме документа «Заказ покупателя» и форме справочника «Контрагент» можно увидеть команду «Позвонить»
Первый запуск необходимо выполнить от пользователя с полными правами. При запуске должен открыться мастер установки «Ринголайн». Следуйте инструкциям мастера установки. После окончания работы мастера установки можете сразу настроить телефоны, а можете вернуться к этому позже.
Для работы с телефонией, необходимо выдать роли пользователям.
В Управлении производственным предприятием есть возможность администрирования пользователей. Назначим роли пользователем через неё.
Открываем меню Пользователи→Администрирование пользователей и в открывшейся схеме кликаем 2 раза по блоку Профили. Откроется окно «Профили полномочий пользователей».
В вашей конфигурации могут быть настроены другие профили, поэтому мы рассмотрим на примере демонстрационной базы.
В демонстрационной базе мы назначим роль «РинголайнПользователь» для профиля Продажи→Менеджер по продажам. Все сотрудники обладающие профилем «менеджер по продажам» смогут запускать и использовать телефон.
Откроем в дереве Продажи→Менеджер по продажам, в правой части окна, в разделе «Роли профиля» нажимаем кнопку изменить, ставим галочку для роли «РинголайнПользователь» и нажимаем «Ок».
Таким же образом назначим для профиля Продажи→Старшие менеджеры по продажам 2 роли: «РинголайнПросмотрЗвонков» и «РинголайнПользователь». Эти сотрудники смогут просматривать все звонки совершённые из 1с и использовать телефон.