Ejemplo n.º 1
0
        //Lançamento Contabil
        private static void GerarRegistroI200(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I200...");
            }
            decimal cont = decimal.Zero;

            CamadaDados.Contabil.TList_LanContabil lLanctos =
                new CamadaDados.Contabil.TCD_LanctosCTB().Select(
                    new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + rEmpresa.Cd_empresa.Trim() + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.data)))",
                    vOperador = ">=",
                    vVL_Busca = "'" + Dt_ini.Value.ToString("yyyyMMdd") + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.data)))",
                    vOperador = "<=",
                    vVL_Busca = "'" + Dt_fin.Value.ToString("yyyyMMdd") + "'"
                }
            }, 0, string.Empty, string.Empty);
            lLanctos.Where(p => p.D_c.Trim().ToUpper().Equals("D")).OrderBy(p => p.Data).ToList().ForEach(p =>
            {
                string regI200 = "|I200|";
                //Numero Lote
                regI200 += p.ID_LoteCTB.Value.ToString() + "|";
                //Data Lançamento
                regI200 += p.Data.Value.ToString("ddMMyyyy") + "|";
                //Valor Lançamento
                regI200 += p.Valor.ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Tipo Lançamento N-Normal E-Encerramento
                regI200 += p.Tp_integracao.Trim().ToUpper().Equals("ZR") ? "E|" : "N|";

                SpedContabil.AppendLine(regI200);
                Qtd_linhaI++;
                cont++;

                //Registro Filho I250
                GerarRegistroI250(lLanctos.FindAll(v => v.ID_LoteCTB == p.ID_LoteCTB), SpedContabil, tEspera);
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "I200", Qtd_linha = cont
                });
            }
        }
Ejemplo n.º 2
0
 private void Exportar()
 {
     if (cbEmpresa.SelectedValue == null)
     {
         MessageBox.Show("Obrigatório selecionar empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         cbEmpresa.Focus();
         return;
     }
     if (string.IsNullOrEmpty(dt_ini.Text.SoNumero()))
     {
         MessageBox.Show("Obrigatório informar data inicial.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         dt_ini.Focus();
         return;
     }
     if (string.IsNullOrEmpty(dt_fin.Text.SoNumero()))
     {
         MessageBox.Show("Obrigatório informar data final.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         dt_fin.Focus();
         return;
     }
     using (FolderBrowserDialog fbd = new FolderBrowserDialog())
     {
         if (fbd.ShowDialog() == DialogResult.OK)
         {
             CamadaDados.Contabil.TList_LanContabil lContabil = new CamadaDados.Contabil.TCD_LanctosCTB().SelectImportDominio(cbEmpresa.SelectedValue.ToString(),
                                                                                                                              DateTime.Parse(dt_ini.Text),
                                                                                                                              DateTime.Parse(dt_fin.Text));
             if (lContabil.Count > 0)
             {
                 StringBuilder str     = new StringBuilder();
                 string        linha   = "@DATA;@DEBITO;@CREDITO;@VALOR;@HISTORICO;";
                 decimal?      loteOld = lContabil[0].ID_LoteCTB;
                 lContabil.ForEach(p =>
                 {
                     if (loteOld != p.ID_LoteCTB)
                     {
                         loteOld = p.ID_LoteCTB;
                         str.AppendLine(linha);
                         linha = "@DATA;@DEBITO;@CREDITO;@VALOR;@HISTORICO;";
                     }
                     //Data
                     linha = linha.Replace("@DATA", p.Data.Value.ToString("dd/MM/yyyy"));
                     //Conta Debito
                     if (p.D_c.Trim().ToUpper().Equals("D"))
                     {
                         linha = linha.Replace("@DEBITO", p.Cd_conta_ctbstr);
                     }
                     //Conta Credito
                     if (p.D_c.Trim().ToUpper().Equals("C"))
                     {
                         linha = linha.Replace("@CREDITO", p.Cd_conta_ctbstr);
                     }
                     //Valor
                     linha = linha.Replace("@VALOR", p.Valor.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true)).SoNumero());
                     //Historico
                     linha = linha.Replace("@HISTORICO", p.Ds_compl_historico.Trim());
                 });
                 if (linha.Trim().ToUpper() != "@DATA;@DEBITO;@CREDITO;@VALOR;@HISTORICO;")
                 {
                     str.AppendLine(linha);
                 }
                 using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fbd.SelectedPath +
                                                                               System.IO.Path.DirectorySeparatorChar.ToString() +
                                                                               dt_ini.Text.SoNumero() + "_" + dt_fin.Text.SoNumero() + ".txt",
                                                                               false,
                                                                               System.Text.Encoding.Default))
                 {
                     sw.Write(str.ToString());
                     sw.Close();
                     MessageBox.Show("Arquivo gerado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
         else
         {
             MessageBox.Show("Obrigatório selecionar PATH para salvar arquivo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
 }