Esempio n. 1
0
        private void CmdGenPag_Click(object sender, EventArgs e)
        {
            int    n_idtipdoc   = 0;
            string c_numser     = "";
            string c_numdoc     = "";
            double n_imptc      = 0;
            double n_tasaigv    = 18;
            double n_imppagar   = 0;
            double n_impigv     = 0;
            double n_impbru     = 0;
            double n_valor      = 0;
            int    n_row        = 2;
            double n_IdGenerado = 0;
            string c_dato       = "";

            for (n_row = 2; n_row <= (FgDeuda.Rows.Count - 1); n_row++)
            {
                if (funFunciones.NulosC(FgDeuda.GetData(n_row, 12)).ToString() == "True")
                {
                    n_valor = n_valor + 1;
                }
            }

            if (n_valor == 0)
            {
                MessageBox.Show("¡ No ha indicado que cargos son los que se van a pagar !", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                return;
            }

            c_dato                = funDatos.DataTableBuscar(dtTipSoc, "c_des", "n_idtipdocfac", TxtSer.Text, "C").ToString();
            n_idtipdoc            = Convert.ToInt32(c_dato);
            c_numser              = "0001";
            objTipDocCom.mysConec = mysConec;
            c_numdoc              = objTipDocCom.UltimoNumero(STU_SISTEMA.EMPRESAID, n_idtipdoc, c_numser);

            // ACUMULAMOS EL IMPORTE DE LO QUE SE VA A PAGAR (SOLO LO QUE ESTA CON CHECK)
            for (n_row = 2; n_row <= (FgDeuda.Rows.Count - 1); n_row++)
            {
                if (funFunciones.NulosC(FgDeuda.GetData(n_row, 12)).ToString() == "True")
                {
                    n_valor  = Convert.ToDouble(FgDeuda.GetData(n_row, 13));
                    n_impbru = n_impbru + n_valor;

                    n_valor  = Convert.ToDouble(FgDeuda.GetData(n_row, 14));
                    n_impigv = n_impigv + n_valor;

                    n_valor    = Convert.ToDouble(FgDeuda.GetData(n_row, 8));
                    n_imppagar = n_imppagar + n_valor;
                }
            }

            CN_vta_ventas           objVentas    = new CN_vta_ventas();
            BE_VTA_VENTAS           entVentas    = new BE_VTA_VENTAS();
            List <BE_VTA_VENTASDET> lstVentasDet = new List <BE_VTA_VENTASDET>();

            entVentas.n_idemp       = STU_SISTEMA.EMPRESAID;
            entVentas.n_id          = 0;
            entVentas.n_anotra      = STU_SISTEMA.ANOTRABAJO;
            entVentas.n_idmes       = STU_SISTEMA.MESTRABAJO;
            entVentas.n_idlib       = 2;
            entVentas.c_numreg      = "";
            entVentas.n_idtippro    = 23;
            entVentas.n_idcli       = Convert.ToInt32(LblIdSoc.Text);
            entVentas.n_idpunvencli = 0;
            entVentas.n_idtipdoc    = n_idtipdoc;
            entVentas.c_numser      = c_numser;
            entVentas.c_numdoc      = c_numdoc;
            entVentas.d_fchreg      = Convert.ToDateTime("01/" + STU_SISTEMA.MESTRABAJO.ToString() + "/" + STU_SISTEMA.ANOTRABAJO.ToString());
            entVentas.d_fchdoc      = DateTime.Now;
            entVentas.d_fchven      = DateTime.Now;
            entVentas.n_idconpag    = 1;                                // INDICAMOS QUE ELPAGO ES AL CONTADO
            entVentas.n_idmon       = 115;                              // INDICAMOS QUE LA MONEDA ES SOLES
            if (TxtSer.Text == "INQUILINO")
            {
                entVentas.n_impinaf   = 0;
                entVentas.n_impbru    = n_impbru;
                entVentas.n_impigv    = n_impigv;
                entVentas.n_imptotven = n_imppagar;
                entVentas.n_idtipven  = 1;                              // INDICAMOS QUE LA VENTA ES AFECTA AL IGV
            }

            entVentas.n_impbru2 = 0;
            entVentas.n_impbru3 = 0;

            if (TxtSer.Text == "SOCIO")
            {
                entVentas.n_impbru    = 0;
                entVentas.n_impinaf   = n_imppagar;
                entVentas.n_impigv    = 0;
                entVentas.n_imptotven = n_imppagar;
                entVentas.n_idtipven  = 3;                              // INDICAMOS QUE LA VENTA ES INAAFECTA AL IGV
            }

            entVentas.n_impisc  = 0;
            entVentas.n_impotr  = 0;
            entVentas.n_tc      = n_imptc;
            entVentas.n_impsal  = 0;
            entVentas.n_idven   = 0;
            entVentas.n_tasaigv = n_tasaigv;
            entVentas.c_glosa   = "";
            entVentas.n_oriitem = 1;
            entVentas.n_anulado = 1;

            entVentas.n_idtipdocref = 0;
            entVentas.n_iddocref    = 0;
            entVentas.c_serdocref   = "";
            entVentas.c_numdocref   = "";
            entVentas.n_idtipdes    = 1;
            entVentas.n_impdes      = 0;
            entVentas.c_nomcli      = TxtNomSoc.Text;
            entVentas.c_dircli      = "";
            entVentas.n_idpue       = Convert.ToInt32(LblIdPuesto.Text);

            string c_cadena = "";

            // CARGAMOS LOS ITEMS DE LA VENTA
            for (n_row = 2; n_row <= (FgDeuda.Rows.Count - 1); n_row++)
            {
                if (funFunciones.NulosC(FgDeuda.GetData(n_row, 12)).ToString() == "True")
                {
                    if (n_row > 2)
                    {
                        c_cadena = c_cadena + ",";
                    }
                    c_cadena = c_cadena + FgDeuda.GetData(n_row, 15).ToString();                   // ARMAMOS LA CADENA IN PARA TRAER EL DETALLE DEL DOCUMENTO
                }
            }

            DataTable dtDetalle = new DataTable();

            objCargos.mysConec = mysConec;
            objCargos.Consulta2(c_cadena);

            if (objCargos.booOcurrioError == true)
            {
                MessageBox.Show("¡ No se pudo realizar el pago de los cargos por el siguiente motivo :" + objCargos.StrErrorMensaje + " !", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                return;
            }

            dtDetalle = objCargos.dtLista;

            for (n_row = 0; n_row <= (dtDetalle.Rows.Count - 1); n_row++)
            {
                BE_VTA_VENTASDET entVtaDet = new BE_VTA_VENTASDET();

                entVtaDet.n_idvta     = 0;
                entVtaDet.n_iditem    = Convert.ToInt32(dtDetalle.Rows[n_row]["n_idcon"]);
                entVtaDet.c_desusu    = dtDetalle.Rows[n_row]["c_descon"].ToString();
                entVtaDet.n_idunimed  = 726;
                entVtaDet.n_canpro    = 1;
                entVtaDet.n_preunibru = Convert.ToDouble(dtDetalle.Rows[n_row]["n_impbru"]);
                entVtaDet.n_impdes    = 0;
                entVtaDet.n_preuninet = Convert.ToDouble(dtDetalle.Rows[n_row]["n_impbru"]);
                entVtaDet.n_imptot    = Convert.ToDouble(dtDetalle.Rows[n_row]["n_imptotnet"]);

                lstVentasDet.Add(entVtaDet);
            }

            objVentas.mysConec   = mysConec;
            objVentas.LstDetalle = lstVentasDet;
            if (objVentas.Insertar(entVentas) == false)                             // GRABAMOS EL DOCUMENTO DE PAGO
            {
                MessageBox.Show("¡ No se pudo realizar el pago de los cargos por el siguiente motivo :" + objVentas.StrErrorMensaje + " !", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else
            {
                n_IdGenerado = objVentas.n_IdGenerado;
                int n_idCargo = 0;

                // ACTUALIZAMOS LOS CARGOS PAGADO
                for (n_row = 2; n_row <= (FgDeuda.Rows.Count - 1); n_row++)
                {
                    if (funFunciones.NulosC(FgDeuda.GetData(n_row, 12)).ToString() == "True")
                    {
                        n_idCargo = Convert.ToInt32(FgDeuda.GetData(n_row, 15).ToString());

                        objCargosCab.mysConec = mysConec;
                        //objCargosCab.ActualizarCargo(n_idCargo, n_IdGenerado);
                        if (objCargosCab.booOcurrioError == true)
                        {
                            MessageBox.Show("¡ ocurrio un error :" + objCargosCab.StrErrorMensaje + " !", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        }
                    }
                }

                // MOSTRAMOS LA IMPRESION DE LA VENTA
                objVentas.STU_SISTEMA = STU_SISTEMA;
                objVentas.ReportImprimirDocumento(n_IdGenerado, n_idtipdoc, false, "", false);

                // MOSTRAMOS NUEVAMENTE TODA LA DEUDA DEL PUESTO
                CmdMostrarDeuda_Click(sender, e);
            }
        }