Интеграция с 1С

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (42)

просмотр истории страницы
h1. Общая информация

Интеграция 1С построена по принципу работы через API [http://docs.carbonsoft.ru/display/CarbonBilling/API+REST+v2.0]
В составе АСР имеется модуль для синхронизации платежей и актов по контрагентам. Вы можете загрузить его в разделе "*Помощь*" Вашего биллинга

В составе АСР имеется модуль для синхронизации платежей и актов по контрагентам. Вы можете загрузить его в разделе "Помощь" Вашего биллинга
Интеграция 1С построена по принципу работы через [API|http://docs.carbonsoft.ru/display/CarbonBilling/API+REST+v2.0]

!1c_help.png|border=1!

!1c_help.png|border=1,width=700!

h2. Настройка интеграции биллинга с 1С

{tip}{*}Время выполнения инструкции*: 10-15 минут, при необходимости исключить часть операций из теста на пятом шаге, время теста может увеличиться
{tip}

h3. *1. Настроить доступ к API биллинга*

Откройте страницу *Настройки* \-> *Настройки в файле* \-> *network*, укажите IP-адреса компьютеров с которых планируется выполнять синхронизацию 1С в поле "*Список IP для которых разрешено подключаться к системному API*"

{info}Если биллинг и компьютеры с 1С находятся в разных подсетях, вероятно клиентские запросы будут проходить NAT-трансляцию - в таком случае укажите конечный IP-адрес с которого будут приходит обращения к биллингу{info}


Вводить адреса нужно через пробел.

Пароль для доступа к api можно посмотреть в настройке биллинга (в файле)
В этом же меню Вы можете узнать и задать пароль доступа к API, он потребуется Вам в дальнейшем в интерфейсе обработки 1С.

!Unnamed image (2).png|border=1!

Так же необходимо добавить IP-адрес компьютера, на котором будет запущена внешняя обработка 1С, в соответствующий список как на скриншоте.
!Unnamed image (2).png|border=1,width=600!


После добавления адресов, нажмите кнопку "*Сохранить*" и выполните следующую команду в консоли:
{code}chroot /app/asr_billing/
/etc/init.d/admin_web_server restart
{code}


h2. Настройка интеграции биллинга с 1С


h3. *1. Настроить доступ к API биллинга*

Для этого зайти в биллинг Настройки - Настройки в файле - network - Список IP адресов машин, работающих через API
Вводить адреса нужно через пробел.

h3. *2. Настроить в биллинге доступ с сервера 1С*


*Для 1С 8 версии*
Заходите в администраторскую панель Помощь->Cписок онлайн документации
Заходите в администраторскую панель *Помощь* \-> *Cписок онлайн документации*
{color:#ff0000}Версия обработки должна быть не ниже 2.6{color}

h3. *5. Пометить в БД какие старые операции не нужно синхронизировать*

*Установите поле sync1c=1*
В примере отмечены все операции, однозначно не синхронизированные ранее (sync1c<>1), включая только приходы и акты (op_type<=2), созданные до 1 мая 2019 года (op_date<'01.05.2019'). При необходимости Вы можете изменить параметры фильтра.

Через ib_expert CTRL+f11:

{code}
update FINANCE_OPERATIONS set  sync1c=1,  code1c='old'  where FINANCE_OPERATIONS.op_date<'01.01.2011'
sqlexec "set list; select op_id from finance_operations where sync1c<>1 and op_type<=2 and op_date<'01.05.2019'" | awk '$2{print $2}' | while read opid; do curl "http://169.254.80.82:8082/rest_api/v2/FinanceOperations/" -d 'method1=objects.get&arg1={"pk":'$opid'}&method2=set&arg2={"sync1c":1,"code1c":"old"}&method3=save'; done
{code}
или из консоли рута/помощника:
{code}
sqlexec "update FINANCE_OPERATIONS set  sync1c=1,  code1c='old'  where FINANCE_OPERATIONS.op_date<'01.01.2011'"
{code}

h3. 6. Отладка
Провести тестовые испытания синхронизации в обе стороны по тестовым абонентам убедиться что все работает как вам нужно.

Очистите предыдущие тестовые синхронизации&nbsp;если нужно{code} sqlexec "execute procedure api_clear_all;"
Очистите предыдущие тестовые синхронизации, если нужно:

sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL"
{code} sqlexec "update abonents set SYNC1C = null, CODE1C = null"

sqlexec "update abonents set sync1c=0, code1c=NULL"
sqlexec "update FINANCE_OPERATIONS set SYNC1C = null, CODE1C = null"

{code}

{note}При открытии модуля нужно использовать толстый клиент. Посмотреть какой клиент используется можно в *"Справка" \-> "О программе"*{note}

{note}Столбец "Выгружать" - выгрузка данных из 1С в биллинг.
Столбец "Загружать" - загрузка данных из биллинга в 1С.{note}

!Selection_059.png|border=1!

* "id группы:" - получается из биллинга путем открытия группы в администраторской панели(последняя цифра) &nbsp; !Selection_060.png|border=1!
* "Загружать контрагентов" - загружает ранее не синхронизированных абонентов (пометка в биллинге)
* "Загружать ПКО" - загружает Операции с типом "Приход", только по выгруженным в 1С контрагентам
* "Загружать ПКО" - загружает Операции с типом "Приход", только по выгруженным в 1С контрагентам. Механизм загрузки следующий: Обработчик запрашивает с биллинга все операции с типом "Приход" без выставленного флага "sync1c" и загружает их в 1с, после чего выставляет у операции в биллинге флаг sync1c и добавляет code1c данной операции. Код состоит из года и номера операции
* "Загружать акты" - загружает Операции с типом "Акт",&nbsp;только по выгруженным в 1С контрагентам
{color:#ff0000}Загружаются с опцией "НДС включено в сумму"{color}
* "Выгружать ПКО" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов.
* "Выгружать выписки" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов по платежным поручениям из 1с.

h3. Бухгалтерия предприятия 3.0
{code}

h3. 2. Сброс синхронизации всех актов
{code}
sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL where op_type=1 and code1c is not null"