====== Интеграция Ringophone в Управление Торговлей 10.3 ====== Ниже описан вариант интеграции как видим его мы. Вы не обязаны использовать наш пример и можете интегрировать так, как удобно для вашей компании. ===== Включить возможность изменения ===== Меню //Конфигурация->Поддержка->Настройка поддержки//. В открывшемся окне нажать кнопку //"Включить возможность изменения"//. В группе //"Объекты с правилом изменения разрешены"// выбрать //"Объект поставщика редактируется с сохранением поддержки"//. {{ :ringophone:возможностьизменений_1с10.png |}} ===== Объединение с конфигурацией телефонии ===== Для упрощения интеграции в УТ10.3 мы подготовили специальную выгрузку конфигурации. Она содержит справочники, общие модули и команды которые помогут в интеграции с RingoPhone. Конфигурация была отправлена вам в письме при скачивании RingoPhone с нашего сайта. Для объединения конфигураций выполните меню //Конфигурация->Сравнить//, объединить с конфигурацией из файла и выберите скаченный файл RingoPhone_Integration_OF.cf. \\ Согласитесь на возможность поставки на поддержку \\ {{ :ringophone:поставитьнаподдержку.png |}} В открывшемся диалоге __уберите галочку в дереве //"Управление торговлей -> Свойства"//__ и нажмите кнопку "Выполнить". Наша конфигурация не изменяет элементов УТ, все наши элементы начинаются с ключевых слов "RingoPhone" и "Ринголайн" поэтому конфликтов быть не должно. {{ :ringophone:1cintegration_cfmerge.png |}} В настройках правил поддержки для //объектов с правилом "Изменения разрешены"//, выберите опцию //"Объект редактируется с сохранением поддержки"// {{ :ringophone:настройкаправилподдержки.png |}} После объединения необходимо сохранить {{:ringophone:1csave.png|}} и обновить {{:ringophone:1cupdate.png|}} конфигурацию. ===== Изменение конфигурации ===== Для совместной работы УТ и RingoPhone необходимо внести изменения в модули вашей базы. В Конфигурации выбрать //Общие->Общие модули->ОбщегоНазначенияКлиентПереопределяемый//. Найти в модуле ф-ю //"ПриНачалеРаботыСистемы"// и привести к следующему виду. Процедура ПриНачалеРаботыСистемы(Знач ОбрабатыватьПараметрыЗапуска = Ложь) Экспорт //////////////////////////////////////////////////////////////////////////////// // Ринголайн интеграция. Выполнение при запуске. Начало РинголайнКлиент.ПриНачалеРаботыСистемы(); // Ринголайн интеграция. Выполнение при запуске. Начало //////////////////////////////////////////////////////////////////////////////// КонецПроцедуры В Конфигурации выбрать //Общие->Общие модули->ОбщегоНазначенияПереопределяемый//. Найти в модуле ф-ю //"ОбработчикиИнициализацииПараметровСеанса"// и привести к следующему виду. Функция ОбработчикиИнициализацииПараметровСеанса() Экспорт //******* код функции. Его оставляем без изменений ******* Обработчики = Новый Соответствие; Обработчики.Вставить("ГраницыЗапретаИзмененияДанных","ПолныеПрава.УстановитьПараметрГраницыЗапретаИзмененияДанных"); //////////////////////////////////////////////////////////////////////////////// // Ринголайн интеграция. Установка параметров сеанса. Начало Обработчики.Вставить("РинголайнТекущийПользовательИБ", "РинголайнСервер.УстановкаПараметровСеанса"); // Ринголайн интеграция. Установка параметров сеанса. Конец //////////////////////////////////////////////////////////////////////////////// Возврат Обработчики; КонецФункции ===== Добавление реквизитов в документ "Событие" ===== Будет удобно, если сотрудники смогут прослушивать записи разговора с клиентом прямо из документа события //"Телефонный звонок"//. Поэтому необходимо создать дополнительные реквизиты по которым можно будет сопоставить событие и запись разговора. Необходимо в конфигурации открыть реквизиты документа //"Событие"// //Документы->Событие->Реквизиты// и добавить туда новые реквизиты: * **РинголайнИДЗвонкаНаАТС**, с типом Строка длина 100 * **РинголайнЭлементЖурналаЗвонков**, с типом Строка длина 100 При создании документа из RingoPhone, он найдёт эти реквизиты в документе и запишет в них ссылку на историю с записью. ===== Добавление команд телефонии в документ "Событие" ===== Версия 10.3 Управления торговлей не позволяет разместить сторонние команды не изменяя форму, поэтому вам придётся вставить код в сам модуль формы. Возможно после обновления на новую версию УТ, этот код затрётся и кнопки команд пропадут, тогда снова нужно повторить эту операцию. В документе //"Событие"// мы разместим 2 команды: команду для совершения звонка из документа и команду для прослушивания записи. Необходимо в конфигурации открыть модуль формы //Документы->Событие->Формы->ФормаДокумента//. Найти процедуру //"ПриОткрытии"// и привести к следующему виду Процедура ПриОткрытии() //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Добавление кнопок на форму. Начало RingoPhoneСерверИнтеграция.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПозвонить","RingoPhone_ОбработчикКоманд"); RingoPhoneСерверИнтеграция.ДобавитьКнопкуПрослушатьНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПрослушать","RingoPhone_ОбработчикКоманд"); // Ринголайн. Добавление кнопок на форму. Конец //////////////////////////////////////////////////////////////////////////////// //******* код функции. Его оставляем без изменений ******* КонецПроцедуры // ПриОткрытии() После всех процедур и функций необходимо добавить новую процедуру //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Процедура обработки команд. Начало Процедура RingoPhone_ОбработчикКоманд(Кнопка) Действие = Кнопка.Имя; Если Действие = "РинголайнПозвонить" Тогда Открыт = RingoPhoneКлиент.ОткрытьТелефонСПодтверждением(); Если Открыт=Истина Тогда ОбъектыСКонтактами = Новый Массив; Если ЭтаФорма.ВидОбъекта = Перечисления.ВидыОбъектовСобытия.Контрагент Тогда Если ЗначениеЗаполнено(ЭтаФорма.Контрагент)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.Контрагент); КонецЕсли; Если ЗначениеЗаполнено(ЭтаФорма.КонтактноеЛицо)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.КонтактноеЛицо); КонецЕсли; ИначеЕсли ЭтаФорма.ВидОбъекта = Перечисления.ВидыОбъектовСобытия.ПрочиеКонтактныеЛица Тогда Если ЗначениеЗаполнено(ЭтаФорма.КонтактноеЛицоБезКонтрагента)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.КонтактноеЛицоБезКонтрагента); КонецЕсли; КонецЕсли; ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("МассивОбъектовСКонтактами",ОбъектыСКонтактами); ОткрытьФорму("ОбщаяФорма.РинголайнВыбратьНомерИПозвонить",ПараметрыФормы,ЭтаФорма,Истина,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; ИначеЕсли Действие = "РинголайнПрослушать" Тогда Если ЗначениеЗаполнено(ЭтаФорма.РинголайнЭлементЖурналаЗвонков) Тогда ФайлЗаписи = RingoPhoneСерверИнтеграция.ПолучитьФайлЗаписиРазговора(ЭтаФорма.РинголайнЭлементЖурналаЗвонков); Если ЗначениеЗаполнено(ФайлЗаписи) Тогда Файл = Новый Файл(ФайлЗаписи); Если Файл.Существует() Тогда ЗапуститьПриложение(ФайлЗаписи); Иначе РинголайнОбщее.СообщитьПользователю("Файл записи не найден или удалён"); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры // Ринголайн. Процедура обработки команд. Конец //////////////////////////////////////////////////////////////////////////////// Теперь при открытии события //"Телефонный звонок"//, вы будете видеть кнопки для совершения звонка и прослушивания записи из документа //"Телефонный звонок"//. {{ :ringophone:командывдокументетелефонныйзвонокут10.png |}} ===== Добавление команды "Позвонить" на форму заказа и контрагента ===== Как и в случае с документом //"Событие"// вам придётся вставить код в сам модуль формы и повторить эту операцию если при обновлении модуль формы перезапишется. Необходимо в конфигурации открыть модуль формы //Справочники->Контрагенты->Формы->ФормаЭлемента//. Найти процедуру //"ПриОткрытии"// и привести к следующему виду Процедура ПриОткрытии() //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Добавление кнопок на форму. Начало RingoPhoneСерверИнтеграция.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПозвонить","RingoPhone_ОбработчикКоманд"); // Ринголайн. Добавление кнопок на форму. Конец //////////////////////////////////////////////////////////////////////////////// //******* код функции. Его оставляем без изменений ******* КонецПроцедуры // ПриОткрытии() После всех процедур и функций необходимо добавить новую процедуру //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Процедура обработки команд. Начало Процедура RingoPhone_ОбработчикКоманд(Кнопка) Действие = Кнопка.Имя; Если Действие = "РинголайнПозвонить" Тогда Открыт = RingoPhoneКлиент.ОткрытьТелефонСПодтверждением(); Если Открыт=Истина Тогда ОбъектыСКонтактами = Новый Массив; ОбъектыСКонтактами.Добавить(ЭтаФорма.Ссылка); ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("МассивОбъектовСКонтактами",ОбъектыСКонтактами); ОткрытьФорму("ОбщаяФорма.РинголайнВыбратьНомерИПозвонить",ПараметрыФормы,ЭтаФорма,Истина,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; КонецЕсли; КонецПроцедуры // Ринголайн. Процедура обработки команд. Конец //////////////////////////////////////////////////////////////////////////////// Таким же образом добавляем команду на форму документа //"ЗаказПокупателя"//. \\ Открываем в конфигурации модуль формы документа //Документы->ЗаказПокупателя->Формы->ФормаДокумента//. Ищем процедуру //"ПриОткрытии"// и приводим к следующему виду Процедура ПриОткрытии() //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Добавление кнопок на форму. Начало RingoPhoneСерверИнтеграция.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки,"РинголайнПозвонить","RingoPhone_ОбработчикКоманд"); // Ринголайн. Добавление кнопок на форму. Конец //////////////////////////////////////////////////////////////////////////////// //******* код функции. Его оставляем без изменений ******* КонецПроцедуры // ПриОткрытии() После всех процедур и функций добавляем новую процедуру //////////////////////////////////////////////////////////////////////////////// // Ринголайн. Процедура обработки команд. Начало Процедура RingoPhone_ОбработчикКоманд(Кнопка) Действие = Кнопка.Имя; Если Действие = "РинголайнПозвонить" Тогда Открыт = RingoPhoneКлиент.ОткрытьТелефонСПодтверждением(); Если Открыт=Истина Тогда ОбъектыСКонтактами = Новый Массив; Если ЗначениеЗаполнено(ЭтаФорма.Контрагент)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.Контрагент); КонецЕсли; Если ЗначениеЗаполнено(ЭтаФорма.КонтактноеЛицоКонтрагента)Тогда ОбъектыСКонтактами.Добавить(ЭтаФорма.КонтактноеЛицоКонтрагента); КонецЕсли; ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("МассивОбъектовСКонтактами",ОбъектыСКонтактами); ОткрытьФорму("ОбщаяФорма.РинголайнВыбратьНомерИПозвонить",ПараметрыФормы,ЭтаФорма,Истина,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; КонецЕсли; КонецПроцедуры // Ринголайн. Процедура обработки команд. Конец //////////////////////////////////////////////////////////////////////////////// Теперь на форме документа //"Заказ покупателя"// и форме справочника //"Контрагент"// можно увидеть команду //"Позвонить"// {{ :ringophone:командавдокументезаказут10.png |}} ===== Настройка прав ===== Для работы с телефонией, необходимо выдать роли пользователям. * роль //**"РинголайнПользователь"**// - позволяет запускать телефон, просматривать собственные звонки и прослушивать записи разговоров. * роль //**"РинголайнПросмотрЗвонков"**// - позволяет просматривать звонки всех пользователей. * роль //**"РинголайнАдминистратор"**// - позволяет централизованно настраивать и перенастраивать все телефоны. В Управлении торговлей 10.3 нету подсистемы администрирование, поэтому назначать роли пользователям необходимо в конфигураторе\\ В меню конфигуратора выбираем //Администрирование->Пользователи// \\ Открываем пользователя для работы с телефонией и переходим на вкладку прочее.\\ Отмечаем галочками роли телефонии, которыми должен обладать пользователь. {{ :ringophone:настройкаролейут10.png |}} Теперь телефонию смогут использовать только выбранные вами пользователи и у них в меню 1с появится интерфейс //"Телефония"//. А пользователи с ролью //"РинголайнАдминистратор"// смогут задавать общие настройки и перенастраивать все телефоны и у них будет доступно меню //"Настройка телефонии"//. {{ :ringophone:интерфейстелефонииут10.png |}} ===== Первый запуск ===== Первый запуск необходимо выполнить от пользователя с полными правами. При запуске должен открыться //мастер установки "Ринголайн"//. Следуйте инструкциям мастера установки. После окончания работы мастера установки можете сразу настроить телефоны, а можете вернуться к этому позже. \\