Интеграция представляет собой расширение типовой конфигурации «Управление торговлей, редакция 11 (11.4.3.167) для России» (файл .cfe), которое устанавливается в конфигурацию стандартным способом (см. ниже). Со стороны сервера 3CX загружается CRM-шаблон для взаимодействия с веб-сервисом опубликованной конфигурации 1С.
Расширение конфигурации 1С: Управление торговлей реализует REST API, который сопоставляет номера входящих вызовов с номерами контрагентов в 1С. Когда в 3CX поступает вызов, она через REST запрашивает у 1С данные контрагента, связанные Caller ID абонента. Если контрагент найден, его данные добавляются в Контакты 3CX и отображаются в веб-клиенте 3CX (имя и фамилия).
Если в 3CX включено журналирование вызовов (Enable call journaling), 1С будет вести журнал вызовов в 1С.
Требования к конфигурации 1С: Предприятие
Для использования расширения необходима версия платформы 1С: Предприятие не ниже 8.3.11. Типовая конфигурация «Управление торговлей, редакция 11» (11.4.3.167) поставляется в режиме совместимости с платформой 8.3.10. Для использования расширения 3СХ необходимо установить режим совместимости конфигурации в значение Не использовать. Если конфигурация находится на поддержке, то следует включить возможность изменения конфигурации.
Продемонстрируем это на скриншотах:
В Конфигураторе 1C перейдите в раздел Конфигурация — Поддержка — Настройка поддержки.
Нажмите кнопку Включить возможность изменения и во всплывающем окне подтвердите выбор.
В окне Настройка правил поддержки выберите Объекты с правилом «Изменения разрешены» — Объект поставщика редактируется с сохранением поддержки и Объекты с правилом «Изменения не рекомендуются» — Объект поставщика не редактируется.
Кликните правой кнопкой мыши по корневому разделу Управление Торговлей, выберите Свойства и установите Режим совместимости — Не использовать.
Выберите Конфигурация — Обновить конфигурацию базы данных.
И нажмите Принять для завершения изменений.
Подключение расширения для взаимодействия с 3CX
Закройте Конфигуратор и запустите конфигурацию 1С в режиме Предприятие. В верхнем левом меню выберите Все функции…
Выберите пункт Управление расширениями конфигурации.
Убедитесь, что установлена Область действия при установке расширения конфигурации — Информационная база, нажмите кнопку Добавить и добавьте расширение, указав файл 3cx1cextension.cfe из архива.
После установки расширения, вкладка Управление расширениями конфигурации должна выглядеть, как показано ниже.
Публикация HTTP-сервиса расширения 1С: Предприятие на веб-сервере
Публикация конфигурации 1С на веб-сервере производится стандартным способом, с учетом особенностей программного окружения.
- Подробно процедура публикации описана в 1С: ИТС по этой ссылке.
- Инструкция настройки веб-сервисов для 1С v8.3 и IIS 8.5 на ресурсе Infostart.
- Статья с комментариями Публикация баз данных «1С: Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012.
Выполняя публикацию, установите опцию Публиковать HTTP-сервисы расширений по умолчанию.
Если в конфигурации есть пользователи (в редких случаях используются конфигурации без пользователей), необходимо изменить строку подключения к базе 1С: Предприятие.
Рассмотрим это на примере веб-сервера IIS:
В каталоге публикации найдите файл default.vrd.
Измените в нем строку подключения, добавив учетные данные пользователя, от имени которого база данных будет отвечать на HTTP-запросы. Строка подключения должна выглядеть примерно так.
Установка XML-шаблона CRM 1С: Предприятие в 3CX
Откройте интерфейс управления 3CX и перейдите в раздел Параметры — CRM-интеграция — вкладка На стороне сервера.
В разделе Доступные CRM интеграции выберите 1С и нажмите Загрузить выбранное.
Затем в поле Domain Part укажите URL опубликованного HTTP-сервиса конфигурации 1С.
Для учета вызовов в 1С включите опцию Enable call journaling.
Возможности интеграции 1С: Предприятие c 3CX
Как было сказано выше, расширение сопоставляет входящие Caller ID с номерами контрагентами в базе 1С. Если совпадение найдено, веб-клиент 3CX покажет имя и фамилию вызывающего абонента.
Учет вызовов в 1С
Если в CRM-шаблоне включено журналирование вызовов, 1С будет вести журнал входящих и исходящих вызовов со следующими параметрами:
- Дата вызова
- Тип вызова: входящий / исходящий / пропущен внутренним абонентом / нет ответа внешнего абонента
- Длительность вызова
- Номер внешнего абонента (Caller ID)
- Номер внутреннего абонента (добавочного номера 3CX)
- Контрагент 1С (если найдено соответствие)
В журнале вызовов вы можете задавать условия отбора и сортировки по интересующим вас столбцам, чтобы быстро анализировать ситуацию пропущенными или несостоявшимися вызовами в организации.
Технический журнал взаимодействия 3CX и 1С
Технический журнал 3CX ведет лог всех обращений 3CX к 1С через REST API.
Этот журнал может использоваться для диагностики администратором или программистом 1С.
Загрузки и документация
- Расширение типовой конфигурации 1С: Предприятие «Управление торговлей, редакция 11 (11.4.3.167) для России»
- Обсуждение интеграции на Форуме 3CX
Часто задаваемые вопросы
- Что происходит, если клиент не найден? В данный момент платформа 1С не имеет возможности вызывать форму добавления нового клиента по HTTP-ссылке.
- Если контакт отображается в веб-клиенте, можно ли открыть его полную карточку в 1С? В данный момент платформа 1С не имеет возможности вызывать карточку клиента по HTTP-ссылке.
- Можно ли сделать исходящий вызов из тонкого или толстого клиента 1С? Это возможно, но для этого должна быть реализована соответствующая поддержка со стороны 3CX REST API.
- Можно ли переадресовать вызов из 1С или реализовать связку «клиент — закрепленный менеджер»? Это возможно, но для этого должна быть реализована соответствующая поддержка со стороны 3CX REST API.
- Можно ли реализовать панель оперативного мониторинга (панель телефонии) вызовов в 1С? В данный момент при входящем вызове 3CX передает только Caller ID абонента без вспомогательной служебной информации (например, занятости конкретной линии, добавочного номера получателя вызова и т.п.). Дополнительная служебная информация передается уже после завершения вызова. Кроме того, панель мониторинга предполагает взаимодействие пользователя с вызовами, но для этого требуется поддержка со стороны 3CX REST API.
- Можно ли увидеть пропущенные вызовы в карточке контрагента? Используйте Журнал вызовов в 1С, который реализует расширение. В нем вы можете быстро отобрать интересующих вас контрагентов.
Комментарии (27)
snezhko Автор
17.09.2018 00:01Существуют 3 подхода к реализации интеграции. 1. Изменение типовой конфигурации программистом. 2. Слияние конфигураций. 3. Использование расширения, как сделали мы. Поскольку 3CX позиционируется как коробочное решение, которое должен поддерживать сисадмин без специальных навыков программирования в 1С — мы сделали все plug&play. На наш взгляд, это гораздо надежнее, чем ковыряние в конфигурации человеком без специальных навыков.
ZEEGIN
17.09.2018 01:00Вы правильно сделали выбрав механизм расширений, но поймите, изменение режима совместимости — это изменение в основной конфигурации, которое не только сисадмину делать нельзя, любой понимающий что делает разработчик откажется его менять.
Профессионально поступить: это сказать, что ваше расширение требует режима совместимости не меньше 8.3.11, УТ с этим режимом ожидания в октябре.
Например так написал автор Gitter'а, который сделал расширение для СППР с расширением данных:
https://github.com/JohnyDeath/GitterExtForSPPR
snezhko Автор
17.09.2018 00:07Таким же способом мы сделаем расширения и для других типовых конфигураций.
В нашем расширении используется расширение данных — привносятся регистры сведений, а эта технология появилась только начиная с 8.3.11. wonderland.v8.1c.ru/blog/rasshirenie-dannykh
Насчет ссылок открытия карточки клиента — спасибо большое, вопрос внимательно изучаем.
capitannemo
17.09.2018 10:49Смотрите какая получается история.
3CX сделали крайне полезное расширение, я подозреваю проверили его на людях.
Даже если не проверили — знаю организации работающие в таком режиме без проблем.
Но приходит уважаемый ZEEGIN и говорит — Ужас, ужас, кранты тому кто так сделает.
А в чем ужас собственно?
Я вот например застал время, когда не было интернета и тогда люди отвечали за свои слова.
Поэтому предложил бы уважаемому ZEEGINу выложить здесь принтскрин конкретного примера, когда изменение режима совместимости помешало штатной работе конкретной организации.
А так то писать буквы каждый может.
Я как разработчик регулярно сталкиваюсь с комментариями экспердов, что типа ужас вообще устанавливать что-то из интернета.
Но они то хотя бы приводят в пример бабу Нюру, которая скачала с интернета программу и теперь с калькулятора пишет.
snezhko Автор
17.09.2018 12:49Уважаемый capitannemo, если не трудно, приведите ссылку на работу с URL в 1С: УНФ. Насколько я знаю, 1С использует внутренние навигационные ссылки, и мы не можем пока понять, как их преобразовать в http формат.
ZEEGIN
Кажется такие фееричные идеи уже обсуждались на партнерском форуме в ветке БСП:
https://partners.v8.1c.ru/forum/t/1747505/m/1747619
Цитирую:
Я могу Вам посоветовать подождать выхода УТ на версии платформы 8.3.12, но уж точно предлагать пользователям ломать их информационные базы не следует.
capitannemo
Ничего страшного при установке режима совместимости конфигурации в значение Не использовать не случится.
Проверено не единожды.
1С этого не делает совсем по другим причинам в частности потому что всем придется менять в срочном порядке разработанные и действующие расширения.
Necessitudo
В смысле ничего страшного? А ничего что меняется поведение у объектов? Если вы используете две с половиной формы то это не значит что у всех так.
ZEEGIN
Режим совместимости был задолго до появления расширений. Кстати, у расширений режим совместимости свой, в добавку к режиму совместимости конфигураций.
В режиме совместимости платформа меняет свое поведение. Смотрите документацию здесь
https://its.1c.ru/db/v8313doc#bookmark:dev:TI000001242: особенность%20режима%20совместимости
Каждую конфигурацию при смене режима требуется дорабатывать, смотрите методику отказа от режима совместимости:
https://its.1c.ru/db/metod8dev#content:5293:hdoc:_top: методика%20по%20переходу%208.2%20без%20режима
Что сделали Вы: у работающей и протестированной в определенном режиме работы интерпретатора конфигурации сменили версию интерпретатора, не доработав при этом конфигурацию. Это значит что конфигурация может вообще в произвольном месте развалиться, потому что авторы кода этой конфигурации ее тестировали в одном режиме работы, а Вы запускаете в другом.
Конкретно с Вашими доработками ничего страшного не случится, ведь Вы их, надеюсь, отладили в новом режиме, а весь остальной типовой код? У вас нет возможности перезапустить все тесты по всем подсистемам и гарантировать, что все работает точно так же. А если бы была возможность, Вы бы ужаснулись количиству проблем.
Например, появился в платформе нативный метод ПобитовоеИ и ПобитовоеИли, который отдельно был реализован в контактной информации БСП. При запуске в режиме совместимости 8.3.10 платформа все новшества отключает, а при снятии — отваливаются все формы на которые выведена контактная информация, потому что идет конфликт имен методов глобального контекста. И это только самый простой пример, коих тысячи.
capitannemo
Все смешалось в доме Облонских… и мухи и котлеты.
Necessitudo можно в принципе не отвечать, он сразу перешел на личности.
Видимо он использует три формы и поэтому конечно круче.
Но уважаемый ZEEGIN потратил столько букв и в целом букв правильных, но не заметил главного — разработчики 3СХ просят установить режим совместимости конфигурации в значение Не использовать.
Это значит все возможности платформы используются по максимуму.
В частности им нужно расширение общих модулей по видимому.
Обычным вменяемым людям еще раз посоветую не слушать мнение экспердов и спокойно отключать.
Есть реальные примеры не маленьких организаций где это сделано и все работает штатно.
И на 8.3.12 в том числе уже давно.
capitannemo
Да более того, кто реально работает с УТ, а не в теории, и обновляет ее, знает что давно уже рекомендованная 1С платформа для УТ это 8.3.12
ZEEGIN
Версия УТ 11.4.6, которая сейчас заявлена следующей, в списке проектов в анонсе было обновление БСП до версии 3.0.1, которое работает в режиме 8.3.12 с отключенным режимом совместимости. Чтобы использовать возможности платформы по максимуму надо дождаться выпуска 11.4.6.
Бухгалтерия, кстати, уже публичную бета выложила 3.0.65, в которой обновила БСП до 3.0.1 и перешла на 8.3.12. Наверное на неделе выпустятся.
ZEEGIN
Режим совместимости конфигурации в значение Не использовать будет в разных версиях конфигурации разный. Поставьте режим Не использовать в конфигураторе версии 8.3.10, а потом откройте эту же конфигурацию в конфигураторе версии 8.3.11. Что Вы увидите? Режим совместимости, который Вы поставили в Не использовать вдруг стал режимом совместимости 8.3.10.
А еще можно сделать выгрузку конфигурации в xml из версии 8.3.10 с включенным режимом Не использовать и посмотреть ноду в файле описания конфигурации, что будет в файле? Режим совместимости 8.3.10.
Это дурацкая неоднозначность платформы, которая многими не правильно понимается. Не использовать, это значи режим той версии, который сейчас запущен.
Вот сейчас платформа выпустила бета-версию 8.3.13, смотрите апдейт:
http://downloads.v8.1c.ru/content//Platform/8_3_13_1472/1cv8upd_8_3_13_1472.htm
Особенно внимательно на фрагмент Изменения, влияющие на поведение системы. Если эти изменения платформы не отработать в типовой конфигурации, то она будет работать не ожидаемо. А отработаны они будут только тогда, когда будет выпущена официальная версия от 1С.
capitannemo
Молодцы что сделали интеграцию.
Многие клиенты мечтают о таком.
В данный момент платформа 1С не имеет возможности вызывать форму добавления нового клиента по HTTP-ссылке — вопрос спорный.
Смотрите как в УНФ сделано ;)
Буду следить за обновлениями.