예제 #1
0
 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;
 }
예제 #2
0
		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);
			}
		}