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