///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN: Btn_Modificar_Click
        ///DESCRIPCIÓN  : Evento para modificar la orden de salida
        ///PARAMENTROS  :
        ///CREO         : Hugo Enrique Ramírez Aguilera
        ///FECHA_CREO   : 30/Julio/2015
        ///MODIFICO     :
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        private void Btn_Modificar_Click(object sender, EventArgs e)
        {
            Error_Provider.Clear();

            if (Txt_Orden_Salida.Text.Trim() != "")
            {
                if (Btn_Modificar.Text == "Modificar")
                {
                    //  habilita los objetos
                    Habilitar_Controles("Modificar");
                    Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Ordenes_Salida, true);
                    Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Datos_Contenedores_Salida, true);
                    Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Fra_Busqueda, false);
                    Cls_Metodos_Generales.Limpia_Controles(Fra_Busqueda);
                    Grid_Ordenes_Salidas.Enabled = false;

                    //  hace visibles los paneles
                    Grp_Ordenes_Salida.Visible            = true;
                    Grp_Datos_Contenedores_Salida.Visible = true;
                    Fra_Busqueda.Visible = false;

                    Cmb_Ubicaciones.Focus();
                    Txt_Orden_Salida.Enabled = false;

                    //  habilita el grid de los contenedores
                    Grid_Contenedores.Enabled = true;

                    //  habilita los botones de los contenedores
                    Btn_Agregar.Enabled    = true;
                    Btn_Actualizar.Enabled = true;
                    Btn_Quitar.Enabled     = true;
                }
                else
                {
                    if (this.ValidateChildren(ValidationConstraints.Enabled))
                    {
                        if (Txt_Orden_Salida.Text != "" && Grid_Contenedores.Rows.Count > 0)
                        {
                            Cls_Ope_Embarques_Negocio Rs_Modificacion = new Cls_Ope_Embarques_Negocio();
                            Rs_Modificacion.P_No_Salida_Especial = Txt_Orden_Salida.Text;
                            Rs_Modificacion.P_Destino_Id         = Cmb_Ubicaciones.SelectedValue.ToString();
                            Rs_Modificacion.P_Grid_Detalles      = Grid_Contenedores;;

                            if (Rs_Modificacion.Modificar_Orden_Salida_Especial())
                            {
                                Habilitar_Controles("Inicial");
                                Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Datos_Contenedores_Salida, false);
                                Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Ordenes_Salida, false);
                                Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Fra_Busqueda, false);
                                Cls_Metodos_Generales.Limpia_Controles(Grp_Datos_Contenedores_Salida);
                                Cls_Metodos_Generales.Limpia_Controles(Grp_Ordenes_Salida);
                                Cls_Metodos_Generales.Limpia_Controles(Fra_Busqueda);
                                Fra_Busqueda.Visible = false;

                                Grid_Ordenes_Salidas.Enabled = true;
                                Grid_Contenedores.Rows.Clear();
                                Grid_Contenedores.Enabled = false;


                                Consultar_Salidas();
                                Btn_Agregar.Enabled    = false;
                                Btn_Actualizar.Enabled = false;
                                Btn_Quitar.Enabled     = false;

                                MessageBox.Show(this, "Actualización exitosa", "Órdenes de salida especiales", MessageBoxButtons.OK);
                            }
                        }
                    }
                }
            }
            else
            {
                CancelEventArgs X = new CancelEventArgs();
                Validador.Validacion_Campo_Vacio(X, Txt_Orden_Salida);
            }
        }
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN: Btn_Nuevo_Click
        ///DESCRIPCIÓN  : Evento para salir del formulario
        ///PARAMENTROS  :
        ///CREO         : Hugo Enrique Ramírez Aguilera
        ///FECHA_CREO   : 30/Julio/2015
        ///MODIFICO     :
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        private void Btn_Nuevo_Click(object sender, EventArgs e)
        {
            Error_Provider.Clear();

            if (Btn_Nuevo.Text == "Nuevo")
            {
                Habilitar_Controles("Nuevo");
                Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Datos_Contenedores_Salida, true);
                Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Ordenes_Salida, true);
                Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Fra_Busqueda, false);
                Cls_Metodos_Generales.Limpia_Controles(Grp_Datos_Contenedores_Salida);
                Cls_Metodos_Generales.Limpia_Controles(Grp_Ordenes_Salida);
                Cls_Metodos_Generales.Limpia_Controles(Fra_Busqueda);
                Grid_Ordenes_Salidas.Enabled          = false;
                Grp_Datos_Contenedores_Salida.Visible = true;
                Grp_Ordenes_Salida.Visible            = true;
                Fra_Busqueda.Visible = false;

                Cmb_Ubicaciones.Focus();
                Txt_Orden_Salida.Enabled = false;

                //  Se limpia el grid de los contenedores
                Grid_Contenedores.Enabled = true;
                Grid_Contenedores.Rows.Clear();

                //  se habilitan los botones de los contenedores
                Btn_Agregar.Enabled    = true;
                Btn_Actualizar.Enabled = true;
                Btn_Quitar.Enabled     = true;
            }
            else
            {
                if (this.ValidateChildren(ValidationConstraints.Enabled))
                {
                    //  validamos la ubicacion y contenedores
                    if (Cmb_Ubicaciones.Text != "<-SELECCIONE->" && Grid_Contenedores.Rows.Count > 0)
                    {
                        Cls_Ope_Embarques_Negocio Rs_Alta = new Cls_Ope_Embarques_Negocio();
                        Rs_Alta.P_Orden_Salida  = Txt_Orden_Salida.Text;
                        Rs_Alta.P_Ubicacion_Id  = Cmb_Ubicaciones.SelectedValue.ToString();
                        Rs_Alta.P_Grid_Detalles = Grid_Contenedores;

                        //  se guarda el registro y el numero de la orden de salida
                        String No_Orden_Salida_Especial = "";
                        No_Orden_Salida_Especial = Rs_Alta.Alta_Orden_Salida_Especial();

                        if (!String.IsNullOrEmpty(No_Orden_Salida_Especial))
                        {
                            //  se genera la impresion de la orden de salida
                            Txt_Orden_Salida.Text = No_Orden_Salida_Especial;
                            //Crear_Dataset_Osd(sender);


                            Habilitar_Controles("Inicial");
                            Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Datos_Contenedores_Salida, false);
                            Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Grp_Ordenes_Salida, false);
                            Cls_Metodos_Generales.Habilita_Deshabilita_Controles(Fra_Busqueda, false);
                            Cls_Metodos_Generales.Limpia_Controles(Grp_Datos_Contenedores_Salida);
                            Cls_Metodos_Generales.Limpia_Controles(Grp_Ordenes_Salida);
                            Cls_Metodos_Generales.Limpia_Controles(Fra_Busqueda);
                            Fra_Busqueda.Visible = false;

                            Grid_Ordenes_Salidas.Enabled = true;
                            Grid_Contenedores.Rows.Clear();
                            Grid_Contenedores.Enabled = false;


                            Consultar_Salidas();
                            Btn_Agregar.Enabled    = false;
                            Btn_Actualizar.Enabled = false;
                            Btn_Quitar.Enabled     = false;
                            MessageBox.Show(this, "Alta exitosa", "Órdenes de salida especiales", MessageBoxButtons.OK);
                            //Crear_Dataset_Osd(sender);
                        }
                    }
                    else
                    {
                        CancelEventArgs X = new CancelEventArgs();
                        Validador.Validacion_Combo_Requerido(X, Cmb_Ubicaciones, true);
                    }
                }
            }
        }