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

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

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

просмотр истории страницы



!1c_help0407.png|border=0,width=800!
{info}

Логи api запросов от 1с обработчика можно посмотреть в */app/asr_billing/var/log/admin_web_server.log | \| grep api_1c*
{info}

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

{info}Старайтесь использовать в паролях только латинский алфавит, подчеркивания и цифры. Кириллицу и спецсимволы лучше не использовать, они могут некорректно обрабатываться или передаваться.
Например:
* *Подходящий пароль*: {color:green}zBxnaRBrxM_27dJHW{color}
* *Нерабочий пароль*: D1kfGbdE{color:red}\#%{color}A0d
{info}

{color:#ff0000}Версия обработки должна быть не ниже 2.6{color}

h3. 4. Обязательно сделайте копию БД 1С и сначала проверяйте на ней\!

Копию может сделать Ваш системный администратор.
{color:#ff0000}Загружаются с опцией "НДС включено в сумму"{color}
* "Выгружать ПКО" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов.
* "Выгружать выписки" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов по платежным поручениям из 1с.

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


* Биллинг:
!Selection_355.png|border=1,width=800! \\ \\
!Selection_355.png|border=1,width=800!
\\
\\
* 1С
!Selection_356.png|border=1,width=550!
** Название платёжной системы (operator_name)
** Статус платежа в платёжной системе (operator_result)
** ID платежа от платёжной системы (operator_pay_id_str) | Комментарий |

h3. Пример выгрузки
Ниже можно посмотреть скриншоты из обеих систем после синхронизации.

* Скриншот расхода в биллинге. На ней можно увидеть детальную информацию по потреблению услуг: звонки, длительность, стоимость услуг за единицу и сумму за месяц по каждой услуге в отдельности. \\ \\
\\
\\ !Интеграция с 1С, пример расхода интернет и телефония.png|border=1,width=1250! \\ \\
\\
\\
* Вкладка "Операции", на ней можно увидеть номер акта и итоговую сумму за месяц, а так же поступление денег, сделанное в биллинге. Докуметы уже синхронизированы с 1С, это видно по полю "Код 1С" \\ \\
\\
\\ !Интеграция с 1С, вкладка Операции в биллинге.png|border=1,width=1200! \\ \\
\\
\\
* Детальная информация по услугам в акте в биллинге, стандартная печатная форма. \\ \\
\\
\\ !Интеграция с 1С, акт по стандартной форме из биллинга.png|border=1,width=800! \\ \\
\\
\\
* Вкладка "Документы" в 1С, с информацией подобной вкладке "Операции" в биллинге. Можно увидеть, что и акт, и платёж синхронизированы. \\ \\
\\
\\ !Интеграция с 1С, вкладка Документы в 1С.png|border=1,width=1250! \\ \\
\\
\\
* Детальная информация по документу "Реализация" в 1С. Это акт, синхронизированный из биллинга. \\ \\
\\
\\ !Интеграция с 1С, акт в 1С (документ типа Реализация).png|border=1,width=1250!


h2. Отладка

h3. При выполении операции в 1С ошибка "Не удалось выполнить запрос: Дата операции не может быть раньше даты создания абонента"

       Необходимо изменить дату создания абонента, указав дату создания раньше даты первой операции или первого ПКО в 1С


{code}
curl -ss -XPOST -d 'method1=objects.get&arg1={"id": id абонента}&method2=set&arg2={"create_date_system": "дата создания в формате ГГГГ-ММ-ДД"}&method3=save&arg3={}' http://169.254.80.82:8082/rest_api/v2/Abonents/ -D -
{code}

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

# h4. Просмотреть всех синхронизированных абонентов в [конструкторе отчётов|конструктор отчетов]
{code}
select
a.id,
a.sync1c,
from abonents a left join attribute_values v on (v.ABONENT_ID=a.ID and v.attribute_id=4)
{code}
# h4. Сторнировать все синхронизированные операции
{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