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

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

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

просмотр истории страницы
{code}

h3. 6. Отладка
h3. *6. Отладка*

Сделать тестовую группу, завести тестовых абонентов.
Очистите предыдущие тестовые синхронизации, если нужно:

{code} sqlexec "update abonents set SYNC1C = null, CODE1C = null"
{code}
sqlexec "update abonents set SYNC1C=0, CODE1C=''"

sqlexec "update FINANCE_OPERATIONS set SYNC1C = null, CODE1C = null"

sqlexec "update FINANCE_OPERATIONS set SYNC1C=0, CODE1C=''"
{code}

* "Выгружать выписки" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов по платежным поручениям из 1с.

h3. Как сопоставить абонента в биллинге и в 1С

* Биллинг:
!Интеграция 1С, абонент в биллинге, основные поля.png|border=0,width=1000!
!Интеграция 1С, абонент в биллинге, учетная запись.png|border=0,width=300!
!Интеграция 1С, абонент в биллинге, код в 1С.png|border=0,width=470!

* 1С
!Интеграция 1С, абонент в 1С, общие.png|border=0,width=450! !Интеграция 1С, абонент в 1С, адреса и телефоны.png|border=0,width=450!
!Интеграция 1С, абонент в 1С, счета и договоры.png|border=0,width=450!


h3. Как сопоставить операцию в биллинге и в 1С

h2. Полезные команды


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

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

h3. 3. # h5. Сброс синхронизации конкретной операции
{code}
sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL code1c='' where code1c ='<год операции>_<номер операции в 1с>'"

sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL code1c='' where code1c ='2015_ВА0000003432'"
{code}
# h5. Просмотреть всех синхронизированных абонентов в [конструкторе отчётов|конструктор отчетов]
{code}
h3. Добавление выписок и ПКО череp API REST v2.0
select
a.id,
a.sync1c,
a.code1c,
a.name,
v.ATTRIBUTE_VALUE as INN
from abonents a left join attribute_values v on (v.ABONENT_ID=a.ID and v.attribute_id=4)
{code}
# h5. Сторнировать все синхронизированные операции
{code}
sqlexec "set list on; select op_id from finance_operations where code1c!='' and storno=0" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"op_id": '$line'}&method2=storno_op&arg2={"extra_descr": "Test_1C_Sync"}' 'http://169.254.80.82:8082/rest_api/v2/FinanceOperations/' -D - ; done
{code}
# h5. Добавление выписок и ПКО через API REST v2.0
Если Вы интегрированы с [CarbonBilling:АТОЛ Онлайн] и используете нестандартную обработку для 1С, добавляя платежи юр. лиц через [CarbonBilling:API REST v2.0], вероятно их не требуется фискализировать дополнительно, для этого используйте поле _prevent_submit_check=True_ при добавлении платежа, например:
{code}curl -XPOST -d 'method1=objects.create&arg1={"abonent_id": 1111, "op_summa": "50.5", "op_type_id": 2, "descr": "ПКО из 1С", "prevent_submit_check": True}' 'http://169.254.80.82:8082/rest_api/v2/FinanceOperations/' -D -{code}

h3. Лог синхронизации

Синхронизация происходит по [Ссистемному API|Системные API].
{code:title=Лог системного API}
/app/asr_billing/var/log/django/system_api.log