VXML_Nomina12SetSeparacionIndemnizacion VXml
Esta función crea el nodo condicional <nomina12:SeparacionIndemnizacion> </nomina12:SeparacionIndeminizacion> para expresar la información detallada de otros pagos por separación.
Esta función se debe utilizar en conjunto con la función VXML_Nomina12SetPercepciones siempre y cuando cuando en alguna de las percepciones se utilice la clave 022 (Prima por antigüedad), 023 (Pagos por separación), 025 (Indeminizaciones), 039 (Jubilaciones, Pensiones o haberes de retiro) o 044 (Jubilaciones, Pensiones o haberes de retiro en parcialidades).

Se debe utilizar una vez que se hayan terminado de agregar todas la percepciones del recibo.

Versión de VXml que soporta esta función: 2.0.1 Febrero 2025
Aplicación: CFDI ver. 4.00
Sintáxis

public static void VXML_Nomina12SetSeparacionIndemnizacion(
int p,
string TotalPagado,
string NumAnosServicio,
string UltimoSueldoMensOrd,
string IngresoAcumulable,
string IngresoNoAcumulable
)

Parámetros

p
Tipo: System  Int32
Identificador en memoria devuelto por las funciones VXML_New ó VXML_NewWithLog
TotalPagado
Tipo: System  String
Atributo requerido que indica el monto total del pago.

NumAñosServicio
Tipo: System  String
Atributo requerido para expresar el número de años de servicio del trabajador. Se redondea al entero superior si la cifra contiene años y meses y hay más de 6 meses.
UltimoSueldoMensOrd
Tipo: System  String
Atributo requerido que indica el último sueldo mensual ordinario.
IngresoAcumulable
Tipo: System  String
Atributo requerido para expresar los ingresos acumulables.

IngresoNoAcumulable
Tipo: System  String
Atributo requerido que indica los ingresos no acumulables.

Ejemplo:

private void GeneraDocto(String version)
{
// Creamos un comprobante 
    int hXml = VXML_New("version CFDI");

// Llenado del documento 

    // Datos del emisor 

    // Datos del receptor 

    // Concepto

    // Aqui comienza el llamado a las funciones del complemento de nomina

VXML_SetNomina12(hXml,"O", "2017-01-20", "2017-01-16", "2017-01-22", "7", "1652.00", "123.00")
    // Información del emisor de nomina
VXML_Nomina12SetEmisor(hXml,"", "C3910341160", "", "IP", "")

// Información del receptor de nomina
VXML_Nomina12SetReceptor(hXml,"MAIM700211HDFRLG08", "11007002493", "2005-10-31", "P586W", "01", "", "04", "02", "1003", "PAILERIA", "AYUDANTE GENERAL", "4", "02" "002", "5256781005252593", "", "248.28", "MEX")

// Agregamos el resumen de percepciones
VXML_Nomina12SetPercepciones(hXml,"1652.00", "", "", "1652.00", "0.00")

// Agregamos una percepcion simple
VXML_Nomina12AddPercepcion(hXml,"001", "101", "Sueldo", "1652.00", "0.00")
// Agregamos una percepcion por liquidación
VXML_Nomina12AddPercepcion(hXml,"023", "00504", "Liquidacion", "15000.00", "5000.00")

// Agregamos nodo de Separacion Indeminzacion
VXML_Nomina12SetPercepcionIndemnizacion(hXml,"20000.00", "4", "10000.00", "15000.00", "5000.00")

// Mas Instrucciones de Generación de Nomina 1.2
// ...

// Procesamiento del documento 
    // .... 

    // Lectura de resultados 
    // .... 

    // Liberacion de memoria
VXML_Free(hXml);
}
Veáse También