Костыль к АС Бюджет или автоматизируем выгрузку справочников для WEB-консолидации с помощью Python

Надоело вручную отправлять письма и выбирать справочники ручками, не царское это дело, да и вообще не люблю мартышкин труд. Набросал скрипт на питоне(Python 3.5.1 и библиотека firebirdsql) вытаскивающий данные из firebird, который все делает за меня:

import firebirdsql
#Вытаскиваем данные из АС Бюджет
date_all = "2016-01-16"
sources_date="2015-12-01"
kcsr_data=" "
print('Обновить КЦСР:')
#Строка подключения
conn = firebirdsql.connect(dsn=serverip:C:\BudgetAx\DataBase\BUDGETAX.FDB',
                            user='SYSDBA',
                            password='password')
cur = conn.cursor()
#откроем файл,куда выгрузим коды
f = open('report.txt', 'w')
f.write('Обновить КЦСР:'+'\n')
cur.execute("SELECT code,name FROM kcsr WHERE updatedate>'"+date_all+"'")
for c in cur.fetchall():
    kcsr_data=kcsr_data.join(c)
    print(kcsr_data)
    f.write(kcsr_data+ '\n')
    kcsr_data=" "
print('Обновить КБК:')
f.write('Обновить КБК:'+'\n')
cur.execute("SELECT kdvalue,name FROM KD WHERE updatedate>'"+date_all+"'")
for c in cur.fetchall():
    kcsr_data=kcsr_data.join(c)
    print(kcsr_data)
    f.write(kcsr_data+ '\n')
    kcsr_data=" "
print('Обновить Источники финансирования дефицита бюджета:')
f.write('Обновить Источники финансирования дефицита бюджета:'+'\n')
cur.execute("SELECT finsourcevalue,name FROM innerfinsource WHERE updatedate>'"+sources_date+"'")
for c in cur.fetchall():
    kcsr_data=kcsr_data.join(c)
    print(kcsr_data)
    f.write(kcsr_data+ '\n')
    kcsr_data=" "
conn.close()
f.close() 

Ну и передал результирующий файл в blat, который отправил это письмо за меня

Понравилась статья? Поделиться с друзьями: