Mejoras en Carta Porte
This commit is contained in:
commit
bd6ba5d4d0
|
@ -1,3 +1,10 @@
|
|||
v 1.46.0 [27-Ene-2022]
|
||||
----------------------
|
||||
- Mejora: Issue #45
|
||||
- Mejora: Agregar tipos de persimos SCT para Carta Porte
|
||||
- Mejora: Buscar estado y municipio por CP en Carta Porte
|
||||
|
||||
|
||||
v 1.45.4 [25-Ene-2022]
|
||||
----------------------
|
||||
- Error: Al timbrar carta porte.
|
||||
|
|
|
@ -379,9 +379,12 @@ class CfdiToDict(object):
|
|||
values['autotransporte'].update(values_auto)
|
||||
|
||||
path = '//cartaporte20:Remolques'
|
||||
node_tmp = node_auto.xpath(path, namespaces=self.NS)[0][0]
|
||||
values_auto = CaseInsensitiveDict(node_tmp.attrib)
|
||||
values['autotransporte'].update(values_auto)
|
||||
try:
|
||||
node_tmp = node_auto.xpath(path, namespaces=self.NS)[0][0]
|
||||
values_auto = CaseInsensitiveDict(node_tmp.attrib)
|
||||
values['autotransporte'].update(values_auto)
|
||||
except IndexError:
|
||||
pass
|
||||
elif 'Ubicaciones' in node.tag:
|
||||
ubicaciones = []
|
||||
for n in node:
|
||||
|
|
|
@ -10378,7 +10378,7 @@ def get_cp(cp):
|
|||
con = sqlite3.connect(PATH_CP)
|
||||
cursor = con.cursor()
|
||||
sql = """
|
||||
SELECT colonia, municipio, estado
|
||||
SELECT colonia, municipio, estado, municipios.id_municipio
|
||||
FROM colonias, municipios, estados
|
||||
WHERE colonias.id_municipio=municipios.id
|
||||
AND municipios.id_estado=estados.id
|
||||
|
@ -10394,7 +10394,9 @@ def get_cp(cp):
|
|||
data = {
|
||||
'estado': rows[0][2],
|
||||
'municipio': rows[0][1],
|
||||
'key_municipio': str(rows[0][3]).zfill(3),
|
||||
}
|
||||
print(data)
|
||||
if len(rows) == 1:
|
||||
data['colonia'] = rows[0][0]
|
||||
else:
|
||||
|
|
|
@ -42,7 +42,7 @@ except ImportError:
|
|||
|
||||
|
||||
DEBUG = DEBUG
|
||||
VERSION = '1.45.4'
|
||||
VERSION = '1.46.0'
|
||||
EMAIL_SUPPORT = ('soporte@empresalibre.mx',)
|
||||
TITLE_APP = '{} v{}'.format(TITLE_APP, VERSION)
|
||||
|
||||
|
|
|
@ -90,6 +90,7 @@ var invoices_controllers = {
|
|||
tv_invoice.attachEvent('onChange', tv_invoice_change)
|
||||
|
||||
$$('grid_carta_mercancias').attachEvent('onItemClick', grid_carta_mercancias_click)
|
||||
$$('grid_carta_ubicaciones').attachEvent('onBeforeEditStop', grid_carta_ubicaciones_before_edit_stop)
|
||||
$$('cmd_carta_add_product').attachEvent('onItemClick', cmd_carta_add_product_click)
|
||||
$$('cmd_carta_copy_from_invoice').attachEvent('onItemClick', cmd_carta_copy_from_invoice_click)
|
||||
$$('cmd_carta_import_json').attachEvent('onItemClick', cmd_carta_import_json_click)
|
||||
|
@ -1120,6 +1121,68 @@ function grid_details_before_edit_start(id){
|
|||
}
|
||||
|
||||
|
||||
function grid_carta_ubicaciones_before_edit_stop(state, editor){
|
||||
if(editor.column != 'CodigoPostal'){
|
||||
return true
|
||||
}
|
||||
|
||||
var g = $$('grid_carta_ubicaciones')
|
||||
var row = g.getItem(editor.row)
|
||||
var cp = state.value.trim()
|
||||
|
||||
if(!cp){
|
||||
msg = 'El Código Postal no puede estar vacío'
|
||||
msg_error(msg)
|
||||
g.blockEvent()
|
||||
state.value = state.old
|
||||
g.editCancel()
|
||||
g.unblockEvent()
|
||||
return true
|
||||
}
|
||||
|
||||
if(cp.length != 5){
|
||||
msg = 'El Código Postal debe ser de 5 digitos'
|
||||
msg_error(msg)
|
||||
g.blockEvent()
|
||||
state.value = state.old
|
||||
g.editCancel()
|
||||
g.unblockEvent()
|
||||
return true
|
||||
}
|
||||
|
||||
if(cp.match(/\d/) == null){
|
||||
msg = 'El Código Postal deben ser solo digitos'
|
||||
msg_error(msg)
|
||||
g.blockEvent()
|
||||
state.value = state.old
|
||||
g.editCancel()
|
||||
g.unblockEvent()
|
||||
return true
|
||||
}
|
||||
|
||||
webix.ajax().get('/values/cp', {cp: cp}, {
|
||||
error: function(text, data, xhr) {
|
||||
msg_error('Error al consultar el C.P.')
|
||||
},
|
||||
success: function(text, data, xhr) {
|
||||
var values = data.json();
|
||||
if (values.estado == undefined){
|
||||
msg = 'No se encontró el C.P., asegurate de que sea correcto'
|
||||
msg_error(msg)
|
||||
} else {
|
||||
row['Estado'] = opt_carta_estados.find(x => x.value === values.estado).id
|
||||
row['Municipio'] = values.key_municipio
|
||||
//~ $$('colonia').define('suggest', [])
|
||||
//~ $$('colonia').define('suggest', values.colonia)
|
||||
//~ $$('colonia').refresh()
|
||||
g.refresh()
|
||||
msg_ok('Municipio:\n' + values.municipio)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function grid_details_before_edit_stop(state, editor){
|
||||
var row = grid.getItem(editor.row)
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ var grid_cfdi_pay_cols = [
|
|||
{id: 'cliente', header: ['Razón Social'], fillspace: true},
|
||||
{id: 'xml', header: 'XML', adjust: 'data', template: get_icon('xml')},
|
||||
{id: 'pdf', header: 'PDF', adjust: 'data', template: get_icon('pdf')},
|
||||
{id: 'email', header: '', adjust: 'data', template: get_icon('email')}
|
||||
{id: 'email', header: '@', adjust: 'data', template: get_icon('email')}
|
||||
]
|
||||
|
||||
|
||||
|
@ -290,7 +290,7 @@ var grid_bank_invoice_pay_cols = [
|
|||
{id: 'pdf', header: 'PDF', adjust: 'data', template: get_icon('pdf')},
|
||||
//~ {id: 'ods', header: 'ODS', adjust: 'data', template: get_icon('table')},
|
||||
//~ {id: 'zip', header: 'ZIP', adjust: 'data', template: get_icon('zip')},
|
||||
{id: 'email', header: '', adjust: 'data', template: get_icon('email')}
|
||||
{id: 'email', header: '@', adjust: 'data', template: get_icon('email')}
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
//~ Empresa Libre
|
||||
//~ Copyright (C) 2016-2018 Mauricio Baeza Servin (web@correolibre.net)
|
||||
//~ Copyright (C) 2016-2018 Mauricio Baeza Servin (publico@cuates.net)
|
||||
//~
|
||||
//~ This program is free software: you can redistribute it and/or modify
|
||||
//~ it under the terms of the GNU General Public License as published by
|
||||
|
@ -679,7 +679,7 @@ var grid_preinvoices_cols = [
|
|||
{id: "cliente", header: ["Razón Social", {content: "selectFilter"}],
|
||||
fillspace:true, sort:"string"},
|
||||
{id: 'pdf', header: 'PDF', adjust: 'data', template: get_icon('pdf')},
|
||||
{id: 'email', header: '', adjust: 'data', template: get_icon('email')}
|
||||
{id: 'email', header: '@', adjust: 'data', template: get_icon('email')}
|
||||
]
|
||||
|
||||
|
||||
|
@ -936,6 +936,36 @@ var grid_cols_carta_mercancias = [
|
|||
]
|
||||
|
||||
|
||||
var opt_carta_tipo_permiso_sct = [
|
||||
{id: 'TPAF01', value: '[TPAF01] Autotransporte Federal de carga general.'},
|
||||
{id: 'TPAF02', value: '[TPAF02] Transporte privado de carga.'},
|
||||
{id: 'TPAF03', value: '[TPAF03] Autotransporte Federal de Carga Especializada de materiales y residuos peligrosos.'},
|
||||
{id: 'TPAF04', value: '[TPAF04] Transporte de automóviles sin rodar en vehículo tipo góndola.'},
|
||||
{id: 'TPAF05', value: '[TPAF05] Transporte de carga de gran peso y/o volumen de hasta 90 toneladas.'},
|
||||
{id: 'TPAF06', value: '[TPAF06] Transporte de carga especializada de gran peso y/o volumen de más 90 toneladas.'},
|
||||
{id: 'TPAF07', value: '[TPAF07] Transporte Privado de materiales y residuos peligrosos.'},
|
||||
{id: 'TPAF08', value: '[TPAF08] Autotransporte internacional de carga de largo recorrido.'},
|
||||
{id: 'TPAF09', value: '[TPAF09] Autotransporte internacional de carga especializada de materiales y residuos peligrosos de largo recorrido.'},
|
||||
{id: 'TPAF10', value: '[TPAF10] Autotransporte Federal de Carga General cuyo ámbito de aplicación comprende la franja fronteriza con Estados Unidos.'},
|
||||
{id: 'TPAF11', value: '[TPAF11] Autotransporte Federal de Carga Especializada cuyo ámbito de aplicación comprende la franja fronteriza con Estados Unidos.'},
|
||||
{id: 'TPAF12', value: '[TPAF12] Servicio auxiliar de arrastre en las vías generales de comunicación.'},
|
||||
{id: 'TPAF13', value: '[TPAF13] Servicio auxiliar de servicios de arrastre, arrastre y salvamento, y depósito de vehículos en las vías generales de comunicación.'},
|
||||
{id: 'TPAF14', value: '[TPAF14] Servicio de paquetería y mensajería en las vías generales de comunicación.'},
|
||||
{id: 'TPAF15', value: '[TPAF15] Transporte especial para el tránsito de grúas industriales con peso máximo de 90 toneladas.'},
|
||||
{id: 'TPAF16', value: '[TPAF16] Servicio federal para empresas arrendadoras servicio público federal.'},
|
||||
{id: 'TPAF17', value: '[TPAF17] Empresas trasladistas de vehículos nuevos.'},
|
||||
{id: 'TPAF18', value: '[TPAF18] Empresas fabricantes o distribuidoras de vehículos nuevos.'},
|
||||
{id: 'TPAF19', value: '[TPAF19] Autorización expresa para circular en los caminos y puentes de jurisdicción federal con configuraciones de tractocamión doblemente articulado.'},
|
||||
{id: 'TPAF20', value: '[TPAF20] Autotransporte Federal de Carga Especializada de fondos y valores.'},
|
||||
{id: 'TPTM01', value: '[TPTM01] Permiso temporal para navegación de cabotaje'},
|
||||
{id: 'TPTA01', value: '[TPTA01] Concesión y/o autorización para el servicio regular nacional y/o internacional para empresas mexicanas'},
|
||||
{id: 'TPTA02', value: '[TPTA02] Permiso para el servicio aéreo regular de empresas extranjeras'},
|
||||
{id: 'TPTA03', value: '[TPTA03] Permiso para el servicio nacional e internacional no regular de fletamento'},
|
||||
{id: 'TPTA04', value: '[TPTA04] Permiso para el servicio nacional e internacional no regular de taxi aéreo'},
|
||||
{id: 'TPXX00', value: '[TPXX00] Permiso no contemplado en el catálogo.'}
|
||||
]
|
||||
|
||||
|
||||
var opt_config_auto = [
|
||||
{id: '', value: ''},
|
||||
{id: 'VL', value: '[VL] Vehículo ligero de carga (2 llantas en el eje delantero y 2 llantas en el eje trasero)'},
|
||||
|
@ -1019,7 +1049,7 @@ var opt_carta_aseguradoras = [
|
|||
|
||||
var grid_cols_carta_autotransporte = [
|
||||
{id: 'id', header: 'ID', hidden: true},
|
||||
{id: 'PermSCT', header: 'Tipo Permiso SCT', editor: 'text', fillspace: 1},
|
||||
{id: 'PermSCT', header: 'Tipo Permiso SCT', editor: 'select', options: opt_carta_tipo_permiso_sct, fillspace: 1},
|
||||
{id: 'NumPermisoSCT', header: 'Número Permiso SCT', editor: 'text', fillspace: 1},
|
||||
{id: 'ConfigVehicular', header: 'Clave Autotransporte', editor: 'select', options: opt_config_auto, fillspace: 1},
|
||||
{id: 'PlacaVM', header: 'Placa', editor: 'text', fillspace: 1},
|
||||
|
|
Loading…
Reference in New Issue