Agregar SAT Bancos

This commit is contained in:
Mauricio Baeza 2017-11-11 20:21:00 -06:00
parent a5f8b62929
commit 423937f1ca
6 changed files with 231 additions and 11 deletions

View File

@ -91,12 +91,18 @@ class StorageEngine(object):
def _get_allcurrencies(self, values):
return main.SATMonedas.get_()
def _get_allbancos(self, values):
return main.SATBancos.get_()
def _get_taxupdate(self, values):
return main.SATImpuestos.actualizar(values)
def _get_currencyupdate(self, values):
return main.SATMonedas.actualizar(values)
def _get_bancoupdate(self, values):
return main.SATBancos.actualizar(values)
def _get_satkey(self, values):
return main.get_sat_key(values['key'])

View File

@ -15,7 +15,7 @@ if __name__ == '__main__':
from controllers import util
from settings import log, VERSION, PATH_CP, COMPANIES, PRE, CURRENT_CFDI, \
INIT_VALUES
INIT_VALUES, DEFAULT_PASSWORD
FORMAT = '{0:.2f}'
@ -756,6 +756,60 @@ class SATTipoRelacion(BaseModel):
class SATBancos(BaseModel):
key = TextField(index=True, unique=True)
name = TextField(index=True)
razon_social = TextField(default='')
rfc = TextField(default='')
activo = BooleanField(default=False)
class Meta:
order_by = ('-activo', 'name')
indexes = (
(('key', 'name'), True),
)
def __str__(self):
return 'Banco: {} ({})'.format(self.name, self.key)
@classmethod
def get_(self):
rows = SATBancos.select().dicts()
return tuple(rows)
@classmethod
def actualizar(self, values):
id = int(values['id'])
if values['field'] == 'activo':
v = {'0': False, '1': True}
q = (SATBancos
.update(**{'activo': v[values['value']]})
.where(SATBancos.id==id))
result = bool(q.execute())
return {'ok': result}
class CuentasBanco(BaseModel):
de_emisor = BooleanField(default=False)
nombre = TextField()
banco = ForeignKeyField(SATBancos)
fecha_apertura = DateField(null=True)
cuenta = TextField(default='')
clabe = TextField(default='')
moneda = ForeignKeyField(SATMonedas)
saldo_inicial = DecimalField(default=0.0, max_digits=20, decimal_places=6,
auto_round=True)
class Meta:
order_by = ('nombre',)
indexes = (
(('banco', 'cuenta'), True),
)
def __str__(self):
return '{} ({})'.format(self.banco.name, self.cuenta[-4:])
class SATUsoCfdi(BaseModel):
key = TextField(index=True, unique=True)
name = TextField(default='', index=True)
@ -2450,8 +2504,8 @@ def _crear_tablas(rfc):
PreFacturas, PreFacturasDetalle, PreFacturasImpuestos,
PreFacturasRelacionadas,
SATAduanas, SATFormaPago, SATImpuestos, SATMonedas, SATRegimenes,
SATTipoRelacion, SATUnidades, SATUsoCfdi,
Socios, Tags, Usuarios,
SATTipoRelacion, SATUnidades, SATUsoCfdi, SATBancos,
Socios, Tags, Usuarios, CuentasBanco,
Emisor.regimenes.get_through_model(),
Socios.tags.get_through_model(),
Productos.impuestos.get_through_model(),
@ -2461,10 +2515,10 @@ def _crear_tablas(rfc):
database_proxy.create_tables(tablas, True)
log.info('Tablas creadas correctamente...')
contraseña = 'blades3.3'
usuarios = (
{'usuario': 'superadmin', 'contraseña': contraseña, 'es_superusuario': True},
{'usuario': 'admin', 'contraseña': contraseña, 'es_admin': True},
{'usuario': 'superadmin', 'contraseña': DEFAULT_PASSWORD,
'es_superusuario': True},
{'usuario': 'admin', 'contraseña': DEFAULT_PASSWORD, 'es_admin': True},
)
for usuario in usuarios:

View File

@ -91,3 +91,4 @@ PRE = {
}
CURRENT_CFDI = '3.3'
DEFAULT_PASSWORD = 'blades3.3'

View File

@ -99,6 +99,104 @@
{"key": "615", "name": "Régimen de los ingresos por obtención de premios", "fisica": true, "activo": false}
]
},
{
"tabla": "SATBancos",
"datos": [
{"key": "002", "name": "BANAMEX", "razon_social": "Banco Nacional de México, S.A., Institución de Banca Múltiple, Grupo Financiero Banamex"},
{"key": "006", "name": "BANCOMEXT", "razon_social": "Banco Nacional de Comercio Exterior, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo"},
{"key": "009", "name": "BANOBRAS", "razon_social": "Banco Nacional de Obras y Servicios Públicos, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo"},
{"key": "012", "name": "BBVABANCOMER", "razon_social": "BBVA Bancomer, S.A., Institución de Banca Múltiple, Grupo Financiero BBVA Bancomer"},
{"key": "014", "name": "SANTANDER", "razon_social": "Banco Santander (México), S.A., Institución de Banca Múltiple, Grupo Financiero Santander"},
{"key": "019", "name": "BANJERCITO", "razon_social": "Banco Nacional del Ejército, Fuerza Aérea y Armada, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo"},
{"key": "021", "name": "HSBC", "razon_social": "HSBC México, S.A., institución De Banca Múltiple, Grupo Financiero HSBC"},
{"key": "030", "name": "BAJIO", "razon_social": "Banco del Bajío, S.A., Institución de Banca Múltiple"},
{"key": "106", "name": "BAMSA", "razon_social": "Bank of America México, S.A., Institución de Banca Múltiple, Grupo Financiero Bank of America"},
{"key": "032", "name": "IXE", "razon_social": "IXE Banco, S.A., Institución de Banca Múltiple, IXE Grupo Financiero"},
{"key": "036", "name": "INBURSA", "razon_social": "Banco Inbursa, S.A., Institución de Banca Múltiple, Grupo Financiero Inbursa"},
{"key": "037", "name": "INTERACCIONES", "razon_social": "Banco Interacciones, S.A., Institución de Banca Múltiple"},
{"key": "042", "name": "MIFEL", "razon_social": "Banca Mifel, S.A., Institución de Banca Múltiple, Grupo Financiero Mifel"},
{"key": "044", "name": "SCOTIABANK", "razon_social": "Scotiabank Inverlat, S.A."},
{"key": "059", "name": "INVEX", "razon_social": "Banco Invex, S.A., Institución de Banca Múltiple, Invex Grupo Financiero"},
{"key": "058", "name": "BANREGIO", "razon_social": "Banco Regional de Monterrey, S.A., Institución de Banca Múltiple, Banregio Grupo Financiero"},
{"key": "060", "name": "BANSI", "razon_social": "Bansi, S.A., Institución de Banca Múltiple"},
{"key": "062", "name": "AFIRME", "razon_social": "Banca Afirme, S.A., Institución de Banca Múltiple"},
{"key": "072", "name": "BANORTE", "razon_social": "Banco Mercantil del Norte, S.A., Institución de Banca Múltiple, Grupo Financiero Banorte"},
{"key": "102", "name": "THE ROYAL BANK", "razon_social": "The Royal Bank of Scotland México, S.A., Institución de Banca Múltiple"},
{"key": "103", "name": "AMERICAN EXPRESS", "razon_social": "American Express Bank (México), S.A., Institución de Banca Múltiple"},
{"key": "108", "name": "TOKYO", "razon_social": "Bank of Tokyo-Mitsubishi UFJ (México), S.A."},
{"key": "110", "name": "JP MORGAN", "razon_social": "Banco J.P. Morgan, S.A., Institución de Banca Múltiple, J.P. Morgan Grupo Financiero"},
{"key": "112", "name": "BMONEX", "razon_social": "Banco Monex, S.A., Institución de Banca Múltiple"},
{"key": "113", "name": "VE POR MAS", "razon_social": "Banco Ve Por Mas, S.A. Institución de Banca Múltiple"},
{"key": "116", "name": "ING", "razon_social": "ING Bank (México), S.A., Institución de Banca Múltiple, ING Grupo Financiero"},
{"key": "124", "name": "DEUTSCHE", "razon_social": "Deutsche Bank México, S.A., Institución de Banca Múltiple"},
{"key": "126", "name": "CREDIT SUISSE", "razon_social": "Banco Credit Suisse (México), S.A. Institución de Banca Múltiple, Grupo Financiero Credit Suisse (México)"},
{"key": "127", "name": "AZTECA", "razon_social": "Banco Azteca, S.A. Institución de Banca Múltiple."},
{"key": "128", "name": "AUTOFIN", "razon_social": "Banco Autofin México, S.A. Institución de Banca Múltiple"},
{"key": "129", "name": "BARCLAYS", "razon_social": "Barclays Bank México, S.A., Institución de Banca Múltiple, Grupo Financiero Barclays México"},
{"key": "130", "name": "COMPARTAMOS", "razon_social": "Banco Compartamos, S.A., Institución de Banca Múltiple"},
{"key": "131", "name": "BANCO FAMSA", "razon_social": "Banco Ahorro Famsa, S.A., Institución de Banca Múltiple"},
{"key": "132", "name": "BMULTIVA", "razon_social": "Banco Multiva, S.A., Institución de Banca Múltiple, Multivalores Grupo Financiero"},
{"key": "133", "name": "ACTINVER", "razon_social": "Banco Actinver, S.A. Institución de Banca Múltiple, Grupo Financiero Actinver"},
{"key": "134", "name": "WAL-MART", "razon_social": "Banco Wal-Mart de México Adelante, S.A., Institución de Banca Múltiple"},
{"key": "135", "name": "NAFIN", "razon_social": "Nacional Financiera, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo"},
{"key": "136", "name": "INTERBANCO", "razon_social": "Inter Banco, S.A. Institución de Banca Múltiple"},
{"key": "137", "name": "BANCOPPEL", "razon_social": "BanCoppel, S.A., Institución de Banca Múltiple"},
{"key": "138", "name": "ABC CAPITAL", "razon_social": "ABC Capital, S.A., Institución de Banca Múltiple"},
{"key": "139", "name": "UBS BANK", "razon_social": "UBS Bank México, S.A., Institución de Banca Múltiple, UBS Grupo Financiero"},
{"key": "140", "name": "CONSUBANCO", "razon_social": "Consubanco, S.A. Institución de Banca Múltiple"},
{"key": "141", "name": "VOLKSWAGEN", "razon_social": "Volkswagen Bank, S.A., Institución de Banca Múltiple"},
{"key": "143", "name": "CIBANCO", "razon_social": "CIBanco, S.A."},
{"key": "145", "name": "BBASE", "razon_social": "Banco Base, S.A., Institución de Banca Múltiple"},
{"key": "166", "name": "BANSEFI", "razon_social": "Banco del Ahorro Nacional y Servicios Financieros, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo"},
{"key": "168", "name": "HIPOTECARIA FEDERAL", "razon_social": "Sociedad Hipotecaria Federal, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo"},
{"key": "600", "name": "MONEXCB", "razon_social": "Monex Casa de Bolsa, S.A. de C.V. Monex Grupo Financiero"},
{"key": "601", "name": "GBM", "razon_social": "GBM Grupo Bursátil Mexicano, S.A. de C.V. Casa de Bolsa"},
{"key": "602", "name": "MASARI", "razon_social": "Masari Casa de Bolsa, S.A."},
{"key": "605", "name": "VALUE", "razon_social": "Value, S.A. de C.V. Casa de Bolsa"},
{"key": "606", "name": "ESTRUCTURADORES", "razon_social": "Estructuradores del Mercado de Valores Casa de Bolsa, S.A. de C.V."},
{"key": "607", "name": "TIBER", "razon_social": "Casa de Cambio Tiber, S.A. de C.V."},
{"key": "608", "name": "VECTOR", "razon_social": "Vector Casa de Bolsa, S.A. de C.V."},
{"key": "610", "name": "B&B", "razon_social": "B y B, Casa de Cambio, S.A. de C.V."},
{"key": "614", "name": "ACCIVAL", "razon_social": "Acciones y Valores Banamex, S.A. de C.V., Casa de Bolsa"},
{"key": "615", "name": "MERRILL LYNCH", "razon_social": "Merrill Lynch México, S.A. de C.V. Casa de Bolsa"},
{"key": "616", "name": "FINAMEX", "razon_social": "Casa de Bolsa Finamex, S.A. de C.V."},
{"key": "617", "name": "VALMEX", "razon_social": "Valores Mexicanos Casa de Bolsa, S.A. de C.V."},
{"key": "618", "name": "UNICA", "razon_social": "Unica Casa de Cambio, S.A. de C.V."},
{"key": "619", "name": "MAPFRE", "razon_social": "MAPFRE Tepeyac, S.A."},
{"key": "620", "name": "PROFUTURO", "razon_social": "Profuturo G.N.P., S.A. de C.V., Afore"},
{"key": "621", "name": "CB ACTINVER", "razon_social": "Actinver Casa de Bolsa, S.A. de C.V."},
{"key": "622", "name": "OACTIN", "razon_social": "OPERADORA ACTINVER, S.A. DE C.V."},
{"key": "623", "name": "SKANDIA", "razon_social": "Skandia Vida, S.A. de C.V."},
{"key": "626", "name": "CBDEUTSCHE", "razon_social": "Deutsche Securities, S.A. de C.V. CASA DE BOLSA"},
{"key": "627", "name": "ZURICH", "razon_social": "Zurich Compañía de Seguros, S.A."},
{"key": "628", "name": "ZURICHVI", "razon_social": "Zurich Vida, Compañía de Seguros, S.A."},
{"key": "629", "name": "SU CASITA", "razon_social": "Hipotecaria Su Casita, S.A. de C.V. SOFOM ENR"},
{"key": "630", "name": "CB INTERCAM", "razon_social": "Intercam Casa de Bolsa, S.A. de C.V."},
{"key": "631", "name": "CI BOLSA", "razon_social": "CI Casa de Bolsa, S.A. de C.V."},
{"key": "632", "name": "BULLTICK CB", "razon_social": "Bulltick Casa de Bolsa, S.A., de C.V."},
{"key": "633", "name": "STERLING", "razon_social": "Sterling Casa de Cambio, S.A. de C.V."},
{"key": "634", "name": "FINCOMUN", "razon_social": "Fincomún, Servicios Financieros Comunitarios, S.A. de C.V."},
{"key": "636", "name": "HDI SEGUROS", "razon_social": "HDI Seguros, S.A. de C.V."},
{"key": "637", "name": "ORDER", "razon_social": "Order Express Casa de Cambio, S.A. de C.V"},
{"key": "638", "name": "AKALA", "razon_social": "Akala, S.A. de C.V., Sociedad Financiera Popular"},
{"key": "640", "name": "CB JPMORGAN", "razon_social": "J.P. Morgan Casa de Bolsa, S.A. de C.V. J.P. Morgan Grupo Financiero"},
{"key": "642", "name": "REFORMA", "razon_social": "Operadora de Recursos Reforma, S.A. de C.V., S.F.P."},
{"key": "646", "name": "STP", "razon_social": "Sistema de Transferencias y Pagos STP, S.A. de C.V.SOFOM ENR"},
{"key": "647", "name": "TELECOMM", "razon_social": "Telecomunicaciones de México"},
{"key": "648", "name": "EVERCORE", "razon_social": "Evercore Casa de Bolsa, S.A. de C.V."},
{"key": "649", "name": "SKANDIA", "razon_social": "Skandia Operadora de Fondos, S.A. de C.V."},
{"key": "651", "name": "SEGMTY", "razon_social": "Seguros Monterrey New York Life, S.A de C.V"},
{"key": "652", "name": "ASEA", "razon_social": "Solución Asea, S.A. de C.V., Sociedad Financiera Popular"},
{"key": "653", "name": "KUSPIT", "razon_social": "Kuspit Casa de Bolsa, S.A. de C.V."},
{"key": "655", "name": "SOFIEXPRESS", "razon_social": "J.P. SOFIEXPRESS, S.A. de C.V., S.F.P."},
{"key": "656", "name": "UNAGRA", "razon_social": "UNAGRA, S.A. de C.V., S.F.P."},
{"key": "659", "name": "OPCIONES EMPRESARIALES DEL NOROESTE", "razon_social": "OPCIONES EMPRESARIALES DEL NORESTE, S.A. DE C.V., S.F.P."},
{"key": "670", "name": "LIBERTAD", "razon_social": "Libertad Servicios Financieros, S.A. De C.V."},
{"key": "901", "name": "CLS", "razon_social": "Cls Bank International"},
{"key": "902", "name": "INDEVAL", "razon_social": "SD. Indeval, S.A. de C.V."},
{"key": "999", "name": "N/A"}
]
},
{
"tabla": "SATUsoCfdi",
"datos": [

View File

@ -26,6 +26,7 @@ var controllers = {
tb_sat.attachEvent('onChange', tab_sat_change)
$$('grid_admin_taxes').attachEvent('onCheck', grid_admin_taxes_on_check)
$$('grid_admin_monedas').attachEvent('onCheck', grid_admin_monedas_on_check)
$$('grid_admin_bancos').attachEvent('onCheck', grid_admin_bancos_on_check)
//~ Opciones
tb_options = $$('tab_options').getTabbar()
tb_options.attachEvent('onChange', tab_options_change)
@ -217,6 +218,7 @@ function get_admin_impuestos(){
})
}
function get_admin_monedas(){
webix.ajax().sync().get('/values/allcurrencies', function(text, data){
var values = data.json()
@ -226,6 +228,15 @@ function get_admin_monedas(){
}
function get_admin_bancos(){
webix.ajax().sync().get('/values/allbancos', function(text, data){
var values = data.json()
$$('grid_admin_bancos').clearAll()
$$('grid_admin_bancos').parse(values, 'json')
})
}
function get_config_values(opt){
if(opt == undefined){
return
@ -754,10 +765,10 @@ function tab_options_change(nv, ov){
function tab_sat_change(nv, ov){
//~ show(nv)
if(nv = 'Monedas'){
if(nv == 'Monedas'){
get_admin_monedas()
return
}else if(nv == 'Bancos'){
get_admin_bancos()
}
}
@ -792,3 +803,19 @@ function grid_admin_monedas_on_check(row, column, state){
}
})
}
function grid_admin_bancos_on_check(row, column, state){
var values = {
id: row,
field: column,
value: state,
}
webix.ajax().get('/values/bancoupdate', values, {
error: function(text, data, xhr) {
},
success: function(text, data, xhr) {
}
})
}

View File

@ -388,6 +388,15 @@ var grid_admin_monedas_cols = [
]
var grid_admin_bancos_cols = [
{id: 'id', header: 'ID', hidden: true},
{id: 'key', header: 'Clave', footer: {content: 'rowCount', css: 'right'}},
{id: 'name', header: 'Nombre', adjust: 'data', footer: 'Bancos'},
{id: 'activo', header: 'Activo', template: '{common.checkbox()}',
editor: 'checkbox'},
]
var grid_admin_taxes = {
view: 'datatable',
id: 'grid_admin_taxes',
@ -414,6 +423,19 @@ var grid_admin_monedas = {
}
var grid_admin_bancos = {
view: 'datatable',
id: 'grid_admin_bancos',
select: 'cell',
multiselect: true,
adjust: true,
autowidth: true,
headermenu: true,
footer: true,
columns: grid_admin_bancos_cols
}
var msg_tax = 'Activa los impuestos que uses. El predeterminado se muestra primero'
var sat_impuestos = [
{maxHeight: 20},
@ -422,6 +444,7 @@ var sat_impuestos = [
{cols: [{maxWidth: 15}, grid_admin_taxes, {}]},
{}]
var msg_moneda = 'Activa las monedas que uses. La predeterminada se muestra primero'
var sat_monedas = [
{maxHeight: 20},
@ -431,6 +454,15 @@ var sat_monedas = [
{}]
var msg_bancos = 'Activa los bancos que uses.'
var sat_bancos = [
{maxHeight: 20},
{cols: [{maxWidth: 15}, {view: 'label', label: msg_bancos}, {}]},
{maxHeight: 20},
{cols: [{maxWidth: 15}, grid_admin_bancos, {}]}
]
var tab_sat = {
view: 'tabview',
id: 'tab_sat',
@ -438,13 +470,15 @@ var tab_sat = {
tabbar: {options: [
'Impuestos',
'Monedas',
'Unidades']},
'Bancos',
'Unidades'
]},
animate: true,
cells: [
{id: 'Impuestos', rows: sat_impuestos},
{id: 'Monedas', rows: sat_monedas},
{id: 'Bancos', rows: sat_bancos},
{id: 'Unidades', rows: [{}]},
{},
]
}