public FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse ConsultarUltNroComprobante(FeaEntidades.ConsultaUltNroComprobante ConsultaUltNro) { /*Limpio resultados de la consulta CAE anterior*/ ConsultaUltNro.Resultado = string.Empty; ConsultaUltNro.MensajeError = string.Empty; FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse objFERecuperaLastCMPResponse = new FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse(); FEArn.ar.gov.afip.wsw.FELastCMPtype tipoComprobante = new FEArn.ar.gov.afip.wsw.FELastCMPtype(); tipoComprobante.PtoVta = ConsultaUltNro.Punto_vta; tipoComprobante.TipoCbte = ConsultaUltNro.Tipo_cbte; FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse FERecuperaLastCMPResponse = new FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse(); FERecuperaLastCMPResponse = objWS.FERecuperaLastCMPRequest(ticket.ObjAutorizacion, tipoComprobante); return FERecuperaLastCMPResponse; }
public void Enviar(FeaEntidades.Comprobante Comprobante, int CantidadComprobantes) { try { /*Limpio resultados del comprobante anterior*/ Comprobante.Resultado = string.Empty; Comprobante.Motivo = string.Empty; Comprobante.MensajeError = string.Empty; Comprobante.Cae = string.Empty; FEArn.ar.gov.afip.wsw.FERequest objFERequest = new FEArn.ar.gov.afip.wsw.FERequest(); FEArn.ar.gov.afip.wsw.FECabeceraRequest objFECabeceraRequest = new FEArn.ar.gov.afip.wsw.FECabeceraRequest(); objFECabeceraRequest.cantidadreg = cantidadComprobantesXLote; /* Obtengo última transacción y sumo 1 */ FEArn.ar.gov.afip.wsw.FEUltNroResponse objFEUltNroResponse = new FEArn.ar.gov.afip.wsw.FEUltNroResponse(); objFEUltNroResponse = objWS.FEUltNroRequest(ticket.ObjAutorizacion); Comprobante.IdTransaccion = objFEUltNroResponse.nro.value + 1; objFECabeceraRequest.id = Comprobante.IdTransaccion; objFECabeceraRequest.presta_serv = Convert.ToInt32(Comprobante.Presta_serv); objFERequest.Fecr = objFECabeceraRequest; FEArn.ar.gov.afip.wsw.FEDetalleRequest[] arrayFEDetalleRequest = new FEArn.ar.gov.afip.wsw.FEDetalleRequest[CantidadComprobantes]; FEArn.ar.gov.afip.wsw.FEDetalleRequest objFEDetalleRequest = new FEArn.ar.gov.afip.wsw.FEDetalleRequest(); /* Obtengo último comprobante*/ FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse objFERecuperaLastCMPResponse = new FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse(); FEArn.ar.gov.afip.wsw.FELastCMPtype tipoComprobante = new FEArn.ar.gov.afip.wsw.FELastCMPtype(); tipoComprobante.PtoVta = Comprobante.PuntoVenta; tipoComprobante.TipoCbte = Comprobante.Codigo; objFERecuperaLastCMPResponse = objWS.FERecuperaLastCMPRequest(ticket.ObjAutorizacion, tipoComprobante); Comprobante.IdComprobante = objFERecuperaLastCMPResponse.cbte_nro; objFEDetalleRequest.fecha_cbte = Comprobante.Fecha_cbte.ToString("yyyyMMdd"); objFEDetalleRequest.fecha_serv_desde = Comprobante.Fecha_serv_desde.ToString("yyyyMMdd"); objFEDetalleRequest.fecha_serv_hasta = Comprobante.Fecha_serv_hasta.ToString("yyyyMMdd"); objFEDetalleRequest.fecha_venc_pago = Comprobante.Fecha_venc_pago.ToString("yyyyMMdd"); objFEDetalleRequest.imp_neto = Comprobante.Imp_neto; objFEDetalleRequest.imp_op_ex = Comprobante.Imp_op_ex; objFEDetalleRequest.imp_tot_conc = Comprobante.Imp_tot_conc; objFEDetalleRequest.imp_total = Comprobante.Imp_total; objFEDetalleRequest.impto_liq = Comprobante.Impto_liq; objFEDetalleRequest.impto_liq_rni = Comprobante.Impto_liq_rni; objFEDetalleRequest.nro_doc = Comprobante.Nro_doc; objFEDetalleRequest.punto_vta = Comprobante.PuntoVenta; objFEDetalleRequest.tipo_cbte = Comprobante.Codigo; objFEDetalleRequest.tipo_doc = Comprobante.TipoDoc; arrayFEDetalleRequest[0] = objFEDetalleRequest; for (int c = 0; c < CantidadComprobantes; c++) { Comprobante.IdComprobante = Comprobante.IdComprobante + 1; objFEDetalleRequest.cbt_desde = Comprobante.IdComprobante; objFEDetalleRequest.cbt_hasta = Comprobante.IdComprobante; arrayFEDetalleRequest[c] = objFEDetalleRequest; } objFERequest.Fedr = arrayFEDetalleRequest; objFEResponse = objWS.FEAutRequest(ticket.ObjAutorizacion, objFERequest); if (objFEResponse.FedResp != null) { for (int i = 0; i < objFEResponse.FedResp.Length; i++) { Comprobante.Motivo = objFEResponse.FedResp[i].motivo ; Comprobante.Resultado = objFEResponse.FedResp[i].resultado; Comprobante.Cae = objFEResponse.FedResp[i].cae; InsertarComprobante(Comprobante); } } else { Comprobante.MensajeError = objFEResponse.RError.percode + "-" + objFEResponse.RError.perrmsg; Comprobante.IdComprobante = 0; Comprobante.IdTransaccion = 0; InsertarComprobante(Comprobante); } } catch (Exception ex) { Cedeira.Ex.ExceptionManager.Publish(ex); } }