feat(cfdi): agrega C.P. receptor, regimen receptor, no_identificacion, tipo_relacion y CFDIs relacionados al visualizador
Backend: - Migracion 044: codigo_postal_receptor VARCHAR(5) + indice - sat-parser: extrae DomicilioFiscalReceptor - sat.service: persiste codigo_postal_receptor en INSERT/UPDATE - cfdi.service: incluye codigo_postal_receptor en CFDI_SELECT - shared/types: codigoPostalReceptor en interfaz Cfdi Frontend: - cfdi-invoice: tarjeta receptor con C.P. y regimen (con descripciones) - cfdi-invoice: seccion CFDI Relacionado (tipo + UUIDs) - cfdi-invoice: columna No. Identificacion en tabla de conceptos - cfdi-viewer-modal: mapea noIdentificacion desde DB y XML
This commit is contained in:
@@ -14,6 +14,7 @@ interface CfdiConcepto {
|
||||
importe: number;
|
||||
claveProdServ?: string;
|
||||
claveUnidad?: string;
|
||||
noIdentificacion?: string;
|
||||
}
|
||||
|
||||
interface CfdiViewerModalProps {
|
||||
@@ -39,6 +40,7 @@ function parseConceptosFromXml(xmlString: string): CfdiConcepto[] {
|
||||
importe: parseFloat(el.getAttribute('Importe') || '0'),
|
||||
claveProdServ: el.getAttribute('ClaveProdServ') || undefined,
|
||||
claveUnidad: el.getAttribute('ClaveUnidad') || undefined,
|
||||
noIdentificacion: el.getAttribute('NoIdentificacion') || undefined,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -75,6 +77,7 @@ export function CfdiViewerModal({ cfdi, open, onClose }: CfdiViewerModalProps) {
|
||||
importe: Number(c.importe),
|
||||
claveProdServ: c.claveProdServ || undefined,
|
||||
claveUnidad: c.claveUnidad || undefined,
|
||||
noIdentificacion: c.noIdentificacion || undefined,
|
||||
})));
|
||||
} else if (cfdi.xmlOriginal) {
|
||||
setConceptos(parseConceptosFromXml(cfdi.xmlOriginal));
|
||||
|
||||
Reference in New Issue
Block a user