Интеграция 3CX с 1С: Управление торговлей — метод установки расширения конфигурации

  • Tutorial
По многочисленным просьбам партнеров и клиентов мы выпустили серверную интеграцию 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С: Предприятие


Для использования расширения необходима версия платформы 1С: Предприятие не ниже 8.3.11. Типовая конфигурация «Управление торговлей, редакция 11» (11.4.3.167) поставляется в режиме совместимости с платформой 8.3.10. Для использования расширения 3СХ необходимо установить режим совместимости конфигурации в значение Не использовать. Если конфигурация находится на поддержке, то следует включить возможность изменения конфигурации.

Продемонстрируем это на скриншотах:

В Конфигураторе 1C перейдите в раздел Конфигурация — Поддержка — Настройка поддержки.



Нажмите кнопку Включить возможность изменения и во всплывающем окне подтвердите выбор.



В окне Настройка правил поддержки выберите Объекты с правилом «Изменения разрешены» — Объект поставщика редактируется с сохранением поддержки и Объекты с правилом «Изменения не рекомендуются» — Объект поставщика не редактируется.



Кликните правой кнопкой мыши по корневому разделу Управление Торговлей, выберите Свойства и установите Режим совместимости — Не использовать.



Выберите Конфигурация — Обновить конфигурацию базы данных.



И нажмите Принять для завершения изменений.



Подключение расширения для взаимодействия с 3CX


Закройте Конфигуратор и запустите конфигурацию 1С в режиме Предприятие. В верхнем левом меню выберите Все функции…



Выберите пункт Управление расширениями конфигурации.



Убедитесь, что установлена Область действия при установке расширения конфигурации — Информационная база, нажмите кнопку Добавить и добавьте расширение, указав файл 3cx1cextension.cfe из архива.



После установки расширения, вкладка Управление расширениями конфигурации должна выглядеть, как показано ниже.



Публикация HTTP-сервиса расширения 1С: Предприятие на веб-сервере


Публикация конфигурации 1С на веб-сервере производится стандартным способом, с учетом особенностей программного окружения.


Выполняя публикацию, установите опцию Публиковать 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. Что происходит, если клиент не найден? В данный момент платформа 1С не имеет возможности вызывать форму добавления нового клиента по HTTP-ссылке.
  2. Если контакт отображается в веб-клиенте, можно ли открыть его полную карточку в 1С? В данный момент платформа 1С не имеет возможности вызывать карточку клиента по HTTP-ссылке.
  3. Можно ли сделать исходящий вызов из тонкого или толстого клиента 1С? Это возможно, но для этого должна быть реализована соответствующая поддержка со стороны 3CX REST API.
  4. Можно ли переадресовать вызов из 1С или реализовать связку «клиент — закрепленный менеджер»? Это возможно, но для этого должна быть реализована соответствующая поддержка со стороны 3CX REST API.
  5. Можно ли реализовать панель оперативного мониторинга (панель телефонии) вызовов в 1С? В данный момент при входящем вызове 3CX передает только Caller ID абонента без вспомогательной служебной информации (например, занятости конкретной линии, добавочного номера получателя вызова и т.п.). Дополнительная служебная информация передается уже после завершения вызова. Кроме того, панель мониторинга предполагает взаимодействие пользователя с вызовами, но для этого требуется поддержка со стороны 3CX REST API.
  6. Можно ли увидеть пропущенные вызовы в карточке контрагента? Используйте Журнал вызовов в 1С, который реализует расширение. В нем вы можете быстро отобрать интересующих вас контрагентов.
3CX Ltd.
84.43
Windows VoIP АТС с видеоконференциями Webmeeting
Share post

