Ejemplo n.º 1
0
        public void Enlaza_fra()
        {
            try
            {
                int  asiento = 0;
                char t_cte   = ' ';
                if (rb_cte_lrg.Checked == true)
                {
                    t_cte = 'C';
                }
                else
                {
                    if (rb_titular_lrg.Checked == true)
                    {
                        t_cte = 'T';
                    }
                    else if (rb_colab_lrg.Checked == true)
                    {
                        t_cte = 'B';
                    }
                }

                /*
                 * char deleg = ' ';
                 * if (rb_y_lrg.Checked == true)
                 *  deleg = 'Y';
                 * else
                 * {
                 *  if (rb_m_lrg.Checked == true)
                 *      deleg = 'M';
                 *  else if (rb_a_lrg.Checked == true)
                 *      deleg = 'A';
                 * }
                 */
                //secc_int = cb_secc_lrg.Text.Trim();
                //estado = cb_estado_lrg.Text.Trim();

                _registros.Clear();
                _registros.AddRange(Reg_Opera.Buscar_rfra(deleg, Convert.ToInt32(tb_d_fra.Text), Convert.ToInt32(tb_h_fra.Text), dtp_d_ffra.Value, dtp_h_ffra.Value,
                                                          t_cte, Convert.ToInt32(tb_d_cte.Text), Convert.ToInt32(tb_h_cte.Text), 'Z', 1));

                if (_registros.Count == 0)
                {
                    MessageBox.Show("No se obtuvo ningún registro.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    //filePath = = "@\"" + tb_pdf.Text + "\"";
                    fichero_asi = File.CreateText(tb_ruta.Text + "enlace.txt"); //"c:\\temp\\csharp\\enlace.txt"
                    fichero_fra = File.CreateText(tb_ruta.Text + "enlace_fra.txt");
                    fichero_cte = File.CreateText(tb_ruta.Text + "enlace_cte.txt");
                    asiento     = Convert.ToInt32(tb_n_asi.Text);
                    while (pos_reg < _registros.Count)
                    {
                        if (_registros.ElementAt(pos_reg).t_cte_fra == 'C')
                        {
                            //facturar a cte.
                            //cta_cte = Reg_Opera.Sacar_cta_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_cte), 'C');
                            //nom_cte = Reg_Opera.Calcular_nom_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_cte), 'C');
                            //dnicif = Reg_Opera.Sacar_dnicif_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_cte), 'C');
                            Cte_a_enlazar = Ctes_Opera.ObtenerCliente(_registros.ElementAt(pos_reg).id_cte);
                        }
                        else
                        {
                            if (_registros.ElementAt(pos_reg).t_cte_fra == 'T') //facturar a titular.
                            {
                                //cta_cte = Reg_Opera.Sacar_cta_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_titular), 'T');
                                //nom_cte = Reg_Opera.Calcular_nom_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_titular), 'T');
                                //dnicif = Reg_Opera.Sacar_dnicif_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_titular), 'T');
                                Cte_a_enlazar = Ctes_Opera.ObtenerCliente(_registros.ElementAt(pos_reg).id_titular);
                            }
                            else //facturar a colaborador.
                            {
                                //cta_cte = Reg_Opera.Sacar_cta_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_colabora), 'B');
                                //nom_cte = Reg_Opera.Calcular_nom_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_colabora), 'B');
                                //dnicif = Reg_Opera.Sacar_dnicif_cte(Convert.ToString(_registros.ElementAt(pos_reg).id_colabora), 'B');
                                Cte_a_enlazar = Ctes_Opera.ObtenerCliente(_registros.ElementAt(pos_reg).id_colabora);
                            }
                        }
                        //Ctas cliente
                        line = "'" + Cte_a_enlazar.cta_cble.Trim() + "';'" + Cte_a_enlazar.Nombre.Trim() + "';'S';'" + Cte_a_enlazar.Documento.Trim() + Cte_a_enlazar.Letra + "';'" +
                               Cte_a_enlazar.Direccion.Trim() + "';'" + Cte_a_enlazar.Cpostal.Trim() + "';'" + Cte_a_enlazar.Ciudad.Trim() + "';'" + Cte_a_enlazar.Telf1.Trim() + "';'','','" +
                               Cte_a_enlazar.Pers_cont.Trim() + "';'" + Cte_a_enlazar.Email.Trim() + "';";
                        fichero_cte.WriteLine(line.Replace("'", "\""));


                        base_imp    = 0;
                        imp_iva     = 0;
                        tot_fra     = 0;
                        imp_tasa    = 0;
                        imp_det     = 0;
                        importes[0] = 0;
                        importes[1] = 0;
                        //sacamos los importes con iva de linfac a simpor1; los sin iva ya estan acumulados en campo tasa.
                        importes = Linfac_Opera.Calcular_importes_linfac(_registros.ElementAt(pos_reg).factura);

                        base_imp = _registros.ElementAt(pos_reg).dcho_col + _registros.ElementAt(pos_reg).honorarios + importes[1];
                        imp_iva  = ((base_imp * _registros.ElementAt(pos_reg).p_iva) / 100);
                        imp_tasa = _registros.ElementAt(pos_reg).tasa - importes[0]; //le quitamos impor sin iva de detalles
                        tot_fra  = base_imp + imp_iva + _registros.ElementAt(pos_reg).tasa;

                        //creamos fichero de fras.
                        line = "'E';'" + string.Format("{0:000000}", asiento) + "';'" + string.Format("{0:000000}", _registros.ElementAt(pos_reg).factura) + "';'" +
                               _registros.ElementAt(pos_reg).fec_fra.ToString("ddMMyyyy") + "';'" + Cte_a_enlazar.cta_cble.Trim() + "';'" + Cte_a_enlazar.Nombre.Trim() + "';'" + Cte_a_enlazar.Documento.Trim() + Cte_a_enlazar.Letra + "';'" +
                               string.Format("{0:###,##0.00}", base_imp) + "';'" + string.Format("{0:##0}", _registros.ElementAt(pos_reg).p_iva) + "';'" + string.Format("{0:###,##0.00}", imp_iva) + "';'Varias';'" +
                               string.Format("{0:###,##0.00}", _registros.ElementAt(pos_reg).tasa) + "';'0';'0';'705000011';'S';'00';'N';'N';";
                        fichero_fra.WriteLine(line.Replace("'", "\""));

                        //Sacamos ctas de detalle
                        _cuentas = Linfac_Opera.Saca_ctas_x_impor(_registros.ElementAt(pos_reg).factura);

                        concepto = "N/FRA. " + _registros.ElementAt(pos_reg).factura + " - " + Cte_a_enlazar.Nombre.Trim().Trim();
                        line     = "'D';'" + string.Format("{0:000000}", asiento) + "';'" + _registros.ElementAt(pos_reg).fec_fra.ToString("ddMM") + "';'" + Cte_a_enlazar.cta_cble.Trim() + "';'" +
                                   string.Format("{0:###,##0.00}", tot_fra) + "';'" + concepto.Trim() + "';'FE';'N';'';'N';'';";
                        fichero_asi.WriteLine(line.Replace("'", "\""));//deben ser comillas dobles

                        //buscamos el importe de la cta de tasa en detalles
                        imp_det = Busca_cta_det(tb_ctasa.Text.Trim());
                        if (_registros.ElementAt(pos_reg).tasa > 0 | imp_det > 0)
                        {
                            line = "'H';'" + string.Format("{0:000000}", asiento) + "';'" + _registros.ElementAt(pos_reg).fec_fra.ToString("ddMM") + "';'" + tb_ctasa.Text.Trim() + "';'" +
                                   string.Format("{0:###,##0.00}", imp_tasa + imp_det) + "';'" + concepto.Trim() + "';'FE';'N';'" + Cte_a_enlazar.cta_cble.Trim() + "';'N';'';";
                            fichero_asi.WriteLine(line.Replace("'", "\""));
                        }
                        imp_det = Busca_cta_det(tb_cdcol.Text.Trim());
                        if (_registros.ElementAt(pos_reg).dcho_col > 0 | imp_det > 0)
                        {
                            line = "'H';'" + string.Format("{0:000000}", asiento) + "';'" + _registros.ElementAt(pos_reg).fec_fra.ToString("ddMM") + "';'" + tb_cdcol.Text.Trim() + "';'" +
                                   string.Format("{0:###,##0.00}", _registros.ElementAt(pos_reg).dcho_col + imp_det) + "';'" + concepto.Trim() + "';'FE';'N';'" + Cte_a_enlazar.cta_cble.Trim() + "';'N';'';";
                            fichero_asi.WriteLine(line.Replace("'", "\""));
                        }
                        imp_det = Busca_cta_det(tb_chono.Text.Trim());
                        if (_registros.ElementAt(pos_reg).honorarios > 0 | imp_det > 0)
                        {
                            line = "'H';'" + string.Format("{0:000000}", asiento) + "';'" + _registros.ElementAt(pos_reg).fec_fra.ToString("ddMM") + "';'" + tb_chono.Text.Trim() + "';'" +
                                   string.Format("{0:###,##0.00}", _registros.ElementAt(pos_reg).honorarios + imp_det) + "';'" + concepto.Trim() + "';'FE';'N';'" + Cte_a_enlazar.cta_cble.Trim() + "';'N';'';";
                            fichero_asi.WriteLine(line.Replace("'", "\""));
                        }
                        if (imp_iva > 0)
                        {
                            line = "'H';'" + string.Format("{0:000000}", asiento) + "';'" + _registros.ElementAt(pos_reg).fec_fra.ToString("ddMM") + "';'" + tb_civa.Text.Trim() + "';'" +
                                   string.Format("{0:###,##0.00}", imp_iva) + "';'" + concepto.Trim() + "';'FE';'N';'" + Cte_a_enlazar.cta_cble.Trim() + "';'N';'';";
                            fichero_asi.WriteLine(line.Replace("'", "\""));
                        }

                        //Ver ctas de detalle: cta_suplido
                        if (_cuentas.Count > 0)
                        {
                            foreach (Cuentas pcuenta in _cuentas)
                            {
                                line = "'H';'" + string.Format("{0:000000}", asiento) + "';'" + _registros.ElementAt(pos_reg).fec_fra.ToString("ddMM") + "';'" + pcuenta.cta_cble.Trim() + "';'" +
                                       string.Format("{0:###,##0.00}", pcuenta.importe_acu) + "';'" + concepto.Trim() + "';'FE';'N';'" + Cte_a_enlazar.cta_cble.Trim() + "';'N';'';";
                                fichero_asi.WriteLine(line.Replace("'", "\""));
                            }
                        }

                        //updateo facturas a enlazado
                        if (_registros.ElementAt(pos_reg).estado_fac == 'L' & Reg_Opera.Fra_listada_enlazada(_registros.ElementAt(pos_reg).factura, 1) > 0)
                        { //actualiza estado factura a enlazada
                        }

                        pos_reg++;
                        //incremento n_asi
                        asiento++;
                        //tb_n_asi.Text = Convert.ToString(asiento);
                    }
                    fichero_cte.Close();
                    fichero_asi.Close();
                    fichero_fra.Close();
                    MessageBox.Show("Fras. enlazadas con éxito.", "Muy bien!!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception e1)
            {
                MessageBox.Show("No se seleccionó ningún registro.", e1.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 2
0
        public void lanza_lfra()
        {
            try
            {
                char t_cte = ' ';
                if (rb_cte_lrg.Checked == true)
                {
                    t_cte = 'C';
                }
                else
                {
                    if (rb_titular_lrg.Checked == true)
                    {
                        t_cte = 'T';
                    }
                    else if (rb_colab_lrg.Checked == true)
                    {
                        t_cte = 'B';
                    }
                }
                char deleg = ' ';
                if (rb_y_lrg.Checked == true)
                {
                    deleg = 'Y';
                }
                else
                {
                    if (rb_m_lrg.Checked == true)
                    {
                        deleg = 'M';
                    }
                    else if (rb_a_lrg.Checked == true)
                    {
                        deleg = 'A';
                    }
                }

                char accion = 'Z';
                switch (cb_est_fra.Text.Trim())
                {
                case "SIN LISTAR":
                    accion = ' ';
                    break;

                case "LISTADAS":
                    accion = 'L';
                    break;

                case "ENLAZADAS":
                    accion = 'E';
                    break;
                }


                //secc_int = cb_secc_lrg.Text.Trim();
                //estado = cb_estado_lrg.Text.Trim();

                _registros.Clear();
                _registros.AddRange(Reg_Opera.Buscar_rfra(deleg, Convert.ToInt32(tb_d_fra.Text), Convert.ToInt32(tb_h_fra.Text), dtp_d_ffra.Value, dtp_h_ffra.Value,
                                                          t_cte, Convert.ToInt32(tb_d_cte.Text), Convert.ToInt32(tb_h_cte.Text), accion, 0));

                if (_registros.Count == 0)
                {
                    MessageBox.Show("No se obtuvo ningún registro.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    printDocument1.DefaultPageSettings.Landscape = true;
                    printDocument1.PrintPage -= new PrintPageEventHandler(printDocument1_PrintPage);
                    printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);

                    printPreviewDialog1.Document = printDocument1;
                    printPreviewDialog1.PrintPreviewControl.Zoom = 1.0;
                    printPreviewDialog1.WindowState = FormWindowState.Maximized;

                    DialogResult respuesta = MessageBox.Show("¿Desea entrar en la vista previa del impreso?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                    if (respuesta == DialogResult.Yes)
                    {
                        printPreviewDialog1.ShowDialog();
                    }
                    else
                    {
                        PrintDialog printDialog1 = new PrintDialog();
                        printDialog1.Document = printDocument1;

                        if (printDialog1.ShowDialog().Equals(DialogResult.OK))
                        {
                            printDialog1.Document.Print();
                        }
                    }
                }
            }
            catch (Exception e1)
            {
                MessageBox.Show("No se seleccionó ningún registro.", e1.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }