Esempio n. 1
0
        private void cargarDatosAfip()
        {
            try
            {
                authRequest       = new FEAuthRequest();
                authRequest.Cuit  = CUIT;
                authRequest.Sign  = SING;
                authRequest.Token = TOKEN;

                AFIP.TEST.WSFE.Service service = new AFIP.TEST.WSFE.Service();
                if (Main.Testing == 1)
                {
                    service.Url = "https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL";// URL;
                }
                else //Produccion
                {
                    service.Url = "https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL";
                }
                service.ClientCertificates.Add(certificado);

                ptos_venta_cm.DisplayMember        = "Nro";
                TiposComprobantesCMB.DisplayMember = "Desc";
                TipoConcepto.DisplayMember         = "Desc";
                TipoDocCMB.DisplayMember           = "Desc";
                MonedaCMB.DisplayMember            = "Desc";
                TipoIVACmb.DisplayMember           = "Desc";


                puntosventa = service.FEParamGetPtosVenta(authRequest);
                ptos_venta_cm.DataSource = puntosventa.ResultGet;

                TiposComprobantes = service.FEParamGetTiposCbte(authRequest);
                TiposComprobantesCMB.DataSource = TiposComprobantes.ResultGet;

                TipoConceptos           = service.FEParamGetTiposConcepto(authRequest);
                TipoConcepto.DataSource = TipoConceptos.ResultGet;

                TipoDoc = service.FEParamGetTiposDoc(authRequest);
                TipoDocCMB.DataSource = TipoDoc.ResultGet;

                Monedas = service.FEParamGetTiposMonedas(authRequest);
                MonedaCMB.DataSource = Monedas.ResultGet;

                TiposIVA = service.FEParamGetTiposIva(authRequest);
                TipoIVACmb.DataSource = TiposIVA.ResultGet;

                //ultimo numero
                //var lastCbteObj = service.FECompUltimoAutorizado(authRequest, 4, TiposComprobantes.ResultGet[0].Id);
                //NroCbteTX.Text = lastCbteObj.CbteNro + 1;

                opcionales = service.FEParamGetTiposOpcional(authRequest);
            }
            catch (Exception e)
            {
                LogHelper.Log(LogTarget.File, DateTime.Now.ToString() + " - ERROR Datos AFIP: " + e.Message + " - " + e.StackTrace);
                //MessageBox.Show(e.Message);
            }
        }
