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 */
Modificar la descripción de la operación
--Ventas
UPDATE SFC
SET SFC.DescripcionOperacion = 'Rect. ' +ISNULL(SFC.DescripcionOperacion,'')
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 */
-- Compras
UPDATE SFP
SET SFP.DescripcionOperacion = TS.Descrip
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 Prov_Datos PD
ON PD.IdProveedor = FPC.IdProveedor
INNER JOIN TiposSuministro TS
ON PD.TipoSuministro=TS.TipoSuministro
INNER JOIN SII_1_1_Facturas_Prov SFP
ON FPC.IdFactura = SFP.IdFactura
/* WHERE PERSONALIZADO */
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo