Función VirtualXML_CartaPorte31SetMercanciasTransporteFerroviario VirtualXML
Agrega el nodo condicional TransporteFerroviario para registrar la información que permita la identificación del carro o contenedor en el que se trasladan los bienes y/o mercancías por vía férrea.

También permite agregar información de un solo Derecho de Paso, información de un solo Carro y de un solo Contenedor en caso de que el Carro transporte uno.

Si existen mas de un derecho de paso, carro o contenedor, estos pueden registrarse tantas veces como sea necesario usando las funciones  VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioDerechoDePaso() , VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro() y VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor()  tantas veces como derechos de paso, carros o contenedores transporte el ferrocarril.

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

public static void VirtualXML_CartaPorte31SetMercanciasTransporteFerroviario(
int p,
string TipoDeServicio,
string TipoDeTrafico,
string NombreAseg,
string NumPolizaSeguro,
string TipoDerechoDePaso,
string KilometrajePagado,
string TipoCarro,
string MatriculaCarro,
string GuiaCarro,
string ToneladasNetasCarro,
string TipoContenedor,
string PesoContenedorVacio,
string PesoNetoMercancia)

Parametros

p
Tipo: System  Int32
Identificador en memoria devuelto por la función VirtualXML_New()
TipoDeServicio
Tipo: System  String
Atributo requerido para registrar la clave del tipo de servicio utilizado para el traslado de los bienes y/o mercancías por vía férrea.
Consulte el catálogo c_TipoDeServicio de los catálogos de Carta Porte 3.1 publicados por el SAT, para obtener este valor.

TipoDeTrafico
Tipo: System  String
Atributo requerido para registrar la clave del tipo de tráfico (interrelación entre concesionarios) para realizar el traslado de los bienes y/o mercancías por vía férrea dentro del territorio nacional.
   Consulte el catálogo c_TipoDeTrafico de los catálogos de Carta Porte 3.1 publicados por el SAT, para obtener este valor.

NombreAseg
Tipo: System  String
Atributo opcional para registrar el nombre de la aseguradora que cubre los riesgos para el traslado de los bienes y/o mercancías por vía férrea.

NumPolizaSeguro
Tipo: System  String
Atributo opcional para registrar el número de póliza asignada por la aseguradora para la protección e indemnización por responsabilidad civil en el traslado de los bienes y/o mercancías que se realiza por vía férrea.
TipoDerechoDePaso
Tipo: System  String
Atributo requerido para registrar la clave del derecho de paso pagado por el transportista en las vías férreas de las cuales no es concesionario o asignatario.

Consulte el catálogo c_DerechosDePaso de los catálogos de Carta Porte 3.1 publicados por el SAT, para obtener este valor.

Si solo se trata de un Derecho de Paso, se pueden usar los parametros TipoDerechoDePaso y KilometrajePagado de esta función para agregar la información requerida, en caso de que se tenga mas de un Derecho de Paso, los datos de estos derechos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioDerechosDePaso().
También es posible omitir los parámetros TipoDerechoDePaso y KilometrajePagado de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioDerechosDePaso() directamente.
KilometrajePagado
Tipo: System  String
Atributo requerido para registrar el total de kilómetros pagados por el transportista en las vías férreas de las cuales no es concesionario o asignatario con el derecho de paso.

Si solo se trata de un Derecho de Paso, se pueden usar los parametros TipoDerechoDePaso y KilometrajePagado de esta función para agregar la información requerida, en caso de que se tenga mas de un Derecho de Paso, los datos de estos derechos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioDerechosDePaso().
También es posible omitir los parámetros TipoDerechoDePaso y KilometrajePagado de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioDerechosDePaso() directamente.
TipoCarro
Tipo: System  String
Atributo requerido para registrar la clave del tipo de carro utilizado para el traslado de los bienes y/o mercancías por vía férrea.

