private void AsignarCamposOpcionales(FeaEntidades.Reporte.lote_comprobantes lc) { eFact_RN.Engine engine = new eFact_RN.Engine(); if (lc.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento == null) { lc.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento_cae == null) { lc.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento_cae = string.Empty; } if (lc.cabecera_lote.presta_servSpecified == false) { lc.cabecera_lote.presta_serv = 0; lc.cabecera_lote.presta_servSpecified = true; } if (lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pago == null) { lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pago = ""; lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pagoSpecified = true; } if (lc.comprobante[0].cabecera.informacion_comprobante.motivo == null) { lc.comprobante[0].cabecera.informacion_comprobante.motivo = ""; } if (lc.comprobante[0].cabecera.informacion_comprobante.fecha_serv_desde == null) { lc.comprobante[0].cabecera.informacion_comprobante.fecha_serv_desde = ""; } if (lc.comprobante[0].cabecera.informacion_comprobante.fecha_serv_hasta == null) { lc.comprobante[0].cabecera.informacion_comprobante.fecha_serv_hasta = ""; } lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pagoSpecified = true; lc.comprobante[0].cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified = true; lc.comprobante[0].cabecera.informacion_vendedor.condicion_IVASpecified = true; if (lc.comprobante[0].cabecera.informacion_vendedor.domicilio_calle == null) { lc.comprobante[0].cabecera.informacion_vendedor.domicilio_calle = string.Empty; } if (lc.comprobante[0].cabecera.informacion_vendedor.provincia == null) { lc.comprobante[0].cabecera.informacion_vendedor.provincia = string.Empty; } if (lc.comprobante[0].cabecera.informacion_vendedor.domicilio_piso == null) { lc.comprobante[0].cabecera.informacion_vendedor.domicilio_piso = string.Empty; } if (lc.comprobante[0].cabecera.informacion_vendedor.domicilio_numero == null) { lc.comprobante[0].cabecera.informacion_vendedor.domicilio_numero = string.Empty; } lc.comprobante[0].cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = true; lc.comprobante[0].cabecera.informacion_comprador.condicion_IVASpecified = true; if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_calle == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_calle = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_numero == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_numero = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_piso == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_piso = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_depto == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_depto = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_sector == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_sector = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_torre == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_torre = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_manzana == null) { lc.comprobante[0].cabecera.informacion_comprador.domicilio_manzana = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.provincia == null) { lc.comprobante[0].cabecera.informacion_comprador.provincia = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.localidad == null) { lc.comprobante[0].cabecera.informacion_comprador.localidad = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.cp == null) { lc.comprobante[0].cabecera.informacion_comprador.cp = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.contacto == null) { lc.comprobante[0].cabecera.informacion_comprador.contacto = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.email == null) { lc.comprobante[0].cabecera.informacion_comprador.email = string.Empty; } if (lc.comprobante[0].cabecera.informacion_comprador.telefono == null) { lc.comprobante[0].cabecera.informacion_comprador.telefono = string.Empty; } if (lc.comprobante[0].resumen.impuestos != null) { for (int i = 0; i < lc.comprobante[0].resumen.impuestos.Length; i++) { if (lc.comprobante[0].resumen.impuestos[i].descripcion == null) { lc.comprobante[0].resumen.impuestos[i].descripcion = ""; } lc.comprobante[0].resumen.impuestos[i].codigo_jurisdiccionSpecified = true; lc.comprobante[0].resumen.impuestos[i].importe_impuesto_moneda_origenSpecified = true; lc.comprobante[0].resumen.impuestos[i].porcentaje_impuestoSpecified = true; } } else { //Exportacion no usa impuestos. Crear uno en cero. lc.comprobante[0].resumen.impuestos = new FeaEntidades.Reporte.resumenImpuestos[1]; lc.comprobante[0].resumen.impuestos[0] = new FeaEntidades.Reporte.resumenImpuestos(); lc.comprobante[0].resumen.impuestos[0].descripcion = ""; lc.comprobante[0].resumen.impuestos[0].codigo_jurisdiccionSpecified = true; lc.comprobante[0].resumen.impuestos[0].importe_impuesto_moneda_origenSpecified = true; lc.comprobante[0].resumen.impuestos[0].porcentaje_impuestoSpecified = true; } lc.comprobante[0].resumen.cant_alicuotas_ivaSpecified = true; lc.comprobante[0].resumen.importe_total_impuestos_internosSpecified = true; lc.comprobante[0].resumen.importe_total_impuestos_municipalesSpecified = true; lc.comprobante[0].resumen.importe_total_impuestos_nacionalesSpecified = true; lc.comprobante[0].resumen.importe_total_ingresos_brutosSpecified = true; if (lc.comprobante[0].resumen.descuentos == null) { lc.comprobante[0].resumen.descuentos = new FeaEntidades.Reporte.resumenDescuentos[1]; lc.comprobante[0].resumen.descuentos[0] = new FeaEntidades.Reporte.resumenDescuentos(); lc.comprobante[0].resumen.descuentos[0].alicuota_iva_descuentoSpecified = true; lc.comprobante[0].resumen.descuentos[0].importe_iva_descuentoSpecified = true; } if (lc.comprobante[0].extensiones != null) { if (lc.comprobante[0].extensiones.extensiones_datos_comerciales == null) { lc.comprobante[0].extensiones.extensiones_datos_comerciales = string.Empty; } else { lc.comprobante[0].extensiones.extensiones_datos_comerciales = engine.HexToString(lc.comprobante[0].extensiones.extensiones_datos_comerciales.ToString()); } } for (int i = 0; i < lc.comprobante[0].detalle.linea.Length; i++) { if (lc.comprobante[0].detalle.linea[i] != null) { if (lc.comprobante[0].detalle.linea[i].descripcion.Substring(0, 1) == "%") { lc.comprobante[0].detalle.linea[i].descripcion = engine.HexToString(lc.comprobante[0].detalle.linea[i].descripcion); } if (lc.comprobante[0].detalle.linea[i].importes_moneda_origen == null) { lc.comprobante[0].detalle.linea[i].importes_moneda_origen = new FeaEntidades.Reporte.lineaImportes_moneda_origen(); } lc.comprobante[0].detalle.linea[i].importes_moneda_origen.importe_ivaSpecified = true; lc.comprobante[0].detalle.linea[i].importes_moneda_origen.importe_total_articuloSpecified = true; lc.comprobante[0].detalle.linea[i].importes_moneda_origen.precio_unitarioSpecified = true; lc.comprobante[0].detalle.linea[i].importe_total_descuentosSpecified = true; if (lc.comprobante[0].detalle.linea[i].codigo_producto_vendedor == null) { lc.comprobante[0].detalle.linea[i].codigo_producto_vendedor = ""; } lc.comprobante[0].detalle.linea[i].precio_unitarioSpecified = true; lc.comprobante[0].detalle.linea[i].importe_ivaSpecified = true; if (lc.comprobante[0].detalle.linea[i].alicuota_ivaSpecified.Equals(false)) { lc.comprobante[0].detalle.linea[i].alicuota_ivaSpecified = true; lc.comprobante[0].detalle.linea[i].alicuota_iva = 99; } lc.comprobante[0].detalle.linea[i].cantidadSpecified = true; if (lc.comprobante[0].detalle.linea[i].unidad == null) { lc.comprobante[0].detalle.linea[i].unidad = string.Empty; } if (lc.comprobante[0].detalle.linea[i].indicacion_exento_gravado == null) { lc.comprobante[0].detalle.linea[i].indicacion_exento_gravado = string.Empty; } } else { break; } } }