Экспорт данных из BGBilling для Сбербанка
Для приема платежей, Сбербанк требует базу абонентов в определенном формате.
Для экспорта базы абонентов из BGBilling можно воспользоваться следующим SQL-запросом.
SELECT c.title, cp1.val, CONCAT(ac.title, ',', ast.title, ',д.', ah.house, ah.frac, ',кв.', cp2.flat), REPLACE(CAST(-cb.summa AS CHAR), '.', ',')
FROM contract AS c INNER JOIN contract_parameter_type_1 AS cp1 ON c.id = cp1.cid
INNER JOIN contract_parameter_type_2 AS cp2 ON c.id = cp2.cid
INNER JOIN address_house AS ah ON cp2.hid = ah.id
INNER JOIN address_street AS ast ON ah.streetid = ast.id
INNER JOIN address_city AS ac ON ast.cityid = ac.id
LEFT JOIN (
SELECT cid, summa1 + summa2 - summa3 - summa4 AS summa FROM contract_balance
WHERE yy*12+mm = (
SELECT MAX(yy*12+mm)
FROM contract_balance as cb
WHERE cb.cid = contract_balance.cid
)
) AS cb
ON c.id = cb.cid
WHERE cp1.pid = {{ FIO_PARAMETER_ID }} AND cp2.pid = {{ ADDRESS_PARAMETER_ID }}
ORDER BY c.id;
Перед использованием необходимо указать параметры:
{{ FIO_PARAMETER_ID }}
-- идентификатор параметра, в котором хранится ФИО абонента.
{{ ADDRESS_PARAMETER_ID }}
-- идентификатор параметра, в котором хранится адрес абонента.