Автоматическая выгрузка платежей из CSV

Skip to end of metadata
Go to start of metadata

Для того, чтобы платежи выгрузить из CSV автоматически нужно:

  1. Зайти в chroot /app/asr_billing
  2. Создать папку /cfg/autocsv с правами chmod 755 /cfg/autocsv
  3. В этой папке создаются конфигурации для автоматической выгрузки. Они должны иметь расширение *.autocsv и права chmod 755 /cfg/autocsv/*.autocsv
  4. Например pochtarf.autocsv, содержание которого, может быть следующим
    # Обязательные параметры
    csv_path: '/var/autocsv/pochtarf/'
    contract_number: 0  # Параметр поиска абонента
    sum_in: 1  # Сумма платежа
    pay_id_str: 2  # Уникальный номер платежа
    # Необязательные параметры
    operator_date_in: 3  # Дата платежа
    operator_datetime_date_in: 31 # Дата платежа состоит из двух столбцов, столбец с датой
    operator_datetime_time_in: 32 # Дата платежа состоит из двух столбцов, столбец со временем
    # Столбцы даты и времени соединяются пробелом и заменяют operator_date_in
    date_format: '%Y.%m.%d %H:%M:%S' # Формат даты и времени платежа
    csv_comment: '#' # Символ комментария (в начале строки для пропуска)
    csv_delimiter: ';'  # Разделитель CSV-файла, по умолчанию - ;
    pay_operator: 'Почта РФ'  # Название оператора, по умолчанию - Загрузка из CSV
    skip: 2  # Количество строк, которые нужно пропустить, по умолчанию - 0
    encoding: 'windows-1251'  # Входная кодировка, по умолчанию - utf-8
    special_search_param: 'attr 4'  # Специальный параметр поиска, например 'attr 4' = реквизит 4, то есть ИНН
    special_pay_id_param_list: [30, 31, 33]  # Специальный список параметров для создания номера платежа, если нет уникального поля
    prevent_submit_check: 0 # параметр, отвечающий за отправку чеков в налоговую: 0 - отправлять чеки, 1 - не отправлять чеки, по умолчанию - 0
    incoming_sign: {id: 27, value: C}  # Специальный параметр признака поступления, будут загружаться только те платежи, у которых в колонке под номером 27 установлено значение "C"

    где числа от 0 до 3 - это номера колонок в CSV-файле.

Колонки 0, 1, 2 обязательны.
Если колонки 3 не существует, то и в конфигурации её быть не должно.

Поддерживаемые форматы даты:

  • %Y.%m.%d %H:%M:%S (2016.10.26 10:01:32)
  • %Y%m%d%H%M%S (20161026100132)
BILL0005;500;ABC015;20161026100132
BILL0006;1000;AVC014;2016.10.26 10:01:32

Выгружать файлы можно следующими способами:

  1. По протоколу SSH в путь, который был указан в csv_path
  2. Через web-интерфейс вкладка операции у любой группы абонентов (Для этого способа так же необходимо создать конфигурационный файл, по примеру, который указан выше)
*Разделитель "табуляция" следует заводить так:
csv_delimiter: '\t'

Диагностика ошибок

Ошибки импорта пишутся в лог воркера.

# grep csv_loading /app/asr_billing/var/log/worker.log
2017-04-05 10:19:41,478 - worker - csv_loading - CRITICAL - Абонент с номером договора 123456 не существует или удалён - пропускаем
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.