В составе Carbon Billing имеется модуль для синхронизации платежей и актов по контрагентам. Поддержка модуля только с версии продукта 3.3.0.
Поддерживаемая конфигурация 1C - Бухгалтерия 8.
Скриншот модуля для версии 3.9.6 476 и новее.
Логин и пароль - являются логином и паролем учетной записи финансового администратора в биллинге.
id группы - это id группы в биллинге, для всех абонентов которой проводится синхронизация платежей.
Настройка интеграции биллинга с 1С
1. Включить в локальном меню поддержку api
Настройка платежных систем...
Через SSL (HTTPS)
[X] Включить SSL WEB-сервер для платежей Разрешенные адреса клиентов для SSL WEB-сервера указать адрес машины с 1С [X] Требовать и проверять клиентский сертификат Создать клиентский сертификат...
Введите имя клиентского сертификата (CN) - например myname1с
Через HTTP (начиная с версии 396 476)
Внимание! Рекомендуется использовать только для тестов, затем перейти на https!
Начиная с версии 396 476 доступна работа без шифрования, т.е. адрес для подключения будет выглядеть как http://ip_сервера:1444.
[X] Включить HTTP-сервер для платежей IP-адрес для подключения по HTTP Порт для подключения по HTTP Разрешенные адреса клиентов для HTTP-сервера
Для настройки работы через http можно пропустить шаг 2.
2. Установка сертификата для HTTPS.
С помощью WinSCP забрать созданный в пункте 1 сертификат ssl pfx из /var/lib/usrcert или /USRCERT и установить его в браузер IE
Попробовать открыть в браузер IE страницу https://локальный_ip_сервера:1443/
Должна появиться страница с вводом пароля из интерфейса кассира.
3. Скопировать модуль на ПК с 1С.
Для версии 3.9.6 476 и новее
Начиная с версии 396 476 вы можете указывать эти параметры в форме модуля для 1С, не исправляя его код и не меняя версию.
Скачать сам модуль для 8 версии можно здесь: ideco1c8.epf
Для более старых версий
Для 1С 7 версии:
https://локальный_ip_сервера:1443/ideco1c7.ert
Для 1С 8 версии:
https://локальный_ip_сервера:1443/ideco1c8.epf
Открыть этот файл в конфигураторе и исправить логин пароль arg1=Administrator&arg2=servicemode и версию поставить arg3=27
URL = АдресСервера+"/api.php?cmd=execute&proc=CLN_AUTH_LOGIN&arg1=Administrator&arg2=servicemode&arg3=27";
Логин и пароль в получившейся ссылке должны совпадать с логином паролем главного администратора в Carbon Manager, текущий номер версии менеджера можно узнать командой на сервере
sqlexec "select * from gln_getversion"
4. Обязательно сделать копию БД 1С и сначала проверять на ней!
5. Пометить в БД Carbon Billing какие старые операции не нужно синхронизировать
Установите поле sync1c=-1
Через ib_expert CTRL+f11:
update FINANCE_OPERATIONS set sync1c=-1, code1c='old' where FINANCE_OPERATIONS.op_date<'01.01.2011'
или из консоли рута/помощника:
sqlexec "update FINANCE_OPERATIONS set sync1c=-1, code1c='old' where FINANCE_OPERATIONS.op_date<'01.01.2011'"
6. Отладка
Сделать тестовую группу, завести тестовых абонентов.
Провести тестовые испытания синхронизации в обе стороны по тестовым абонентам убедиться что все работает как вам нужно.
Очистите предыдущие тестовые синхронизации если нужно
sqlexec "execute procedure api_clear_all;" sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL" sqlexec "update users set sync1c=0, code1c=NULL"
7. Тестирование
Пробовать работать с модулем синхронизации на реальной БД 1С, предварительно сделав резервные копии БД 1С и БД Carbon Billing.