По многочисленным просьбам партнеров и клиентов мы выпустили серверную интеграцию 3CX v15.5 с популярной системой 1С: Предприятие.
Интеграция представляет собой расширение типовой конфигурации «Управление торговлей, редакция 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С: Предприятие не ниже 8.3.11. Типовая конфигурация «Управление торговлей, редакция 11» (11.4.3.167) поставляется в режиме совместимости с платформой 8.3.10. Для использования расширения 3СХ необходимо установить режим совместимости конфигурации в значение Не использовать. Если конфигурация находится на поддержке, то следует включить возможность изменения конфигурации.
Продемонстрируем это на скриншотах:
В Конфигураторе 1C перейдите в раздел Конфигурация — Поддержка — Настройка поддержки.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/dd8/4f7/221/dd84f7221ce8952dbf7e63d462a0f27f.png)
Нажмите кнопку Включить возможность изменения и во всплывающем окне подтвердите выбор.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/774/775/e7d/774775e7ddbec8a9508b5231c6eae5b5.png)
В окне Настройка правил поддержки выберите Объекты с правилом «Изменения разрешены» — Объект поставщика редактируется с сохранением поддержки и Объекты с правилом «Изменения не рекомендуются» — Объект поставщика не редактируется.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/ab9/9e4/afe/ab99e4afea19cf2c65fee167cd68f058.png)
Кликните правой кнопкой мыши по корневому разделу Управление Торговлей, выберите Свойства и установите Режим совместимости — Не использовать.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/9f2/63a/90b/9f263a90b8be85c746335c5446233fe9.png)
Выберите Конфигурация — Обновить конфигурацию базы данных.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e17/2be/cdb/e172becdbb2db3034a9d30ac9a3c54aa.png)
И нажмите Принять для завершения изменений.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/cfe/3a5/740/cfe3a574011492d196b5402d5cfea0b0.png)
Закройте Конфигуратор и запустите конфигурацию 1С в режиме Предприятие. В верхнем левом меню выберите Все функции…
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/3bd/18f/64c/3bd18f64ce5e40abbf1086f193623d1a.png)
Выберите пункт Управление расширениями конфигурации.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/c73/897/66c/c7389766ccaed307412c87e20e62be44.png)
Убедитесь, что установлена Область действия при установке расширения конфигурации — Информационная база, нажмите кнопку Добавить и добавьте расширение, указав файл 3cx1cextension.cfe из архива.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e60/3d9/c11/e603d9c117e64665d54940f1c4151d0f.png)
После установки расширения, вкладка Управление расширениями конфигурации должна выглядеть, как показано ниже.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/fc0/47a/49e/fc047a49ea0b67fa0880c3dc0233c9d3.png)
Публикация конфигурации 1С на веб-сервере производится стандартным способом, с учетом особенностей программного окружения.
Выполняя публикацию, установите опцию Публиковать HTTP-сервисы расширений по умолчанию.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/83e/d18/692/83ed18692599571142b1d0b8a0c21364.png)
Если в конфигурации есть пользователи (в редких случаях используются конфигурации без пользователей), необходимо изменить строку подключения к базе 1С: Предприятие.
Рассмотрим это на примере веб-сервера IIS:
В каталоге публикации найдите файл default.vrd.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/170/04b/674/17004b67411136ac24f1f1be4f64af96.png)
Измените в нем строку подключения, добавив учетные данные пользователя, от имени которого база данных будет отвечать на HTTP-запросы. Строка подключения должна выглядеть примерно так.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/ecc/96e/7a3/ecc96e7a37895fe1a51560454c6a8cd3.png)
Откройте интерфейс управления 3CX и перейдите в раздел Параметры — CRM-интеграция — вкладка На стороне сервера.
В разделе Доступные CRM интеграции выберите 1С и нажмите Загрузить выбранное.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/d82/877/15f/d8287715fa623a980ab1371ff0e07cf0.png)
Затем в поле Domain Part укажите URL опубликованного HTTP-сервиса конфигурации 1С.
Для учета вызовов в 1С включите опцию Enable call journaling.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/6f3/78a/46e/6f378a46eab8127c9dea16c0cdef6c62.png)
Как было сказано выше, расширение сопоставляет входящие Caller ID с номерами контрагентами в базе 1С. Если совпадение найдено, веб-клиент 3CX покажет имя и фамилию вызывающего абонента.
Если в CRM-шаблоне включено журналирование вызовов, 1С будет вести журнал входящих и исходящих вызовов со следующими параметрами:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/25e/4ea/958/25e4ea958461fddcb3e2ad74df646931.png)
В журнале вызовов вы можете задавать условия отбора и сортировки по интересующим вас столбцам, чтобы быстро анализировать ситуацию пропущенными или несостоявшимися вызовами в организации.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/337/d30/fe0/337d30fe0686f55bc823bc62d832c88e.png)
Технический журнал 3CX ведет лог всех обращений 3CX к 1С через REST API.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/45a/3ae/2d8/45a3ae2d859a476bce2e370ad68f21d6.png)
Этот журнал может использоваться для диагностики администратором или программистом 1С.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/677/e6e/169/677e6e169544975c37523367536e85d2.png)
Интеграция представляет собой расширение типовой конфигурации «Управление торговлей, редакция 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 перейдите в раздел Конфигурация — Поддержка — Настройка поддержки.
![](https://habrastorage.org/getpro/habr/post_images/dd8/4f7/221/dd84f7221ce8952dbf7e63d462a0f27f.png)
Нажмите кнопку Включить возможность изменения и во всплывающем окне подтвердите выбор.
![](https://habrastorage.org/getpro/habr/post_images/774/775/e7d/774775e7ddbec8a9508b5231c6eae5b5.png)
В окне Настройка правил поддержки выберите Объекты с правилом «Изменения разрешены» — Объект поставщика редактируется с сохранением поддержки и Объекты с правилом «Изменения не рекомендуются» — Объект поставщика не редактируется.
![](https://habrastorage.org/getpro/habr/post_images/ab9/9e4/afe/ab99e4afea19cf2c65fee167cd68f058.png)
Кликните правой кнопкой мыши по корневому разделу Управление Торговлей, выберите Свойства и установите Режим совместимости — Не использовать.
![](https://habrastorage.org/getpro/habr/post_images/9f2/63a/90b/9f263a90b8be85c746335c5446233fe9.png)
Выберите Конфигурация — Обновить конфигурацию базы данных.
![](https://habrastorage.org/getpro/habr/post_images/e17/2be/cdb/e172becdbb2db3034a9d30ac9a3c54aa.png)
И нажмите Принять для завершения изменений.
![](https://habrastorage.org/getpro/habr/post_images/cfe/3a5/740/cfe3a574011492d196b5402d5cfea0b0.png)
Подключение расширения для взаимодействия с 3CX
Закройте Конфигуратор и запустите конфигурацию 1С в режиме Предприятие. В верхнем левом меню выберите Все функции…
![](https://habrastorage.org/getpro/habr/post_images/3bd/18f/64c/3bd18f64ce5e40abbf1086f193623d1a.png)
Выберите пункт Управление расширениями конфигурации.
![](https://habrastorage.org/getpro/habr/post_images/c73/897/66c/c7389766ccaed307412c87e20e62be44.png)
Убедитесь, что установлена Область действия при установке расширения конфигурации — Информационная база, нажмите кнопку Добавить и добавьте расширение, указав файл 3cx1cextension.cfe из архива.
![](https://habrastorage.org/getpro/habr/post_images/e60/3d9/c11/e603d9c117e64665d54940f1c4151d0f.png)
После установки расширения, вкладка Управление расширениями конфигурации должна выглядеть, как показано ниже.
![](https://habrastorage.org/getpro/habr/post_images/fc0/47a/49e/fc047a49ea0b67fa0880c3dc0233c9d3.png)
Публикация HTTP-сервиса расширения 1С: Предприятие на веб-сервере
Публикация конфигурации 1С на веб-сервере производится стандартным способом, с учетом особенностей программного окружения.
- Подробно процедура публикации описана в 1С: ИТС по этой ссылке.
- Инструкция настройки веб-сервисов для 1С v8.3 и IIS 8.5 на ресурсе Infostart.
- Статья с комментариями Публикация баз данных «1С: Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012.
Выполняя публикацию, установите опцию Публиковать HTTP-сервисы расширений по умолчанию.
![](https://habrastorage.org/getpro/habr/post_images/83e/d18/692/83ed18692599571142b1d0b8a0c21364.png)
Если в конфигурации есть пользователи (в редких случаях используются конфигурации без пользователей), необходимо изменить строку подключения к базе 1С: Предприятие.
Рассмотрим это на примере веб-сервера IIS:
В каталоге публикации найдите файл default.vrd.
![](https://habrastorage.org/getpro/habr/post_images/170/04b/674/17004b67411136ac24f1f1be4f64af96.png)
Измените в нем строку подключения, добавив учетные данные пользователя, от имени которого база данных будет отвечать на HTTP-запросы. Строка подключения должна выглядеть примерно так.
![](https://habrastorage.org/getpro/habr/post_images/ecc/96e/7a3/ecc96e7a37895fe1a51560454c6a8cd3.png)
Установка XML-шаблона CRM 1С: Предприятие в 3CX
Откройте интерфейс управления 3CX и перейдите в раздел Параметры — CRM-интеграция — вкладка На стороне сервера.
В разделе Доступные CRM интеграции выберите 1С и нажмите Загрузить выбранное.
![](https://habrastorage.org/getpro/habr/post_images/d82/877/15f/d8287715fa623a980ab1371ff0e07cf0.png)
Затем в поле Domain Part укажите URL опубликованного HTTP-сервиса конфигурации 1С.
Для учета вызовов в 1С включите опцию Enable call journaling.
![](https://habrastorage.org/getpro/habr/post_images/6f3/78a/46e/6f378a46eab8127c9dea16c0cdef6c62.png)
Возможности интеграции 1С: Предприятие c 3CX
Как было сказано выше, расширение сопоставляет входящие Caller ID с номерами контрагентами в базе 1С. Если совпадение найдено, веб-клиент 3CX покажет имя и фамилию вызывающего абонента.
Учет вызовов в 1С
Если в CRM-шаблоне включено журналирование вызовов, 1С будет вести журнал входящих и исходящих вызовов со следующими параметрами:
- Дата вызова
- Тип вызова: входящий / исходящий / пропущен внутренним абонентом / нет ответа внешнего абонента
- Длительность вызова
- Номер внешнего абонента (Caller ID)
- Номер внутреннего абонента (добавочного номера 3CX)
- Контрагент 1С (если найдено соответствие)
![](https://habrastorage.org/getpro/habr/post_images/25e/4ea/958/25e4ea958461fddcb3e2ad74df646931.png)
В журнале вызовов вы можете задавать условия отбора и сортировки по интересующим вас столбцам, чтобы быстро анализировать ситуацию пропущенными или несостоявшимися вызовами в организации.
![](https://habrastorage.org/getpro/habr/post_images/337/d30/fe0/337d30fe0686f55bc823bc62d832c88e.png)
Технический журнал взаимодействия 3CX и 1С
Технический журнал 3CX ведет лог всех обращений 3CX к 1С через REST API.
![](https://habrastorage.org/getpro/habr/post_images/45a/3ae/2d8/45a3ae2d859a476bce2e370ad68f21d6.png)
Этот журнал может использоваться для диагностики администратором или программистом 1С.
![](https://habrastorage.org/getpro/habr/post_images/677/e6e/169/677e6e169544975c37523367536e85d2.png)
Загрузки и документация
- Расширение типовой конфигурации 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С, который реализует расширение. В нем вы можете быстро отобрать интересующих вас контрагентов.