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; }
private void ConsultaUltNroComprobanteButton_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; resultadoTextBox.Text = string.Empty; estadoTextBox.Text = string.Empty; this.Refresh(); c = new FEArn.ConsultaUltNroComprobante(System.Configuration.ConfigurationManager.AppSettings["FEA_ar_gov_afip_wsw_Service"], System.Configuration.ConfigurationManager.AppSettings["rutaCertificadoAFIP"] + cunc.Cuit_emisor.ToString() + ".p12", cunc.Cuit_emisor, Aplicacion.Sesion); FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse cr = new FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse(); cr = c.ConsultarUltNroComprobante(cunc); if (cr.RError.perrmsg == "OK") { MessageBox.Show("Consulta concluida satisfactoriamente.", "Información", MessageBoxButtons.OK); resultadoTextBox.Text = "El último Nro. de Comprobante Emitido es: " + cr.cbte_nro.ToString(); estadoTextBox.Text = cr.RError.percode + " - " + cr.RError.perrmsg; } else { MessageBox.Show("Consulta concluida con error.", "Información", MessageBoxButtons.OK); resultadoTextBox.Text = ""; estadoTextBox.Text = cr.RError.percode + " - " + cr.RError.perrmsg; } this.Cursor = Cursors.Default; }
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); } }