Exemplo n.º 1
0
        private void cargar_opciones()
        {
            DataSet ds = F_Electronico._leer_opciones();

            if (ds != null)
            {
                DataTable dt_tipo    = ds.Tables[0];
                DataTable dt_cliente = ds.Tables[1];

                //clientes
                dwcliente.Items.Clear();
                ListItem valor = new ListItem();
                valor.Text  = " -- Seleccionar a todos --";
                valor.Value = "-1";
                dwcliente.Items.Add(valor);
                dwcliente.DataSource     = dt_cliente;
                dwcliente.DataTextField  = "nombre";
                dwcliente.DataValueField = "bas_id";
                dwcliente.DataBind();

                //documentos tipos
                dwtipo.Items.Clear();
                ListItem valortipo = new ListItem();
                valortipo.Text  = " -- Seleccionar a todos --";
                valortipo.Value = "-1";
                dwtipo.Items.Add(valortipo);
                dwtipo.DataSource     = dt_tipo;
                dwtipo.DataTextField  = "tipo_des";
                dwtipo.DataValueField = "tipo_doc";
                dwtipo.DataBind();
            }
        }
        protected void btge_Click(object sender, EventArgs e)
        {
            try
            {
                msnMessage.Visible = false;

                DataTable dt_envia  = (DataTable)Session["_ReturnData"];
                DataTable dt_genera = new DataTable();
                dt_genera.Columns.Add("bas_id", typeof(Decimal));
                dt_genera.Columns.Add("monto_util", typeof(Decimal));
                dt_genera.Columns.Add("num_fac", typeof(string));
                dt_genera.Columns.Add("fec_fac", typeof(DateTime));
                dt_genera.Columns.Add("num_nc", typeof(string));
                dt_genera.Columns.Add("fec_nc", typeof(DateTime));

                DataRow[] _fila = dt_envia.Select("chk=1 and monto_util>0");

                if (_fila.Length > 0)
                {
                    for (Int32 i = 0; i < _fila.Length; ++i)
                    {
                        decimal  _bas_id     = Convert.ToDecimal(_fila[i]["bas_id"].ToString());
                        decimal  _monto_util = Convert.ToDecimal(_fila[i]["monto_util"].ToString());
                        string   _num_fac    = _fila[i]["seriefac"].ToString() + _fila[i]["numerofac"].ToString();;
                        DateTime _fec_fac    = Convert.ToDateTime(_fila[i]["fec_fac"].ToString());
                        string   _num_nc     = _fila[i]["serienc"].ToString() + _fila[i]["numeronc"].ToString();;
                        DateTime _fec_nc     = Convert.ToDateTime(_fila[i]["fec_nc"].ToString());

                        dt_genera.Rows.Add(_bas_id, _monto_util, _num_fac, _fec_fac, _num_nc, _fec_nc);
                    }

                    DataTable dt     = Documents_Trans.dt_ejecutar_provisiones(dt_genera, _user._bas_id);
                    string    script = string.Empty;
                    if (dt == null || dt.Rows.Count == 0)
                    {
                        msnMessage.LoadMessage("Error al generar los anticipos", UserControl.ucMessage.MessageType.Error);
                        script  = string.Empty;
                        script += "closeDialogLoad()";
                        System.Web.UI.ScriptManager.RegisterStartupScript(upGrid, Page.GetType(), "CloseDialog", script, true);
                        return;
                    }
                    else
                    {
                        for (Int32 i = 0; i < dt.Rows.Count; ++i)
                        {
                            string tipo         = dt.Rows[i]["tipo"].ToString();
                            string _numero      = dt.Rows[i]["num_doc"].ToString();
                            string _codigo_hash = "";
                            string _error       = "";
                            F_Electronico.ejecutar_factura_electronica(tipo, _numero, ref _codigo_hash, ref _error);
                            if (_error.Length == 0)
                            {
                                Documents_Trans.insertar_codigo_hash(_numero, _codigo_hash, (tipo == "B" || tipo == "F") ? "V":"N");
                            }
                            else
                            {
                                msnMessage.LoadMessage(_error, UserControl.ucMessage.MessageType.Error);
                                script  = string.Empty;
                                script += "closeDialogLoad()";
                                System.Web.UI.ScriptManager.RegisterStartupScript(upGrid, Page.GetType(), "CloseDialog", script, true);
                                return;
                            }


                            ////enviar web service
                        }
                    }
                    F_Electronico._enviar_webservice_xml();
                    sbconsultar();
                    msnMessage.LoadMessage("se genero las provisiones de los saldos seleccionados", UserControl.ucMessage.MessageType.Information);
                    script  = string.Empty;
                    script += "closeDialogLoad()";
                    System.Web.UI.ScriptManager.RegisterStartupScript(upGrid, Page.GetType(), "CloseDialog", script, true);
                }
            }
            catch (Exception exc)
            {
                msnMessage.LoadMessage(exc.Message, UserControl.ucMessage.MessageType.Error);
                string script = string.Empty;
                script += "closeDialogLoad()";
                System.Web.UI.ScriptManager.RegisterStartupScript(upGrid, Page.GetType(), "CloseDialog", script, true);
            }
        }