Esempio n. 2
0
        private static string consultarAfip(int p_pv, int p_codigo, double p_importe, double p_iva, double p_total, DateTime p_fecha, long doc, int concepto, int tipo_doc, int tipo_iva, string moneda)
        {
            numero_comprobante = 0;
            cae_comprobante    = "";
            cae_vencimiento    = "";
            mensaje_afip       = "";
            mensaje_obs        = "";
            mensaje_error      = "";
            string m = "";

            resultado = "R";

            try
            {
                if (Main.authRequest == null)
                {
                    Main.authRequest       = new FEAuthRequest();
                    Main.authRequest.Cuit  = Main.CUIT;
                    Main.authRequest.Sign  = Main.SING;
                    Main.authRequest.Token = Main.TOKEN;
                }

                AFIP.TEST.WSFE.Service service = getServicio();
                service.ClientCertificates.Add(Main.certificado);

                /*
                 * if (Main.Testing == 1)
                 * {
                 *  AFIP.TEST.WSFE.Service service = getServicioTest();
                 *  service.ClientCertificates.Add(Main.certificado);
                 * }
                 * else
                 * {
                 *  AFIP.WSFE.Service service = getServicioProducion();
                 *  service.ClientCertificates.Add(Main.certificado);
                 * }*/
                //PtoVenta pvObj = ptos_venta_cm.SelectedItem;
                //int pv = p_pv;//pvObj.Nro;
                //CbteTipo cm = p_codigo;//TiposComprobantesCMB.SelectedItem;

                FECAERequest    req = new FECAERequest();
                FECAECabRequest cab = new FECAECabRequest();
                FECAEDetRequest det = new FECAEDetRequest();

                cab.CantReg  = 1;
                cab.PtoVta   = p_pv;
                cab.CbteTipo = p_codigo;//cm.Id;
                req.FeCabReq = cab;

                FECAEDetRequest bar = det;
                //ConceptoTipo concepto = TipoConcepto.SelectedItem;
                bar.Concepto = concepto; //concepto.ID;
                //DocTipo doctipo = TipoDocCMB.SelectedItem;
                bar.DocTipo = tipo_doc;  //doctipo.Id
                bar.DocNro  = doc;       //long.Parse(DocTX.Text)

                //Buscar el ultimo numero
                try
                {
                    FERecuperaLastCbteResponse lastRes = service.FECompUltimoAutorizado(Main.authRequest, p_pv, p_codigo);
                    int last = lastRes.CbteNro;

                    bar.CbteDesde = last + 1;
                    bar.CbteHasta = last + 1;
                }
                catch
                {
                    bar.CbteDesde = p_codigo;
                    bar.CbteHasta = p_codigo;
                }

                bar.CbteFch = p_fecha.ToString("yyyyMMdd");              //FechaDTP.Value.ToString("yyyyMMdd");

                bar.ImpNeto  = Double.Parse(p_importe.ToString("0.00")); //NetoTX.Text;
                bar.ImpIVA   = Double.Parse(p_iva.ToString("0.00"));     // ImpIvaTx.Text;
                bar.ImpTotal = Double.Parse(p_total.ToString("0.00"));   // TotalTx.Text;

                bar.ImpTotConc = 0;
                bar.ImpOpEx    = 0;
                bar.ImpTrib    = 0;

                //Moneda mon = MonedaCMB.SelectedItem;
                bar.MonId    = moneda;// mon.Id
                bar.MonCotiz = 1;

                AlicIva alicuota = new AlicIva();
                //IvaTipo ivat = TipoIVACmb.SelectedItem;
                alicuota.Id      = tipo_iva;                             // ivat.Id
                alicuota.BaseImp = p_importe;                            // NetoTX.Text
                alicuota.Importe = Double.Parse(p_iva.ToString("0.00")); // ImpIvaTx.Text

                bar.Iva = new AlicIva[] { alicuota };
                //bar.Iva.Append(alicuota);

                req.FeDetReq = new FECAEDetRequest[] { bar };
                //req.FeDetReq.Append(bar);


                try
                {
                    FECAEResponse r      = service.FECAESolicitar(Main.authRequest, req);
                    string        vbCrLf = "\n";

                    resultado = r.FeDetResp[0].Resultado;

                    m  = "Estado Cabecera: " + r.FeCabResp.Resultado + vbCrLf;
                    m += "Estado Detalle: " + r.FeDetResp[0].Resultado;
                    m += vbCrLf;
                    m += "CAE: " + r.FeDetResp[0].CAE;
                    m += vbCrLf;
                    m += "Vto: " + r.FeDetResp[0].CAEFchVto;
                    m += vbCrLf;
                    m += "Numero de comprobante: " + r.FeDetResp[0].CbteDesde;
                    m += vbCrLf;

                    numero_comprobante = r.FeDetResp[0].CbteDesde;
                    cae_comprobante    = r.FeDetResp[0].CAE;
                    cae_vencimiento    = r.FeDetResp[0].CAEFchVto;

                    if (r.FeDetResp[0].Observaciones != null)
                    {
                        foreach (var o in r.FeDetResp[0].Observaciones)
                        {
                            mensaje_obs += string.Format("Obs: {0} ({1})", o.Msg, o.Code) + vbCrLf;
                            m           += mensaje_obs;
                        }
                    }
                    if (r.Errors != null)
                    {
                        foreach (var er in r.Errors)
                        {
                            mensaje_error += string.Format("Er: {0}: {1}", er.Code, er.Msg) + vbCrLf;
                            m             += mensaje_error;
                        }
                    }
                    if (r.Events != null)
                    {
                        foreach (var ev in r.Events)
                        {
                            mensaje_afip += string.Format("Ev: {0}: {1}", ev.Code, ev.Msg) + vbCrLf;
                            m            += mensaje_afip;
                        }
                    }
                }
                catch (Exception e)
                {
                    LogHelper.Log(LogTarget.File, DateTime.Now.ToString() + " - ERROR COMPROBANTE AFIP: " + e.Message + " - " + e.StackTrace);
                    m = "ERROR";
                    return(m);
                }



                //Resultado.Text = m
                LogHelper.Log(LogTarget.File, DateTime.Now.ToString() + " - Consultando en AFIP: " + resultado);
            }
            catch (Exception e)
            {
                LogHelper.Log(LogTarget.File, DateTime.Now.ToString() + " - ERROR COMPROBANTE AFIP: " + e.Message + " - " + e.StackTrace);
                //MessageBox.Show("ERROR: "+e.Message+"\n"+e.StackTrace);
            }

            return(m);
        }