Comments 33

    0
    Для использования расширения 3СХ необходимо установить режим совместимости конфигурации в значение Не использовать.

    Кажется такие фееричные идеи уже обсуждались на партнерском форуме в ветке БСП:
    https://partners.v8.1c.ru/forum/t/1747505/m/1747619


    Цитирую:


    Апресов Игорь (1С, Москва): Мы никогда не меняем режим совместимости просто так — это большой техпроект в котором анализируются изменения, дорабатывается конфигурация, пишется методика по переходу.

    Я могу Вам посоветовать подождать выхода УТ на версии платформы 8.3.12, но уж точно предлагать пользователям ломать их информационные базы не следует.

      0
      Ничего страшного при установке режима совместимости конфигурации в значение Не использовать не случится.
      Проверено не единожды.
      1С этого не делает совсем по другим причинам в частности потому что всем придется менять в срочном порядке разработанные и действующие расширения.
        0
        В смысле ничего страшного? А ничего что меняется поведение у объектов? Если вы используете две с половиной формы то это не значит что у всех так.
          0

          Режим совместимости был задолго до появления расширений. Кстати, у расширений режим совместимости свой, в добавку к режиму совместимости конфигураций.


          В режиме совместимости платформа меняет свое поведение. Смотрите документацию здесь
          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 платформа все новшества отключает, а при снятии — отваливаются все формы на которые выведена контактная информация, потому что идет конфликт имен методов глобального контекста. И это только самый простой пример, коих тысячи.

            0
            Все смешалось в доме Облонских… и мухи и котлеты.
            Necessitudo можно в принципе не отвечать, он сразу перешел на личности.
            Видимо он использует три формы и поэтому конечно круче.
            Но уважаемый ZEEGIN потратил столько букв и в целом букв правильных, но не заметил главного — разработчики 3СХ просят установить режим совместимости конфигурации в значение Не использовать.
            Это значит все возможности платформы используются по максимуму.
            В частности им нужно расширение общих модулей по видимому.
            Обычным вменяемым людям еще раз посоветую не слушать мнение экспердов и спокойно отключать.
            Есть реальные примеры не маленьких организаций где это сделано и все работает штатно.
            И на 8.3.12 в том числе уже давно.
              0
              Да более того, кто реально работает с УТ, а не в теории, и обновляет ее, знает что давно уже рекомендованная 1С платформа для УТ это 8.3.12
                0


                Версия УТ 11.4.6, которая сейчас заявлена следующей, в списке проектов в анонсе было обновление БСП до версии 3.0.1, которое работает в режиме 8.3.12 с отключенным режимом совместимости. Чтобы использовать возможности платформы по максимуму надо дождаться выпуска 11.4.6.
                Бухгалтерия, кстати, уже публичную бета выложила 3.0.65, в которой обновила БСП до 3.0.1 и перешла на 8.3.12. Наверное на неделе выпустятся.

                0

                Режим совместимости конфигурации в значение Не использовать будет в разных версиях конфигурации разный. Поставьте режим Не использовать в конфигураторе версии 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С.

            0
            Молодцы что сделали интеграцию.
            Многие клиенты мечтают о таком.
            В данный момент платформа 1С не имеет возможности вызывать форму добавления нового клиента по HTTP-ссылке — вопрос спорный.
            Смотрите как в УНФ сделано ;)
            Буду следить за обновлениями.
            0
            Существуют 3 подхода к реализации интеграции. 1. Изменение типовой конфигурации программистом. 2. Слияние конфигураций. 3. Использование расширения, как сделали мы. Поскольку 3CX позиционируется как коробочное решение, которое должен поддерживать сисадмин без специальных навыков программирования в 1С — мы сделали все plug&play. На наш взгляд, это гораздо надежнее, чем ковыряние в конфигурации человеком без специальных навыков.
              0

              Вы правильно сделали выбрав механизм расширений, но поймите, изменение режима совместимости — это изменение в основной конфигурации, которое не только сисадмину делать нельзя, любой понимающий что делает разработчик откажется его менять.


              Профессионально поступить: это сказать, что ваше расширение требует режима совместимости не меньше 8.3.11, УТ с этим режимом ожидания в октябре.


              Например так написал автор Gitter'а, который сделал расширение для СППР с расширением данных:
              https://github.com/JohnyDeath/GitterExtForSPPR

              0
              Таким же способом мы сделаем расширения и для других типовых конфигураций.
              В нашем расширении используется расширение данных — привносятся регистры сведений, а эта технология появилась только начиная с 8.3.11. wonderland.v8.1c.ru/blog/rasshirenie-dannykh
              Насчет ссылок открытия карточки клиента — спасибо большое, вопрос внимательно изучаем.
                0
                Смотрите какая получается история.
                3CX сделали крайне полезное расширение, я подозреваю проверили его на людях.
                Даже если не проверили — знаю организации работающие в таком режиме без проблем.
                Но приходит уважаемый ZEEGIN и говорит — Ужас, ужас, кранты тому кто так сделает.
                А в чем ужас собственно?
                Я вот например застал время, когда не было интернета и тогда люди отвечали за свои слова.
                Поэтому предложил бы уважаемому ZEEGINу выложить здесь принтскрин конкретного примера, когда изменение режима совместимости помешало штатной работе конкретной организации.
                А так то писать буквы каждый может.
                Я как разработчик регулярно сталкиваюсь с комментариями экспердов, что типа ужас вообще устанавливать что-то из интернета.
                Но они то хотя бы приводят в пример бабу Нюру, которая скачала с интернета программу и теперь с калькулятора пишет.

                  0
                  Уважаемый capitannemo, если не трудно, приведите ссылку на работу с URL в 1С: УНФ. Насколько я знаю, 1С использует внутренние навигационные ссылки, и мы не можем пока понять, как их преобразовать в http формат.
                    0
                    Не понял вопроса. Как в УНФ сделано:
                      0
                      Вы показали только внешнее исполнение, а меня интересует, как это сделано внутри конфигурации. Если честно, я вообще не увидел тут работу с ссылками, о которых сказано в нашей документации. Кроме того, в показанном ролике ничего не говорится о параметрах, которые передает виртуальная АТС, например, Mango, в 1С.
                      Ещё раз обращу внимание, что 3CX передает в 1С только номер телефона и больше ничего. Поэтому невозможно открыть всплывающую карточку внутри 1С (кому ее открывать?) — это делает веб-клиент 3CX.
                      Другие CRM на запрос от 3CX возвращают не только ФИО клиента, но и URL его карточки. Вы знаете, как это сделать в 1С? Как получить внешнюю URL или другой идентификатор карточки контрагента?
                        0

                        В документации
                        Форматы навигационных ссылок


                        <адрес хоста ИБ>#<внутренняя ссылка>


                        <адрес хоста ИБ> = ПолучитьНавигационнуюСсылкуИнформационнойБазы()


                        <внутренняя ссылка> = e1cib/data/<путь к метаданным>?ref=<идентификатор ссылки>
                        <идентификатор ссылки> = СправочникСсылка.<Имя справочника>.УникальныйИдентификатор()


                        Например,
                        e1c://filev/C/1c/db/trade/master#e1cib/data/Справочник.Партнеры?ref=aca00015e9b8c48d11dd4412f8fa030d


                          0
                          Ваша ошибка, как и ZEEGINа, что вы пытаетесь по первым словам понять о чем идет речь.
                          В ролике про УНФ говорится о стыковке с 50+ провайдерами облачной телефонии.
                          CRM там вообще не при чем.
                          Провайдер отдает номер телефона — 1С поднимает карточку клиента если находит по номеру в базе, если нет — предлагает создать.
                          Потратьте 30 мин и посмотрите как работает. Демо есть в онлайн доступе.
                          Единственное что они через систему взаимодействия решают.
                            +1
                            Давайте ответим на простой вопрос — у кого конкретно я должен поднять карточку клиента, если 3CX не передает внутренний номер пользователя при входящем вызове? Об этом я написал в Вопросах и ответах, вопрос № 5. Чтобы реализовать так, как сделано в УНФ, REST API 3CX должно отдавать больше оперативной информации в момент прохождения вызова. И тогда все будет, как вы хотите.
                              0
                              По номеру телефона ищете клиента — у клиента есть свойство основной менеджер — у менеджера есть контактная информация — свойство телефон
                              ctrlv.cz/shots/2018/09/18/ZDfb.png
                              ctrlv.cz/shots/2018/09/18/0lzm.png
                                0
                                Правила распределения входящих вызовов в 3CX могут быть совсем другими.
                      0

                      УТ 11.4.5.* рассчитана на работу с 8.3.10
                      Открываем в 8.3.12
                      Отключаем режим совместимости
                      Получаем проблему с невозможностью ввести адрес.
                      Добавляем расширение с расширением данных
                      Получаем проблему с невозможностью выполнить обновление на новые версии конфигурации.

                        0
                        Теперь хотя бы стало понятно о чем речь.
                        Это скорее косяк разработчиков — назвать функцию модуля именем встроенной и их всего три на конфигурацию
                        image
                        Если следовать методике разработки она должна была называться ВыполнитьПобитовоеИ() и тогда бы со встроенной не пересеклась.
                        В типовых конфигурациях таких ляпов достаточно.
                        Включали НЕ использовать — вот так
                        image
                          0

                          Лол, как можно так тупить.
                          В версии 8.3.10 не было ПобитовоеИ, в версии 8.3.12 есть ПобитовоеИ.
                          В версии 8.3.10 не конфликтует. В версии 8.3.12 конфликтует.
                          Не надо менять режим совместимости чтобы не допускать возможных конфликтов.
                          У разработчиков типовой все в порядке. Они заявили что работает в 8.3.10. В 8.3.10 она и работает. В 8.3.12 работу никто не обещал.

                            0
                            Воистину Лол, как можно так тупить.
                            Нужно придерживаться стандартов разработки тогда имена функций и не пересекутся со встроенными.
                            В типовых — таких примеров куча — то переменную назовут Объект, то ЭтотОбъект
                            А подпирать свои косяки режимом совместимости это великий костыль.

                            its.1c.ru/db/v8std#content:2149184296:hdoc
                            6.4. В имени функции рекомендуется использовать глаголы в неопределенной форме в тех случаях, когда для понимания назначения функции важно, каким образом было получено возвращаемое значение. Например:

                            Функция ВыбратьДанныеПоПравилу(Правило, ПользовательскиеНастройки)
                            Функция ПреобразоватьДанныеПоПравилу(НаборыДанных, ПараметрыПреобразования

                            Чтобы как то развлечь себя — сходите на сайт битрикс и посмотрите интеграцию с УТ 10. Там прямо сказано — поднять режим совместимости конфигурации. И ничего, никто не умер.
                            А Битрикс — это по сути часть 1С.
                              0

                              Наверное разработчикам конфигурации надо быть экстарасенсами, чтобы угадать как в новой версии платформы будет назван какой-нибудь новый метод.


                              Конфигурацию рассчитанную на работу с 8.3.10 писали в 2016 году. 8.3.12 появилась в 2017 году. Как разработчики могли в 2016 узнать имя метода, которое появилось в 2017?


                              Дайте ссылку на документацию битрикс, я им напишу об ошибке у них.

                                +1
                                «Придерживаться стандартов разработки» — именно это можно сказать моему работодателю когда я сниму режим совместимости и буду еще пару-тройку месяцев вылавливать по конфигурации ошибки?
                                Я вам даже больше расскажу — если я буду сначала работать в 8_3_10 без режима совместимости, а потом перейду на 8_3_12, при этом поставив режим совместимости с 8_3_10, то даже в таком случае я словлю немало всякого интересного. И знаете кто будет за это отвечать? Думаете фирма 1С?:)
                                0
                                Зачем вы тратите свое время на этот вопрос?
                                Вы достаточно написали в первом посте.
                                Те кто профессионально занимаются сопровождением тем ваши комментарии не нужны, они перестали читать дальше еще с момента как увидели этот пункт в статье.
                                Кто дружит с головой, но не знал по какой то причине о том что нельзя просто так взять и изменить режим совместимости 1С, прочтя ваш первый комментарий, должны были понять.

                                Все остальные пусть делают по инструкции, в конце концов специалистам франчей будет доп. доход от устранения последствий подобных инструкций.
                                  0
                                  Если вы знаете другй способ интеграции 3CX с 1С, подходящий для самостоятельного подключения без привлечения программиста 1С, готов с удовольствием выслушать.
                                    +1
                                    Расширение просто обогнало на ~1,5 месяца своё время. Релиз УТ 11 с режимом совместимости 8.3.12 запланирован на конец октября.

                                    Всего лишь надо было написать, что вот всё готово, и интеграция доступна с версии 11.4.6. И рассказать что, собственно сделано.

                                    Пассажи про снятие режима совместимости вы очень зря рассказываете, и на ровном месте дискредитируете себя как разработчика, и через это и свою разработку и компанию в которой работаете.
                                      –1
                                      Если вы знаете другой способ подключения расширения без привлечения программиста, ждем вашей экспертизы. Критикуешь — предлагай.
                          0

                          Для сведения: Группа стандартов разработки 1С в телеграмме @v8std


                          Участились случаи, когда поставщики своих расширений в инструкции по установке предлагают снять типовую конфу с поддержки и отключить режим совместимости с платформой.

                          1С проводит многоэтапное ручное и автоматическое тестирование своих конфигураций и рекомендации даются для тех версий платформы, в которых была выполнена разработка и тестирование.

                          Снимая типовую конфигурацию с поддержки и отключая режим совместимости с платформой, вы встаёте на скользкую дорожку неопределённости, полную внезапных неожиданностей.

                          Делать такое для экспериментов в лаборатории — ОК. Для продуктовой базы — слабоумие и отвага.

                          А на линии консультации вам ответят типовой формулировкой про несоответствие условий эксплуатации заявленным требованиям.

                          Не ведитесь.
                            0
                            Все добрый день! По просьбе общественности выпустили конфигурацию 3CX для объединения конфигураций. habr.com/company/3cx/blog/428031 Загрузка: downloads-global.3cx.com/downloads/misc/1c/3cx1cextension.zip

                            Only users with full accounts can post comments. Log in, please.