Платежи из файла: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Sv (обговорення | внесок) |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 26: | Рядок 26: | ||
* user_column_number: номер колонки, в которой содержится идентификатор абонента | * user_column_number: номер колонки, в которой содержится идентификатор абонента | ||
* user_field_in_db: имя поля в базе данных, в котором хранится идентификатор абонента | * user_field_in_db: имя поля в базе данных, в котором хранится идентификатор абонента | ||
* user_db: таблицы, в котором хранится идентификатор абонента (по умолчанию data0) | * user_db: имя таблицы, в котором хранится идентификатор абонента (по умолчанию data0) | ||
* user_id_in_db: имя поля в базе данных, в котором хранится номер абонента (по умолчанию uid) | * user_id_in_db: имя поля в базе данных, в котором хранится номер абонента (по умолчанию uid) | ||
* amount_column_number: номер колонки, в которой содержится сумма пополнения | * amount_column_number: номер колонки, в которой содержится сумма пополнения |
Версія за 12:30, 23 грудня 2019
Модуль позволяет загрузить в NoDeny платежи из файла, распределив их по абонентам по определенному признаку. При повторной загрузке файла, дубликаты не будут созданы. Возможна загрузка файлов с разным форматом хранения платежей.
В разделе «Документы» создайте папку с именем, например, «Импорт платежей». В этой папке создайте документ с любым именем, например, по имени банка, чью выписку вы хотите регулярно импортировать. В данном файле необходимо в каждой строке указать имя параметра = значение. Пример:
file_format = csv file_encoding = cp1251 csv_delimiter = ; skip_first_line = 1 user_column_number = 10 user_field_in_db = _erdpo action_when_many_users = ignore amount_column_number = 15 only_positive_amount = 1 div100_amount = 0 comment_column_number = 16 date_column_number = 5 date_column_format = %d.%m.%Y %H:%M unique_columns = 5,12
- file_format: формат файла
- file_encoding: кодировка файла (cp1251/utf8)
- csv_delimiter: разделитель столбцов в csv-файле
- skip_first_line: 1 - не обрабатывать первую строку (обычно она содержит заголовок), 0 - обрабатывать
- user_column_number: номер колонки, в которой содержится идентификатор абонента
- user_field_in_db: имя поля в базе данных, в котором хранится идентификатор абонента
- user_db: имя таблицы, в котором хранится идентификатор абонента (по умолчанию data0)
- user_id_in_db: имя поля в базе данных, в котором хранится номер абонента (по умолчанию uid)
- amount_column_number: номер колонки, в которой содержится сумма пополнения
- only_positive_amount: 1 - разрешается только положительная сумма, 0 - любая
- div100_amount: 1 - необходимо разделить сумму на 100 (в csv хранится в копейках)
- comment_column_number: номер колонки, в которой содержится комментарий к платежу
- date_column_number: номер колонки, в которой содержится дата платежа
- date_column_format: формат даты (https://www.unix.com/man-page/FreeBSD/3/strftime/)
- unique_columns: какие колонки определяют уникальность платежа - защита от дубликатов. Колонки "время" и "клиент" можно не указывать - проверяются автоматически
- pay_category: категория платежа, по умолчанию 4 (банк)
Все колонки нумеруются с единицы.
Импорт платежей
В разделе «Платежи» нажмите на кнопку «Загрузить из файла». В появившемся окне выберите документ с настройками, по которым мы хотим распарсить файл с платежами. Затем выберите сам файл.
Установка модуля
cd /usr/ports/textproc/p5-Text-CSV && make install clean
или
apt-get install libtext-csv-perl