Se agrega nodo para remolques
This commit is contained in:
parent
c79e8492d3
commit
581e8bbdc5
|
@ -1,3 +1,7 @@
|
|||
v 1.44.1 [18-Ene-2022]
|
||||
- Correciones en generación de Carta Porte v2.0
|
||||
|
||||
|
||||
v 1.44.0 [10-Ene-2022]
|
||||
----------------------
|
||||
- Soporte para Carta Porte v2 con CFDI 3.3
|
||||
|
|
|
@ -497,6 +497,7 @@ class CFDI(object):
|
|||
autotransporte = attr.pop('autotransporte')
|
||||
identificacion = autotransporte.pop('identificacion')
|
||||
seguros = autotransporte.pop('seguros')
|
||||
remolque = autotransporte.pop('remolque')
|
||||
|
||||
node = ET.SubElement(node_carta, f'{prefix}:Mercancias', attr)
|
||||
for mercancia in mercancias:
|
||||
|
@ -505,6 +506,9 @@ class CFDI(object):
|
|||
sub_node = ET.SubElement(node, f'{prefix}:Autotransporte', autotransporte)
|
||||
ET.SubElement(sub_node, f'{prefix}:IdentificacionVehicular', identificacion)
|
||||
ET.SubElement(sub_node, f'{prefix}:Seguros', seguros)
|
||||
if remolque['SubTipoRem'] and remolque['Placa']:
|
||||
tmp = ET.SubElement(sub_node, f'{prefix}:Remolques')
|
||||
ET.SubElement(tmp, f'{prefix}:Remolque', remolque)
|
||||
|
||||
if tiposfigura:
|
||||
sub_node = ET.SubElement(node_carta, f'{prefix}:FiguraTransporte')
|
||||
|
|
|
@ -5329,8 +5329,8 @@ class Facturas(BaseModel):
|
|||
return
|
||||
|
||||
values = utils.loads(valores)
|
||||
values['TotalDistRec'] = f"{float(values['TotalDistRec']):.2f}"
|
||||
|
||||
total_distance = 0.00
|
||||
total_weight = 0.00
|
||||
mercancias = values['mercancias']
|
||||
for mercancia in mercancias['mercancias']:
|
||||
|
@ -5340,6 +5340,9 @@ class Facturas(BaseModel):
|
|||
|
||||
ubicaciones = values['ubicaciones']
|
||||
for ubicacion in ubicaciones:
|
||||
if 'DistanciaRecorrida' in ubicacion:
|
||||
print(1, type(ubicacion['DistanciaRecorrida']), ubicacion['DistanciaRecorrida'])
|
||||
total_distance += float(ubicacion['DistanciaRecorrida'])
|
||||
municipio = ubicacion.pop('Municipio')
|
||||
estado = ubicacion.pop('Estado')
|
||||
pais = ubicacion.pop('Pais')
|
||||
|
@ -5351,6 +5354,8 @@ class Facturas(BaseModel):
|
|||
'Pais': pais,
|
||||
'CodigoPostal': cp,
|
||||
}
|
||||
|
||||
values['TotalDistRec'] = f"{total_distance:.2f}"
|
||||
# ~ print(2, values)
|
||||
data = {
|
||||
'factura': invoice,
|
||||
|
|
|
@ -89,6 +89,7 @@ var invoices_controllers = {
|
|||
tv_invoice = $$('tv_invoice').getTabbar()
|
||||
tv_invoice.attachEvent('onChange', tv_invoice_change)
|
||||
|
||||
$$('grid_carta_mercancias').attachEvent('onItemClick', grid_carta_mercancias_click)
|
||||
$$('cmd_carta_add_product').attachEvent('onItemClick', cmd_carta_add_product_click)
|
||||
$$('cmd_carta_copy_from_invoice').attachEvent('onItemClick', cmd_carta_copy_from_invoice_click)
|
||||
|
||||
|
@ -702,21 +703,21 @@ function guardar_y_timbrar(values){
|
|||
|
||||
var usar_cartaporte = $$('chk_cfdi_usar_cartaporte').getValue()
|
||||
if(usar_cartaporte){
|
||||
var total_distance = 0.00
|
||||
//~ var total_distance = 0.00
|
||||
//~ var total_weight = 0.00
|
||||
var cartaporte = {
|
||||
TranspInternac: $$('lst_carta_TranspInternac').getValue(),
|
||||
TotalDistRec: total_distance,
|
||||
//~ TotalDistRec: total_distance,
|
||||
}
|
||||
var ubicaciones = $$('grid_carta_ubicaciones').data.getRange()
|
||||
ubicaciones.forEach(function(row, index){
|
||||
delete row['id']
|
||||
delete row['delete']
|
||||
if(row['DistanciaRecorrida']){
|
||||
total_distance += parseFloat(row['DistanciaRecorrida'])
|
||||
}
|
||||
//~ if(row['DistanciaRecorrida']){
|
||||
//~ total_distance += parseFloat(row['DistanciaRecorrida'])
|
||||
//~ }
|
||||
})
|
||||
cartaporte['TotalDistRec'] = total_distance
|
||||
//~ cartaporte['TotalDistRec'] = total_distance
|
||||
cartaporte['ubicaciones'] = ubicaciones
|
||||
|
||||
var row = $$('grid_carta_autotransporte').data.getRange()[0]
|
||||
|
@ -731,12 +732,17 @@ function guardar_y_timbrar(values){
|
|||
seguros: {
|
||||
AseguraRespCivil: row['AseguraRespCivil'],
|
||||
PolizaRespCivil: row['PolizaRespCivil'],
|
||||
},
|
||||
remolque: {
|
||||
SubTipoRem: row['SubTipoRem'],
|
||||
Placa: row['Placa'],
|
||||
}
|
||||
}
|
||||
|
||||
var mercancias = $$('grid_carta_mercancias').data.getRange()
|
||||
mercancias.forEach(function(row, index){
|
||||
delete row['id']
|
||||
delete row['delete']
|
||||
row['Cantidad'] = String(row['Cantidad'])
|
||||
//~ row['ValorMercancia'] = String(row['ValorMercancia'])
|
||||
//~ if(row['PesoEnKg']){
|
||||
|
@ -2645,3 +2651,11 @@ function cmd_carta_copy_from_invoice_click(){
|
|||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function grid_carta_mercancias_click(id, e, node){
|
||||
if(id.column != 'delete'){
|
||||
return
|
||||
}
|
||||
this.remove(id.row)
|
||||
}
|
||||
|
|
|
@ -928,7 +928,7 @@ var grid_cols_carta_mercancias = [
|
|||
{id: 'BienesTransp', header: 'Clave SAT', editor: 'text', fillspace: 1},
|
||||
{id: 'Descripcion', header: 'Descripción', editor: 'text', fillspace: 1},
|
||||
{id: 'Cantidad', header: 'Cantidad', editor: 'text', format: webix.i18n.numberFormat, css: 'right', fillspace: 1},
|
||||
{id: 'ClaveUnidad', header: 'Unidad', editor: 'select', options: 'values/unidades', fillspace: 1},
|
||||
{id: 'ClaveUnidad', header: 'Unidad', editor: 'select', options: 'values/unidades', footer: 'Total peso:', fillspace: 1},
|
||||
//~ {id: 'ValorMercancia', header: 'Valor Mercancia', format: webix.i18n.priceFormat, css: 'right', footer: 'Total peso:', fillspace: 1},
|
||||
{id: 'PesoEnKg', header: 'Peso (Kg)', format: webix.i18n.numberFormat, css: 'right', editor: 'text', footer: {content: 'summColumn', css: 'right'}, fillspace: 1},
|
||||
]
|
||||
|
@ -939,6 +939,79 @@ var opt_config_auto = [
|
|||
{id: 'VL', value: '[VL] Vehículo ligero de carga (2 llantas en el eje delantero y 2 llantas en el eje trasero)'},
|
||||
{id: 'C2', value: '[C2] Camión Unitario (2 llantas en el eje delantero y 4 llantas en el eje trasero)'},
|
||||
{id: 'C3', value: '[C3] Camión Unitario (2 llantas en el eje delantero y 6 o 8 llantas en los dos ejes traseros)'},
|
||||
{id: 'C2R2', value: '[C2R2] Camión-Remolque (6 llantas en el camión y 8 llantas en remolque)'},
|
||||
{id: 'C3R2', value: '[C3R2] Camión-Remolque (10 llantas en el camión y 8 llantas en remolque)'},
|
||||
{id: 'C2R3', value: '[C2R3] Camión-Remolque (6 llantas en el camión y 12 llantas en remolque)'},
|
||||
{id: 'C3R3', value: '[C3R3] Camión-Remolque (10 llantas en el camión y 12 llantas en remolque)'},
|
||||
{id: 'T2S1', value: '[T2S1] Tractocamión Articulado (6 llantas en el tractocamión, 4 llantas en el semirremolque)'},
|
||||
{id: 'T2S2', value: '[T2S2] Tractocamión Articulado (6 llantas en el tractocamión, 8 llantas en el semirremolque)'},
|
||||
{id: 'T2S3', value: '[T2S3] Tractocamión Articulado (6 llantas en el tractocamión, 12 llantas en el semirremolque)'},
|
||||
{id: 'T3S1', value: '[T3S1] Tractocamión Articulado (10 llantas en el tractocamión, 4 llantas en el semirremolque)'},
|
||||
{id: 'T3S2', value: '[T3S2] Tractocamión Articulado (10 llantas en el tractocamión, 8 llantas en el semirremolque)'},
|
||||
{id: 'T3S3', value: '[T3S3] Tractocamión Articulado (10 llantas en el tractocamión, 12 llantas en el semirremolque)'},
|
||||
{id: 'T2S1R2', value: '[T2S1R2] Tractocamión Semirremolque-Remolque (6 llantas en el tractocamión, 4 llantas en el semirremolque y 8 llantas en el remolque)'},
|
||||
{id: 'T2S2R2', value: '[T2S2R2] Tractocamión Semirremolque-Remolque (6 llantas en el tractocamión, 8 llantas en el semirremolque y 8 llantas en el remolque)'},
|
||||
{id: 'T2S1R3', value: '[T2S1R3] Tractocamión Semirremolque-Remolque (6 llantas en el tractocamión, 4 llantas en el semirremolque y 12 llantas en el remolque)'},
|
||||
{id: 'T3S1R2', value: '[T3S1R2] Tractocamión Semirremolque-Remolque (10 llantas en el tractocamión, 4 llantas en el semirremolque y 8 llantas en el remolque)'},
|
||||
{id: 'T3S1R3', value: '[T3S1R3] Tractocamión Semirremolque-Remolque (10 llantas en el tractocamión, 4 llantas en el semirremolque y 12 llantas en el remolque)'},
|
||||
{id: 'T3S2R2', value: '[T3S2R2] Tractocamión Semirremolque-Remolque (10 llantas en el tractocamión, 8 llantas en el semirremolque y 8 llantas en el remolque)'},
|
||||
{id: 'T3S2R3', value: '[T3S2R3] Tractocamión Semirremolque-Remolque (10 llantas en el tractocamión, 8 llantas en el semirremolque y 12 llantas en el remolque)'},
|
||||
{id: 'T3S2R4', value: '[T3S2R4] Tractocamión Semirremolque-Remolque (10 llantas en el tractocamión, 8 llantas en el semirremolque y 16 llantas en el remolque)'},
|
||||
{id: 'T2S2S2', value: '[T2S2S2] Tractocamión Semirremolque-Semirremolque (6 llantas en el tractocamión, 8 llantas en el semirremolque delantero y 8 llantas en el semirremolque trasero)'},
|
||||
{id: 'T3S2S2', value: '[T3S2S2] Tractocamión Semirremolque-Semirremolque (10 llantas en el tractocamión, 8 llantas en el semirremolque delantero y 8 llantas en el semirremolque trasero)'},
|
||||
{id: 'T3S3S2', value: '[T3S3S2] Tractocamión Semirremolque-Semirremolque (10 llantas en el tractocamión, 12 llantas en el semirremolque delantero y 8 llantas en el semirremolque trasero)'},
|
||||
{id: 'OTROEVGP', value: '[OTROEVGP] Especializado de carga Voluminosa y/o Gran Peso'},
|
||||
{id: 'OTROSG', value: '[OTROSG] Servicio de Grúas'},
|
||||
{id: 'GPLUTA', value: '[GPLUTA] Grúa de Pluma Tipo A'},
|
||||
{id: 'GPLUTB', value: '[GPLUTB] Grúa de Pluma Tipo B'},
|
||||
{id: 'GPLUTC', value: '[GPLUTC] Grúa de Pluma Tipo C'},
|
||||
{id: 'GPLUTD', value: '[GPLUTD] Grúa de Pluma Tipo D'},
|
||||
{id: 'GPLATA', value: '[GPLATA] Grúa de Plataforma Tipo A'},
|
||||
{id: 'GPLATB', value: '[GPLATB] Grúa de Plataforma Tipo B'},
|
||||
{id: 'GPLATC', value: '[GPLATC] Grúa de Plataforma Tipo C'},
|
||||
{id: 'GPLATD', value: '[GPLATD] Grúa de Plataforma Tipo D'},
|
||||
]
|
||||
|
||||
|
||||
var opt_carta_tipo_remolque = [
|
||||
{id: '', value: ''},
|
||||
{id: 'CTR001', value: '[CTR001] Caballete'},
|
||||
{id: 'CTR002', value: '[CTR002] Caja'},
|
||||
{id: 'CTR003', value: '[CTR003] Caja Abierta'},
|
||||
{id: 'CTR004', value: '[CTR004] Caja Cerrada'},
|
||||
{id: 'CTR005', value: '[CTR005] Caja De Recolección Con Cargador Frontal'},
|
||||
{id: 'CTR006', value: '[CTR006] Caja Refrigerada'},
|
||||
{id: 'CTR007', value: '[CTR007] Caja Seca'},
|
||||
{id: 'CTR008', value: '[CTR008] Caja Transferencia'},
|
||||
{id: 'CTR009', value: '[CTR009] Cama Baja o Cuello Ganso'},
|
||||
{id: 'CTR010', value: '[CTR010] Chasis Portacontenedor'},
|
||||
{id: 'CTR011', value: '[CTR011] Convencional De Chasis'},
|
||||
{id: 'CTR012', value: '[CTR012] Equipo Especial'},
|
||||
{id: 'CTR013', value: '[CTR013] Estacas'},
|
||||
{id: 'CTR014', value: '[CTR014] Góndola Madrina'},
|
||||
{id: 'CTR015', value: '[CTR015] Grúa Industrial'},
|
||||
{id: 'CTR016', value: '[CTR016] Grúa'},
|
||||
{id: 'CTR017', value: '[CTR017] Integral'},
|
||||
{id: 'CTR018', value: '[CTR018] Jaula'},
|
||||
{id: 'CTR019', value: '[CTR019] Media Redila'},
|
||||
{id: 'CTR020', value: '[CTR020] Pallet o Celdillas'},
|
||||
{id: 'CTR021', value: '[CTR021] Plataforma'},
|
||||
{id: 'CTR022', value: '[CTR022] Plataforma Con Grúa'},
|
||||
{id: 'CTR023', value: '[CTR023] Plataforma Encortinada'},
|
||||
{id: 'CTR024', value: '[CTR024] Redilas'},
|
||||
{id: 'CTR025', value: '[CTR025] Refrigerador'},
|
||||
{id: 'CTR026', value: '[CTR026] Revolvedora'},
|
||||
{id: 'CTR027', value: '[CTR027] Semicaja'},
|
||||
{id: 'CTR028', value: '[CTR028] Tanque'},
|
||||
{id: 'CTR029', value: '[CTR029] Tolva'},
|
||||
{id: 'CTR031', value: '[CTR031] Volteo'},
|
||||
{id: 'CTR032', value: '[CTR032] Volteo Desmontable'},
|
||||
]
|
||||
|
||||
|
||||
var opt_carta_aseguradoras = [
|
||||
{id: 'General de Seguros', value: 'General de Seguros'},
|
||||
{id: 'Qualitas', value: 'Qualitas'},
|
||||
]
|
||||
|
||||
|
||||
|
@ -949,7 +1022,7 @@ var grid_cols_carta_autotransporte = [
|
|||
{id: 'ConfigVehicular', header: 'Clave Autotransporte', editor: 'select', options: opt_config_auto, fillspace: 1},
|
||||
{id: 'PlacaVM', header: 'Placa', editor: 'text', fillspace: 1},
|
||||
{id: 'AnioModeloVM', header: 'Modelo (Año)', editor: 'text', fillspace: 1},
|
||||
{id: 'SubTipoRem', header: 'ST Remolque', editor: 'text', fillspace: 1},
|
||||
{id: 'SubTipoRem', header: 'ST Remolque', editor: 'select', options: opt_carta_tipo_remolque, fillspace: 1},
|
||||
{id: 'Placa', header: 'Placa', editor: 'text', fillspace: 1},
|
||||
{id: 'AseguraRespCivil', header: 'Aseguradora', editor: 'text', fillspace: 1},
|
||||
{id: 'PolizaRespCivil', header: 'Póliza', editor: 'text', fillspace: 1},
|
||||
|
@ -971,7 +1044,6 @@ var grid_cols_carta_tipos_figuras = [
|
|||
{id: 'RFCFigura', header: 'RFC Figura', editor: 'text', fillspace: 1},
|
||||
{id: 'NombreFigura', header: 'Nombre Figura', editor: 'text', fillspace: 1},
|
||||
{id: 'NumLicencia', header: 'Número de Licencia', editor: 'text', fillspace: 1},
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue