Función VirtualXML_AddCfdiRelacionados_cfdi40 VirtualXML
Esta función tiene una doble aplicación.

Por un lado genera el nodo <cfdi:CfdiRelacionados> estableciendo el valor del TipoDeRelacion de acuerdo al catálogo publicado por el SAT, y al mismo tiempo permite añadir hasta 10 UUIDs relacionados con el mismo documento.

Dado que en la versión 4.0 de CFDI se pueden agregar un numero ilimitado de UUIDs para documentos relacionados, si necesita agregar mas de 10 UUIDs, puede hacerlo llamando a la función   VirtualXML_AddCfdiRelacionado_cfdi40() tantas veces como necesite para agregar mas de los 10 UUIDs permitidos por esta función.

Tenga en cuenta en la versión 4.0 de CFDI también es posible tener documentos relacionados por mas de un tipo de relación, por lo que esta función puede repetirse tantas veces como se necesite

Namespace:
 VirtualXML®
Aplicación: CFDI Ver. 4.0
Sintáxis:

public static void VirtualXML_AddCfdiRelacionados_cfdi40(
int p,
string TipoRelacion
string UUID1,
string UUID2,
string UUID3,
string UUID4,
string UUID5,
string UUID6,
string UUID7,
string UUID8,
string UUID9,
string UUID10,
)

Parametros

p
Tipo: System  Int32
Identificador en memoria devuelto por la función VirtualXML_New()

TipoRelacion
Tipo: System String
Atributo requerido para indicar la clave de la relación que existe entre éste que se esta generando y el o los CFDI previos. Revise el catálogo c_TipoRelacion publicado por el SAT para conocer los valores posibles de este parámetro.
UUID1 ... UUID10
Tipo: System  String
Atributo requerido para registrar el folio fiscal (UUID) de un CFDI relacionado con el presente comprobante, por ejemplo: Si el CFDI relacionado es un comprobante de traslado que sirve para registrar el movimiento de la mercancía. Si este comprobante se usa como nota de crédito o nota de débito del comprobante relacionado. Si este comprobante es una devolución sobre el comprobante relacionado. Si éste sustituye a una factura cancelada.

Ejemplo:

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

// Llenado del documento
VirtualXML_SetComprobanteInfo_cfdi40( hXml, "A", "5", "%cb_date", "99", "1000.00", "", "MXN", "", "1160.00", "I", "PPD", "53050", "" );

// Establecemos CFDIs relacionados, en este caso por sustucion de documento, de acuerdo al catalogo del SAT
VirtualXML_AddCfdiRelacionados_cfdi40( hXml, "04","FF93C8BE-AF7B-4FC5-8854-6DAE18CFB5B4","D8E18C2F-2859-4927-A0F0-EA3E93642DDC","BE1D4B47-E167-47A3-8049-70D4D43BCBE8");

// Procesamiento del documento 
    // .... 

    // Lectura de resultados 
    // .... 

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