Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Якорь
bgbilling_config_customer_import
bgbilling_config_customer_import

Использование контрагентов не является обязательным при интеграции BGCRM с BGBilling. Возможна работа с договорами посредством Web-интерфейса в BGCRM, к договорам могут быть привязаны процессы. Контрагент позволяет выделить параметры специфичные для непосредственно клиента либо организации в отдельную сущность. Например, актуальные контакты, паспортные данные, банковские реквизиты. Такжа контрагент позволяет сгруппировать договора организации/клиента. Наиболее оптимально импортировать контрагентов вторым этапом интеграции.

...

  1. Из базы биллинга выбирается следующий договор с текстовым полем Код контрагента = 0 (код поля настраивается, само поле нужно создать в биллинге).

  2. Наименование контрагента извлекается из комментария договора биллинга.

  3. Производится поиск в базе контрагентов с названием, включающем в себя название контрагента договора, для всех найденных контрагентов сверяются подтверждающие параметры (адреса, телефоны, паспортные данные и т.п.). При совпдадении хотя бы одного из подтверждающих параметров контрагент считается установленным.

  4. Если в шаге 2 контрагент не найден, то контрегент ищется по ключевым параметрам, после чего для найденных контрагентов определяется степень несовпадения наименования с наименованием контрагента договора. Если расстояние Левенштейна между двумя наименованиями не превышает указанного в конфигурации значения, то контрагент считается установленным. К наименованию контрагента в BGCRM добавляется новый вариант написания через символ пайпа (|). В дальнейшем правильный вариант написания предстоит установить оператору.

  5. Если контрагент не найден при прямом и обратном поиске - создаётся новый контрагент.

  6. К созданному контрагенту привязывается договор, в него импортируются параметры договора.

...

Блок кода
languagejava
linenumbersfalse
bgbilling:creator.confirmParameters=<confirm_params>
bgbilling:creator.searchParameters=<search_params>
bgbilling:creator.titleDistance=<title_dist>
bgbilling:creator.importParameters=<import_params>
bgbilling:creator.importBillingIds=<billing_ids>

Где:

  • <confirm_params> - подтверждающие параметры контрагента, коды через запятую;
  • <search_params> - ключевые параметры контрагента, коды через запятую;
  • <title_dist> - максимальное расстояние Левенштейна;
  • <import_params> - импортируемые из договора параметры контрагента;
  • <billing_ids> - идентификаторы биллингов, из которых запускается импорт, если не указано - каждый запуск в планировщике инициирует импорт для всех биллингов.

...

Блок кода
languageruby
linenumbersfalse
# необязательный параметр, если шаблона нет - то группа выставляется всем контрагентам
bgbilling:creator.parameterGroupRule.<id>.contractTitlePattern=<title_pattern>
#
bgbilling:creator.parameterGroupRule.<id>.paramGroupId=<param_group>
bgbilling:creator.parameterGroupRule.<id>.titlePatternId=<title_pattern_id>

Где:

  • <id> - уникальный числовой идентификатор правила, правила просматриваются в порядке их идентификаторов;
  • <param_group> - группа параметров контрагента;
  • <title_pattern> - REGEXP выражение выражение, с которым сравнивается номер договора;
  • <title_pattern_id> - код шаблона имени контрагента.

...

Блок кода
languageruby
linenumbersfalse
#
bgbilling:creator.server.<id>.billingId=<billing_id>
bgbilling:creator.server.<id>.user=<user>
bgbilling:creator.server.<id>.pswd=<pswd>
bgbilling:creator.server.<id>.paramMapping=<mapping>
bgbilling:creator.server.<id>.pageSize=<page_size>
#

Где:

  • <id> - уникальный числовой идентификатор;
  • <billing_id> - строковый идентификатор биллинга;
  • <user>, <pswd> - логин и пароль пользователя биллинга, под которым осуществляется импорт;
  • <page_size> - количество договоров для импорта, выбираемых за один раз;
  • <mapping> - соотношение договоров контрагента и биллинга, разделённые точкой с запятой пары <код параметра контрагента>:<код параметра договора> для простых параметров и <код параметра контрагента>[<коды значений спискового параметра через запятую>]:<код параметра договора>[<коды значений спискового параметра через запятую>] - для спискового типа.

При импорте поддерживаются параметры договоров и, соответственно, контрагентов типа: "дата", "текст", "адрес", "телефон", "список". Параметры дата и текст перетирают значение параметра в договора, адрес, телефон и список - дополняют.

...

Для настройки импорта контрагента по таймеру добавьте в конфигурацию планировщика класс ru.bgcrm.plugin.bgbilling.creator.CustomerCreator, например:

Блок кода
languageruby
linenumbersfalse
scheduler.task.1.class=ru.bgcrm.plugin.bgbilling.creator.CustomerCreator
scheduler.task.1.minutes=2,12,22,32,42,52

...

Документация BGCRM 3.0