Función VirtualXML_Nomina12SetSeparacionIndemnizacion VirtualXML

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 VirtualXML_SetPercepciones() 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.

    Namespace:
     VirtualXML®
    Aplicación: CFDI ver. 4.0
    Sintaxis

    public static void VirtualXML_Nomina12SetSeparacionIndemnizacion(
    int p,
    string TotalPagado,
    string NumAñosServicio,
    string UltimoSueldoMensOrd,
    string IngresoAcumulable,
    string IngresoNoAcumulable)

    Parametros

    p
    Tipo: System  Int32
    Identificador en memoria devuelto por la función VirtualXML_New()
    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 = VirtualXML_New("version CFDI");

    // Llenado del documento 

        // Datos del emisor 

        // Datos del receptor 

        // Concepto

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

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

    // Información del receptor de nomina
    VirtualXML_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
    VirtualXML_Nomina12SetPercepciones(hXml,"1652.00", "", "", "1652.00", "0.00")

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

    // Agregamos nodo de Separacion Indeminzacion
    VirtualXML_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
    VirtualXML_Free(hXml);
    }
    Vease Tambien