Importante
Recuerda que estas personalizaciones se tienen que revisar con el cliente y una base de datos de pruebas, también se tendrán que adaptar al funcionamiento del cliente en caso de ser necesario modificar el comportamiento del SII.
En este artículo vamos a detallar varios ejemplo de como alterar el funcionamiento estándar del SII para adaptarlo al funcionamiento del cliente, también algunos ejemplos de como personalizar el valor para ciertos campos de valor libre.
Los registros del SII generan en el proceso 'PSII_1_1_Actualiza_Factura', la cual dispone de dos procesos personalizados:
- PSII_1_1_Actualiza_Factura_Pre: Antes de ejecutar el estándar
- PSII_1_1_Actualiza_Factura_Post: Después de ejecutar el estándar
En este artículo los ejemplos están preparados para ser ejecutados en el '_Post'.
Modificar el número de factura
-- Facturas de Venta UPDATE SFC SET SFC.NumFacturaEmisor = LEFT(SF.Descrip, CHARINDEX('-', SF.Descrip)) +RIGHT('000000'+CAST(FCC.NumFactCliente AS varchar), 7) FROM SII_1_1_Temp_Objetos_Actualizar TOA INNER JOIN Facturas_Cli_Cab FCC ON FCC.IdDoc = TOA.IdDocObjeto AND TOA.Objeto = 'SIIFacturaCli' AND TOA.IdDocSesion = @IdDocSesion INNER JOIN SII_1_1_Facturas_Cli SFC ON FCC.IdFactura = SFC.IdFactura INNER JOIN Series_Facturacion SF ON SF.SerieFactura = FCC.SerieFactura /* WHERE PERSONALIZADO */ -- Facturas de Compra UPDATE SFP SET SFP.NumSerieFacturaEmisor = LEFT(SF.Descrip, CHARINDEX('-', SF.Descrip)) +RIGHT('000000'+CAST(FPC.NumFactProv AS varchar), 7) FROM SII_1_1_Temp_Objetos_Actualizar TOA INNER JOIN Facturas_Prov_Cab FPC ON FPC.IdDoc = TOA.IdDocObjeto AND TOA.Objeto = 'SIIFacturaProv' AND TOA.IdDocSesion = @IdDocSesion INNER JOIN SII_1_1_Facturas_Prov SFP ON FPC.IdFactura = SFP.IdFactura INNER JOIN Series_Facturacion SF ON SF.SerieFactura = FPC.SerieFactura /* WHERE PERSONALIZADO */