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

Skip to end of metadata
Go to start of metadata

Требования

  • 1С Предприятие 8.x
  • Конфигурация "Бухгалтерия предприятия, редакция 2.0" или "Бухгалтерия предприятия, редакция 3.0"

Для работы обработки в 1С Предприятие 8.3 необходимо запускать "Толстый клиент (обычный режим)"

Общая информация

В составе АСР имеется модуль для синхронизации платежей и актов по контрагентам. Вы можете загрузить его в разделе "Помощь" Вашего биллинга

Интеграция 1С построена по принципу работы через API

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

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

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

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

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

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

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

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

После добавления адресов, нажмите кнопку "Сохранить" и выполните следующую команду в консоли:

chroot /app/asr_billing/
/etc/init.d/admin_web_server restart

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

Указывается в веб-интерфейсе биллинга в строке через пробел: Платежные системы -> Настройки сети -> АДРЕСА СЕРВЕРОВ ПЛАТЕЖНЫХ СИСТЕМ
Указывать можно в формате, совместимом с iptables (конкретный ip-адрес, ip-адрес подсети с указанием маски в формате CIDR, доменное имя)
После этого нажать кнопку "Сохранить и применить"
С этих адресов в firewall будет разрешен обмен пакетами по портам 1443 и 1444.

3. Скачать модуль на ПК с 1С.

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

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

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

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

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

6. Отладка

Сделать тестовую группу, завести тестовых абонентов.

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

Очистите предыдущие тестовые синхронизации, если нужно:

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

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

7. Тестирование

Пробовать работать с модулем синхронизации на реальной БД 1С, предварительно сделав резервные копии БД 1С и БД Carbon Billing 5.

В нашем обработчике синхронизация абонентов в биллинге с контрагентами в 1с происходит по полю ИНН в 1с и реквизиту ИНН в биллинге.

При успешной синхронизации абонента будет заполнено поле "Код в 1С". Дальнейшие синхронизации финансовых операций будут производиться по этому коду.

Если что-то не получается, обратитесь в техническую поддержку.

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

Работа с модулем.

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

Для открытия модуля, выберите меню "Файл" -> "Открыть" и укажите путь к модулю.

  • "Период с:", "По:"- даты для фильтрации ПКО при выгрузке.
    Выгрузка происходит по дату НЕ включительно, т.е. для выгрузки ПКО за 1 месяц необходимо указывать период с 1 числа по 1 число.
  • "Пароль к системному API:" - задается в биллинге
  • "Адрес сервера:" - адрес по которому досупна администраторская панель с компьютера который запускает обработку
  • "Организация:" - необходима для создания Абонентов в 1С
  • "id группы" - это id группы в биллинге, для всех абонентов которой проводится синхронизация платежей.
  • "id группы:" - получается из биллинга путем открытия группы в администраторской панели(последняя цифра)  
  • "Загружать контрагентов" - загружает ранее не синхронизированных абонентов (пометка в биллинге)
  • "Загружать ПКО" - загружает Операции с типом "Приход", только по выгруженным в 1С контрагентам. Механизм загрузки следующий: Обработчик запрашивает с биллинга все операции с типом "Приход" без выставленного флага "sync1c" и загружает их в 1с, после чего выставляет у операции в биллинге флаг sync1c и добавляет code1c данной операции. Код состоит из года и номера операции
  • "Загружать акты" - загружает Операции с типом "Акт", только по выгруженным в 1С контрагентам
    Загружаются с опцией "НДС включено в сумму"
  • "Выгружать ПКО" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов.
  • "Выгружать выписки" - создает в биллинге Операции с типом "Приход" у синхронизированных абонентов по платежным поручениям из 1с.

Бухгалтерия предприятия 3.0

По-умолчанию, конфигурация БП 3.0 загружается в режиме "управляемого приложения". Наш модуль не оптимизирован для данного режима, потому для обмена данными с биллингом необходимо запустить 1С в режиме "обычного приложения".
Для этого выполните следующее:

  1. В интерфейсе запуска 1С нажмите кнопку "Добавить"
  2. Выберите "Добавление в список существующей информационной базы"
  3. Укажите параметры доступа к Вашей конфигцрации 1С Бухгалтерия предприятия 3.0
  4. На последнем шаге укажите режим запуска "Толстый клиент" и напишите следующее в поле "Параметры запука", как показано на скришноте:

    /DisableStartupMessages /RunModeOrdinaryApplication



  5. Нажмите "Готово" и запустите приложение.

Дальнейшие шаги идентичны запуску обработки в Бухгалтерии 2.0 платформы 1С 8.2

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

1. Сброс синхронизации всех приходов

sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL where op_type=2 and code1c is not null"

2. Сброс синхронизации всех актов

sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL where op_type=1 and code1c is not null"

3. Сброс синхронизации конкретной операции

sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL where code1c ='<год операции>_<номер операции в 1с>'"

sqlexec "update FINANCE_OPERATIONS set sync1c=0, code1c=NULL where code1c ='2015_ВА0000003432'"

Добавление выписок и ПКО череp API REST v2.0

Если Вы интегрированы с АТОЛ Онлайн и используете нестандартную обработку для 1С, добавляя платежи юрлиц через API REST v2.0, вероятно их не требуется фискализировать дополнительно, для этого используйте поле prevent_submit_check=True при добавлении платежа, например:

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 -
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.