Consulte el catálogo c_TipoCarro de los catálogos de Carta Porte 3.1 publicados por el SAT, para obtener este valor.

Si solo se registra un carro, se pueden usar los parametros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función para agregar la información requerida, en caso de que se transporte mas de un carro, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro().
También es posible omitir los parámetros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro() directamente.
MatriculaCarro
Tipo: System  String
Atributo requerido para registrar el número de contenedor, carro de ferrocarril o número económico del vehículo en el que se trasladan los bienes y/o mercancías por vía férrea.

Si solo se registra un carro, se pueden usar los parametros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función para agregar la información requerida, en caso de que se transporte mas de un carro, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro().
También es posible omitir los parámetros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro() directamente.
GuiaCarro
Tipo: System  String
Atributo requerido para registrar el número de guía asignado al contenedor, carro de ferrocarril o vehículo, en el que se trasladan los bienes y/o mercancías por vía férrea.

Si solo se registra un carro, se pueden usar los parametros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función para agregar la información requerida, en caso de que se transporte mas de un carro, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro().
También es posible omitir los parámetros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro() directamente.
ToneladasNetasCarro
Tipo: System  String
Atributo requerido para registrar la cantidad de las toneladas netas depositadas en el contenedor, carro de ferrocarril o vehículo en el que se trasladan los bienes y/o mercancías por vía férrea. 

Si solo se registra un carro, se pueden usar los parametros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función para agregar la información requerida, en caso de que se transporte mas de un carro, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro().
También es posible omitir los parámetros TipoCarro, MatriculaCarro, GuiaCarro y ToneladasNetasCarro de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarro() directamente.
TipoContenedor
Tipo: System  String
Atributo requerido para registrar la clave con la que se identifica al tipo de contenedor o el vagón en el que se realiza el traslado de los bienes y/o mercancías. 

Consulte el catálogo c_Contenedor de los catálogos de Carta Porte 3.0 publicados por el SAT, para obtener este valor.

 Si solo se registra un contenedor en un único carro, se pueden usar los parametros TipoContenedor, PesoContenedorVacio y PesoNetoMercancia de esta función para agregar la información requerida, en caso de que se transporte mas de un contenedor, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor().
También es posible omitir los parámetros TipoContenedor, PesoContenedorVarcio y PesoNetoMercancia de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor() directamente.
PesoContenedorVacio
Tipo: System  String
Atributo requerido para registrar en kilogramos, el peso del contenedor vacío en el que se trasladan los bienes y/o mercancías.

Si solo se registra un contenedor en un único carro, se pueden usar los parametros TipoContenedor, PesoContenedorVacio y PesoNetoMercancia de esta función para agregar la información requerida, en caso de que se transporte mas de un contenedor, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor().
También es posible omitir los parámetros TipoContenedor, PesoContenedorVarcio y PesoNetoMercancia de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor() directamente.
PesoNetoMercancia
Tipo: System  String
Atributo requerido para registrar en kilogramos el peso neto de los bienes y/o mercancías que son trasladados en el contenedor.

Si solo se registra un contenedor en un único carro, se pueden usar los parametros TipoContenedor, PesoContenedorVacio y PesoNetoMercancia de esta función para agregar la información requerida, en caso de que se transporte mas de un contenedor, los datos de estos podrán ser agregados con la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor(). También es posible omitir los parámetros TipoContenedor, PesoContenedorVarcio y PesoNetoMercancia de esta función y utilizar la función VirtualXML_CartaPorte31AddMercanciasTransporteFerroviarioCarroContenedor() directamente.
Ejemplo

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

// Llenado del documento 

    // Datos del emisor 

    // Datos del receptor 

    // Conceptos

// Impuestos

    // Complementos
// Complemento Carta Porte 1.0



// Procesamiento del documento 
    // .... 

    // Lectura de resultados 
    // .... 

    // Liberacion de memoria
VirtualXML_Free(hXml);
}