Exemple #1
0
        //Plano Contas Referencial
        private static void GerarRegistroI051(TRegistro_Empresa rEmpresa,
                                              CamadaDados.Contabil.TRegistro_BalancoSintetico rConta,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I051...");
            }
            string regI051 = "|I051|";

            //Instituição Responsavel Plano Referencial
            regI051 += rEmpresa.Tp_InstPlanoRef.Trim() + "|";
            //Centro Custo
            regI051 += "|";
            //Codigo Conta Referencial
            regI051 += rConta.Cd_referencia.Trim() + "|";

            SpedContabil.AppendLine(regI051);
            Qtd_linhaI++;

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "I051", Qtd_linha = 1
            });
        }
Exemple #2
0
 private static void GerarBloco9(StringBuilder SpedContabil, ThreadEspera tEspera)
 {
     GerarRegistro9001(SpedContabil, tEspera);
     GerarRegistro9900(SpedContabil, tEspera);
     GerarRegistro9990(SpedContabil, tEspera);
     GerarRegistro9999(SpedContabil, tEspera);
 }
Exemple #3
0
        //Abertura Arquivo Digital
        private static void GerarRegistro0000(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro 0000...");
            }
            Qtd_linha = decimal.Zero;
            //Texto Fixo
            string reg0000 = "|0000|";

            //Texto Fixo
            reg0000 += "LECD|";
            //Data Inicial
            reg0000 += Dt_ini.Value.ToString("dd/MM/yyyy").SoNumero() + "|";
            //Data Final
            reg0000 += Dt_fin.Value.ToString("dd/MM/yyyy").SoNumero() + "|";
            //Nome Empresa
            reg0000 += rEmpresa.Nm_empresa.Trim() + "|";
            //CNPJ Empresa
            reg0000 += rEmpresa.Cnpj.SoNumero() + "|";
            //UF Empresa
            reg0000 += rEmpresa.Uf.Trim() + "|";
            //Insc. Estadual Empresa
            reg0000 += rEmpresa.Insc_estadual.Trim() + "|";
            //Cidade Empresa
            reg0000 += rEmpresa.Cd_cidade.Trim() + "|";
            //Inscrição Municipal Empresa
            reg0000 += rEmpresa.Insc_municipal.Trim() + "|";
            //Situação Especial
            reg0000 += "|";
            //Situação Arquivo
            reg0000 += "0|";
            //Inscrição Junta Comercial
            reg0000 += string.IsNullOrEmpty(rEmpresa.Cd_registrojunta) ? "0|" : "1|";
            //Finalidade Escrituração
            reg0000 += "0|";//Original
            //Hash Escrituração Substituida
            reg0000 += "|";
            //Nire Escrituração Substituida
            reg0000 += "|";
            //Auditoria Independente
            reg0000 += "0|";
            //Tipo ECD
            reg0000 += "0|";
            //Identificação SCP
            reg0000 += "|";
            //Identificação Moeda Funcional
            reg0000 += "N|";

            SpedContabil.AppendLine(reg0000);
            Qtd_linha++;
            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "0000", Qtd_linha = 1
            });
        }
Exemple #4
0
        //Demonstrações Contabeis
        private static void GerarRegistroJ005(List <CamadaDados.Contabil.TRegistro_BalancoSintetico> balanco,
                                              TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              decimal Id_dre,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro J005...");
            }
            string regJ005 = "|J005|";

            //Data Inicial
            regJ005 += Dt_ini.Value.ToString("ddMMyyyy") + "|";
            //Data Final
            regJ005 += Dt_fin.Value.ToString("ddMMyyyy") + "|";
            //Identificação Demonstração
            regJ005 += "1|";
            //Cabeçalho
            regJ005 += "|";

            SpedContabil.AppendLine(regJ005);
            Qtd_linhaJ++;
            GerarRegistroJ100(balanco, SpedContabil, tEspera);
            GerarRegistroJ150(rEmpresa, Id_dre, Dt_ini, Dt_fin, SpedContabil, tEspera);
            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "J005", Qtd_linha = 1
            });
        }
Exemple #5
0
        //Codigos Aglutinação
        private static void GerarRegistroI052(CamadaDados.Contabil.TRegistro_BalancoSintetico rConta,
                                              decimal?Id_dre,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I052...");
            }
            decimal cont    = 1;
            string  regI052 = "|I052|";

            //Centro Custo
            regI052 += "|";
            //Codigo Aglutinação
            regI052 += rConta.Cd_contaCTBstr.Trim() + "|";

            SpedContabil.AppendLine(regI052);
            Qtd_linhaI++;

            //Verificar se conta esta amarrada a DRE
            object obj = new CamadaDados.Contabil.Cadastro.TCD_CTB_param_x_contaCTB().BuscarEscalar(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.id_dre",
                    vOperador = "=",
                    vVL_Busca = Id_dre.Value.ToString()
                },
                new TpBusca()
                {
                    vNM_Campo = "a.CD_Conta_CTB",
                    vOperador = "=",
                    vVL_Busca = rConta.Cd_contaCTBstr
                }
            }, "c.classificacao");

            if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
            {
                regI052 = "|I052|";
                //Centro Custo
                regI052 += "|";
                //Codigo Aglutinação
                regI052 += obj.ToString() + "|";

                SpedContabil.AppendLine(regI052);
                Qtd_linhaI++;
                cont++;
            }

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "I052", Qtd_linha = cont
            });
        }
Exemple #6
0
 private static void GerarBloco0(TRegistro_Empresa rEmpresa,
                                 DateTime?Dt_ini,
                                 DateTime?Dt_fin,
                                 StringBuilder SpedContabil,
                                 ThreadEspera tEspera)
 {
     GerarRegistro0000(rEmpresa, Dt_ini, Dt_fin, SpedContabil, tEspera);
     GerarRegistro0001(SpedContabil, tEspera);
     GerarRegistro0007(SpedContabil, tEspera);
     GerarRegistro0990(SpedContabil, tEspera);
 }
Exemple #7
0
        //Encerramento Arquivo Digital
        private static void GerarRegistro9999(StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro 9999...");
            }
            string reg9999 = "|9999|";

            reg9999 += (Qtd_linha + Qtd_linhaI + Qtd_linhaJ + Qtd_linha9).ToString() + "|";
            SpedContabil.AppendLine(reg9999);
        }
Exemple #8
0
        //Plano de Contas
        private static void GerarRegistroI050(TRegistro_Empresa rEmpresa,
                                              List <CamadaDados.Contabil.TRegistro_BalancoSintetico> lContas,
                                              decimal?Id_dre,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I050...");
            }
            decimal cont = decimal.Zero;

            lContas.ForEach(p =>
            {
                string regI050 = "|I050|";
                //Data Inclusão/Alteração
                regI050 += p.Dt_altconta.Value.ToString("ddMMyyyy") + "|";
                //Código da Natureza
                regI050 += p.Tp_contasped.Trim() + "|";
                //Tipo Conta Sintetica/Analitica
                regI050 += p.Tp_conta.Trim() + "|";
                //Nivel Conta
                regI050 += p.Nivelconta.ToString() + "|";
                //Código Conta
                regI050 += p.Cd_contaCTBstr + "|";
                //Código Conta Pai
                regI050 += (p.Cd_contaCTBPai.HasValue ? p.Cd_contaCTBPai.ToString() : string.Empty) + "|";
                //Nome da Conta
                regI050 += p.Ds_contactb.Trim() + "|";

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


                if (p.Tp_conta.Trim().ToUpper().Equals("A"))
                {
                    //Registro Plano Referencial
                    if (!string.IsNullOrEmpty(p.Cd_referencia))
                    {
                        GerarRegistroI051(rEmpresa, p, SpedContabil, tEspera);
                    }
                    //Registro Codigos Aglutinação
                    GerarRegistroI052(p, Id_dre, SpedContabil, tEspera);
                }
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "I050", Qtd_linha = cont
                });
            }
        }
Exemple #9
0
        //Detalhe dos saldos periodicos
        private static void GerarRegistroI155(TRegistro_Empresa rEmpresa,
                                              DateTime Dt_ini,
                                              DateTime Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I155...");
            }
            decimal cont = decimal.Zero;

            new CamadaDados.Contabil.TCD_LanctosCTB().SelectBalancoSintetico(rEmpresa.Cd_empresa,
                                                                             string.Empty,
                                                                             string.Empty,
                                                                             Dt_ini,
                                                                             Dt_fin,
                                                                             true,
                                                                             false)
            .Where(p => p.Tp_conta.Trim().ToUpper().Equals("A"))
            .ToList()
            .ForEach(p =>
            {
                string regI155 = "|I155|";
                //Codigo da Conta
                regI155 += p.Cd_contaCTBstr + "|";
                //Centro Custo
                regI155 += "|";
                //Saldo Inicial Periodo
                regI155 += Math.Abs(p.Vl_saldoant).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador Saldo Inicial
                regI155 += (p.Vl_saldoant >= decimal.Zero ? p.Natureza.Trim() : p.Natureza.Trim().Equals("D") ? "C" : "D") + "|";
                //Valor dos debitos
                regI155 += p.Vl_debito.ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Valor dos creditos
                regI155 += p.Vl_credito.ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Saldo Final
                regI155 += Math.Abs(p.Vl_atual).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador Saldo Final
                regI155 += (p.Vl_atual >= decimal.Zero ? p.Natureza.Trim() : p.Natureza.Trim().Equals("D") ? "C" : "D") + "|";

                SpedContabil.AppendLine(regI155);
                Qtd_linhaI++;
                cont++;
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "I155", Qtd_linha = cont
                });
            }
        }
Exemple #10
0
        public static string FecharCartao(TRegistro_Cartao val,
                                          CamadaDados.Faturamento.PDV.TRegistro_VendaRapida rVenda,
                                          ThreadEspera tEspera,
                                          BancoDados.TObjetoBanco banco)
        {
            bool       st_transacao = false;
            TCD_Cartao qtb_orc      = new TCD_Cartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                //Gravar Venda
                Faturamento.PDV.TCN_VendaRapida.GravarVendaRapida(rVenda,
                                                                  null,
                                                                  null,
                                                                  qtb_orc.Banco_Dados);
                //Fechar Cartão
                val.St_registro   = "F";
                val.Dt_fechamento = CamadaDados.UtilData.Data_Servidor(qtb_orc.Banco_Dados);
                Gravar(val, qtb_orc.Banco_Dados);
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.id_cartao.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar CARTAO: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
Exemple #11
0
        private void GerarArquivo()
        {
            if (cbEmpresa.SelectedItem == null)
            {
                MessageBox.Show("Obrigatorio informar empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cbEmpresa.Focus();
                return;
            }
            if (string.IsNullOrEmpty(path_sped.Text))
            {
                MessageBox.Show("Obrigatorio informar path para salvar arquivo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                path_sped.Focus();
                return;
            }
            ThreadEspera tEspera = new ThreadEspera("Iniciando procedimento gerar SPED FISCAL...");

            try
            {
                if (!System.IO.Directory.Exists(path_sped.Text))
                {
                    System.IO.Directory.CreateDirectory(path_sped.Text);
                }
                string arq = CamadaNegocio.Fiscal.SPED_FISCAL.TCN_SpedFiscal.ProcessarSpedFiscal(cbEmpresa.SelectedValue.ToString(),
                                                                                                 new DateTime(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()), 1),
                                                                                                 new DateTime(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()), DateTime.DaysInMonth(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString())), 23, 59, 59),
                                                                                                 rb_Original.Checked ? "O" : rb_Substituto.Checked ? "S" : string.Empty,
                                                                                                 tEspera);
                using (System.IO.StreamWriter sw = new System.IO.StreamWriter(path_sped.Text + "\\efd" +
                                                                              cbEmpresa.SelectedValue.ToString().Trim() +
                                                                              cbMes.SelectedValue.ToString() +
                                                                              cbAno.Text + ".txt",
                                                                              false,
                                                                              System.Text.Encoding.Default))
                {
                    sw.Write(arq + "\r\n");
                    sw.Close();
                    MessageBox.Show("Arquivo Sped Fiscal gerado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            catch (Exception ex)
            { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
            finally
            {
                tEspera.Fechar();
                tEspera = null;
            }
        }
Exemple #12
0
 public static void GerarBlocoJ(TRegistro_Empresa rEmpresa,
                                List <CamadaDados.Contabil.TRegistro_BalancoSintetico> balanco,
                                DateTime?Dt_ini,
                                DateTime?Dt_fin,
                                decimal Id_dre,
                                StringBuilder SpedContabil,
                                ThreadEspera tEspera)
 {
     GerarRegistroJ001(SpedContabil, balanco.Count > 0, tEspera);
     if (balanco.Count > 0)
     {
         GerarRegistroJ005(balanco, rEmpresa, Dt_ini, Dt_fin, Id_dre, SpedContabil, tEspera);
         GerarRegistroJ900(rEmpresa, Dt_ini, Dt_fin, SpedContabil, tEspera);
     }
     GerarRegistroJ990(SpedContabil, tEspera);
 }
Exemple #13
0
        //Encerramento Bloco I
        private static void GerarRegistroI990(StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I990...");
            }
            string regI990 = "|I990|";

            //Qtde Linhas Bloco I
            regI990 += (++Qtd_linhaI).ToString() + "|";
            SpedContabil.AppendLine(regI990);
            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "I990", Qtd_linha = 1
            });
        }
Exemple #14
0
        //Encerramento Bloco 0
        private static void GerarRegistro0990(StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro 0990...");
            }
            string reg0990 = "|0990|";

            Qtd_linha++;
            reg0990 += Qtd_linha.ToString() + "|";

            SpedContabil.AppendLine(reg0990);
            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "0990", Qtd_linha = 1
            });
        }
Exemple #15
0
        //Abertura Bloco 0
        private static void GerarRegistro0001(StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro 0001...");
            }
            string reg0001 = "|0001|";

            reg0001 += "0|";

            SpedContabil.AppendLine(reg0001);
            Qtd_linha++;

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "0001", Qtd_linha = 1
            });
        }
Exemple #16
0
        //DRE
        private static void GerarRegistroJ150(TRegistro_Empresa rEmpresa,
                                              decimal Id_dre,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro J150...");
            }
            decimal cont = decimal.Zero;

            TCN_LanContabil.GerarDRE(rEmpresa.Cd_empresa, Id_dre.ToString(), Dt_fin.Value.Year).ForEach(p =>
            {
                string regJ150 = "|J150|";
                //Codigo Aglutinação
                regJ150 += (p.Cd_conta_ctb.HasValue ? p.Cd_conta_ctb.Value.ToString() : p.Classificacao.Trim()) + "|";
                //Nivel Aglutinação
                regJ150 += p.Nivel.ToString() + "|";
                //Descrição Aglutinação
                regJ150 += (!string.IsNullOrEmpty(p.Ds_contactb) ? p.Ds_contactb.Trim() : p.Ds_param.Trim()) + "|";
                //Valor Conta
                regJ150 += Math.Abs(p.Tp_conta.Trim().ToUpper().Equals("A") ? p.Sd_atual : p.Tot_atual).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador do Valor
                regJ150 += (p.Tp_conta.Trim().ToUpper().Equals("R") ? (p.Tp_conta.Trim().ToUpper().Equals("A") ? p.Sd_atual : p.Tot_atual) >= decimal.Zero ? "P" : "N" : p.Operador.Trim().ToUpper().Equals("S") ? "R" : "D") + "|";
                //Saldo Anterior
                regJ150 += Math.Abs(p.Tp_conta.Trim().ToUpper().Equals("A") ? p.Sd_ant : p.Tot_ant).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador do Valor
                regJ150 += (p.Tp_conta.Trim().ToUpper().Equals("R") ? (p.Tp_conta.Trim().ToUpper().Equals("A") ? p.Sd_ant : p.Tot_ant) >= decimal.Zero ? "P" : "N" : p.Operador.Trim().ToUpper().Equals("S") ? "R" : "D") + "|";

                SpedContabil.AppendLine(regJ150);
                Qtd_linhaJ++;
                cont++;
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "J150", Qtd_linha = cont
                });
            }
        }
Exemple #17
0
        //Abertura Bloco J
        private static void GerarRegistroJ001(StringBuilder SpedContabil,
                                              bool St_movimento,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro J001...");
            }
            string regJ001 = "|J001|";

            regJ001 += St_movimento ? "0|" : "1|";

            SpedContabil.AppendLine(regJ001);
            Qtd_linhaJ++;
            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "J001", Qtd_linha = 1
            });
        }
Exemple #18
0
        //Balanço Patrimonial
        private static void GerarRegistroJ100(List <CamadaDados.Contabil.TRegistro_BalancoSintetico> balanco,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro J100...");
            }
            decimal cont = decimal.Zero;

            balanco.Where(p => p.Classificacao.StartsWith("1") || p.Classificacao.StartsWith("2")).ToList().ForEach(p =>
            {
                string regJ100 = "|J100|";
                //Codigo Conta
                regJ100 += p.Cd_contaCTBstr + "|";
                //Nivel
                regJ100 += p.Nivelconta.ToString() + "|";
                //Indicador de grupo balanço
                regJ100 += p.Classificacao.Substring(0, 1) + "|";
                //Descrição Conta
                regJ100 += p.Ds_contactb.Trim() + "|";
                //Valor Conta
                regJ100 += Math.Abs(p.Vl_atual).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador situação saldo
                regJ100 += (p.Vl_atual >= decimal.Zero ? p.Natureza.Trim() : p.Natureza.Trim().Equals("D") ? "C" : "D") + "|";
                //Valor Inicial
                regJ100 += Math.Abs(p.Vl_saldoant).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador situação saldo
                regJ100 += (p.Vl_saldoant >= decimal.Zero ? p.Natureza.Trim() : p.Natureza.Trim().Equals("D") ? "C" : "D") + "|";

                SpedContabil.AppendLine(regJ100);
                Qtd_linhaJ++;
                cont++;
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "J100", Qtd_linha = cont
                });
            }
        }
Exemple #19
0
        //Partidas do Lançamento
        private static void GerarRegistroI250(List <CamadaDados.Contabil.TRegistro_LanctosCTB> val,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I250...");
            }
            decimal cont = decimal.Zero;

            val.ForEach(p =>
            {
                string regI250 = "|I250|";
                //Codigo da Conta
                regI250 += p.Cd_conta_ctbstr + "|";
                //Centro Custo
                regI250 += "|";
                //Valor Lançamento
                regI250 += p.Valor.ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Natureza
                regI250 += p.D_c.Trim() + "|";
                //Numero Documento arquivado
                regI250 += "|";
                //Codigo Historico
                regI250 += "|";
                //Historico
                regI250 += (string.IsNullOrEmpty(p.Ds_compl_historico) ? p.Ds_contactb.Trim() : p.Ds_compl_historico.Trim()) + "|";
                //Codigo Participante
                regI250 += "|";

                SpedContabil.AppendLine(regI250);
                Qtd_linhaI++;
                cont++;
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "I250", Qtd_linha = cont
                });
            }
        }
Exemple #20
0
 private static void GerarBlocoI(TRegistro_Empresa rEmpresa,
                                 List <CamadaDados.Contabil.TRegistro_BalancoSintetico> balanco,
                                 DateTime?Dt_ini,
                                 DateTime?Dt_fin,
                                 decimal?Id_dre,
                                 StringBuilder SpedContabil,
                                 ThreadEspera tEspera)
 {
     GerarRegistroI001(SpedContabil, balanco.Count > 0, tEspera);
     if (balanco.Count > 0)
     {
         GerarRegistroI010(rEmpresa, SpedContabil, tEspera);
         GerarRegistroI030(rEmpresa, Dt_fin, SpedContabil, tEspera);
         GerarRegistroI050(rEmpresa, balanco, Id_dre, SpedContabil, tEspera);
         GerarRegistroI150(rEmpresa, Dt_ini, Dt_fin, SpedContabil, tEspera);
         GerarRegistroI200(rEmpresa, Dt_ini, Dt_fin, SpedContabil, tEspera);
         GerarRegistroI350(rEmpresa, Dt_ini, Dt_fin, SpedContabil, tEspera);
     }
     GerarRegistroI990(SpedContabil, tEspera);
 }
Exemple #21
0
        //Termo de Abertura Livro
        private static void GerarRegistroI030(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I030...");
            }
            string regI030 = "|I030|";

            regI030 += "TERMO DE ABERTURA|";
            //Numero Livro
            regI030 += "{@NR_SPED}|";
            //Natureza Livro
            regI030 += "DIÁRIO GERAL|";
            //Quantidade Linhas Arquivo
            regI030 += "{@QTD_LINHAS}|";
            //Nome Empresa
            regI030 += rEmpresa.Nm_empresa.Trim() + "|";
            //Registro Junta Comercial
            regI030 += rEmpresa.Cd_registrojunta.Trim() + "|";
            //CNPJ
            regI030 += rEmpresa.Cnpj.SoNumero() + "|";
            //Data Abertura
            regI030 += (rEmpresa.Dt_abertura.HasValue ? rEmpresa.Dt_abertura.Value.ToString("dd/MM/yyyy").SoNumero() : string.Empty) + "|";
            //Data Arquivamento
            regI030 += "|";
            //Municipio
            regI030 += rEmpresa.Ds_cidade.Trim() + "|";
            //Data Encerramento Exercicio
            regI030 += Dt_fin.Value.ToString("dd/MM/yyyy").SoNumero() + "|";

            SpedContabil.AppendLine(regI030);
            Qtd_linhaI++;

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "I030", Qtd_linha = 1
            });
        }
Exemple #22
0
        //Outras Inscrições Cadastrais da Pessoa Juridica
        private static void GerarRegistro0007(StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro 0007...");
            }
            string reg0007 = "|0007|";

            //Codigo instituição responsavel
            reg0007 += "00|";//Nenhuma inscrição em outras entidades
            //Codigo cadastral
            reg0007 += "|";

            SpedContabil.AppendLine(reg0007);
            Qtd_linha++;

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "0007", Qtd_linha = 1
            });
        }
Exemple #23
0
        //Identificação Periodo
        private static void GerarRegistroI150(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I150...");
            }
            decimal cont        = decimal.Zero;
            int     mescorrente = Dt_ini.Value.Month;

            do
            {
                string regI150 = "|I150|";
                //Data Inicio
                regI150 += new DateTime(Dt_ini.Value.Year, mescorrente, 1).ToString("dd/MM/yyyy").SoNumero() + "|";
                //Data Final
                regI150 += new DateTime(Dt_ini.Value.Year, mescorrente, DateTime.DaysInMonth(Dt_ini.Value.Year, mescorrente)).ToString("dd/MM/yyyy").SoNumero() + "|";

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

                //Gerar Registro I155
                GerarRegistroI155(rEmpresa,
                                  new DateTime(Dt_ini.Value.Year, mescorrente, 1),
                                  new DateTime(Dt_ini.Value.Year, mescorrente, DateTime.DaysInMonth(Dt_ini.Value.Year, mescorrente)),
                                  SpedContabil,
                                  tEspera);
            }while(++mescorrente <= Dt_fin.Value.Month);
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "I150", Qtd_linha = cont
                });
            }
        }
Exemple #24
0
        //Registros do Arquivo
        private static void GerarRegistro9900(StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro 9900...");
            }
            decimal cont    = decimal.Zero;
            string  reg9900 = string.Empty;

            RegArq.ForEach(p =>
            {
                reg9900 = "|9900|";
                //Registro totalizado
                reg9900 += p.Registro.Trim() + "|";
                //Quantidade registro
                reg9900 += p.Qtd_linha.ToString("N0").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";

                SpedContabil.AppendLine(reg9900);
                Qtd_linha9++;
                cont++;
            });
            Qtd_linha9 += 3;
            cont       += 3;
            //Totalizar registro 9900
            reg9900  = "|9900|";
            reg9900 += "9900|";
            reg9900 += cont.ToString("N0").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
            SpedContabil.AppendLine(reg9900);
            //Totalizar Registro 9990
            reg9900  = "|9900|";
            reg9900 += "9990|";
            reg9900 += "1|";
            SpedContabil.AppendLine(reg9900);
            //Totalizar Registro 9999
            reg9900  = "|9900|";
            reg9900 += "9999|";
            reg9900 += "1|";
            SpedContabil.AppendLine(reg9900);
        }
Exemple #25
0
        //Detalhe Saldo das Contas de Resultado
        private static void GerarRegistroI355(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I355...");
            }
            decimal cont = decimal.Zero;

            new TCD_I355().Select(rEmpresa.Cd_empresa,
                                  Dt_ini.Value,
                                  Dt_fin.Value).FindAll(p => !p.Vl_saldo.Equals(decimal.Zero)).ForEach(p =>
            {
                string regI355 = "|I355|";
                //Codigo Conta
                regI355 += p.Cd_contaCTB.Value.ToString() + "|";
                //Centro Custo
                regI355 += "|";
                //Saldo Conta
                regI355 += Math.Abs(p.Vl_saldo).ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|";
                //Indicador Saldo Inicial
                regI355 += (p.Vl_saldo >= decimal.Zero ? p.Natureza.Trim() : p.Natureza.Trim().Equals("D") ? "C" : "D") + "|";

                SpedContabil.AppendLine(regI355);
                Qtd_linhaI++;
                cont++;
            });
            if (cont > decimal.Zero)
            {
                RegArq.Adiciona(new TRegistro_RegArquivo()
                {
                    Registro = "I355", Qtd_linha = cont
                });
            }
        }
Exemple #26
0
        //Termo Encerramento
        private static void GerarRegistroJ900(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro J900...");
            }
            string regJ900 = "|J900|";

            //Texto Fixo
            regJ900 += "TERMO DE ENCERRAMENTO|";
            //Numero Arquivo
            regJ900 += "{@NR_SPED}|";
            //Natureza Livro
            regJ900 += "DIÁRIO GERAL|";
            //Nome Empresa
            regJ900 += rEmpresa.Nm_empresa.Trim() + "|";
            //Total Linhas Arquivo
            regJ900 += "{@QTD_LINHAS}|";
            //Data Inicial
            regJ900 += Dt_ini.Value.ToString("ddMMyyyy") + "|";
            //Data Final
            regJ900 += Dt_fin.Value.ToString("ddMMyyyy") + "|";

            SpedContabil.AppendLine(regJ900);
            Qtd_linhaJ++;

            GerarRegistroJ930(rEmpresa, SpedContabil, tEspera);

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "J900", Qtd_linha = 1
            });
        }
Exemple #27
0
        //Saldo Contas de Resultado
        private static void GerarRegistroI350(TRegistro_Empresa rEmpresa,
                                              DateTime?Dt_ini,
                                              DateTime?Dt_fin,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I350...");
            }
            string regI350 = "|I350|";

            //Data Apuração
            regI350 += Dt_fin.Value.ToString("ddMMyyyy") + "|";

            SpedContabil.AppendLine(regI350);
            Qtd_linhaI++;
            GerarRegistroI355(rEmpresa, Dt_ini, Dt_fin, SpedContabil, tEspera);

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "I350", Qtd_linha = 1
            });
        }
Exemple #28
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
                });
            }
        }
Exemple #29
0
        //Signatarios da escrituração
        private static void GerarRegistroJ930(TRegistro_Empresa rEmpresa,
                                              StringBuilder SpedContabil,
                                              ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro J930...");
            }
            decimal qtd_J930 = decimal.Zero;

            #region Contador
            string regJ930 = "|J930|";
            //Nome Signatario
            regJ930 += rEmpresa.NM_contador.RemoverCaracteres() + "|";
            //CPF Contador
            regJ930 += rEmpresa.Cpf_contador.SoNumero() + "|";
            //Qualificação
            regJ930 += "CONTADOR|";
            //Codigo qualificação
            regJ930 += "900|";
            //CRC Contador
            regJ930 += rEmpresa.Nr_CRC.Trim() + "|";
            //Email Contador
            regJ930 += rEmpresa.Email_contador.Trim() + "|";
            //Fone Contador
            regJ930 += rEmpresa.Fone_contador.Trim() + "|";
            //UF CRC Contador
            regJ930 += rEmpresa.UF_CRC.Trim() + "|";
            //Sequencial CRC Contador
            regJ930 += rEmpresa.SequencialCRC.Trim() + "|";
            //Validade CRC
            regJ930 += (rEmpresa.Dt_validadeCRC.HasValue ? rEmpresa.Dt_validadeCRC.Value.ToString("ddMMyyyy") : string.Empty) + "|";
            //Administrador
            regJ930 += "N|";
            SpedContabil.AppendLine(regJ930);
            Qtd_linhaJ++;
            qtd_J930++;
            #endregion
            #region Administrador
            CamadaDados.Diversos.TList_SociosEmpresa lSocio =
                new CamadaDados.Diversos.TCD_SociosEmpresa().Select(
                    new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + rEmpresa.Cd_empresa.Trim() + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "isnull(a.st_responsavel, 'N')",
                    vOperador = "=",
                    vVL_Busca = "'S'"
                }
            }, 1, string.Empty);
            if (lSocio.Count > 0)
            {
                regJ930 = "|J930|";
                //Nome Signatario
                regJ930 += lSocio[0].Nm_clifor.RemoverCaracteres() + "|";
                //CPF Contador
                regJ930 += lSocio[0].Cpf_clifor.SoNumero() + "|";
                //Qualificação
                regJ930 += "ADMINISTRADOR|";
                //Codigo qualificação
                regJ930 += "205|";
                //CRC Contador
                regJ930 += "|";
                //Email Contador
                regJ930 += "|";
                //Fone Contador
                regJ930 += "|";
                //UF CRC Contador
                regJ930 += "|";
                //Sequencial CRC Contador
                regJ930 += "|";
                //Validade CRC
                regJ930 += "|";
                //Administrador
                regJ930 += "S|";
                SpedContabil.AppendLine(regJ930);
                Qtd_linhaJ++;
                qtd_J930++;
            }
            #endregion
            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "J930", Qtd_linha = qtd_J930
            });
        }
Exemple #30
0
        //Identificação da Escrituração Contabil
        private static void GerarRegistroI010(TRegistro_Empresa rEmpresa, StringBuilder SpedContabil, ThreadEspera tEspera)
        {
            if (tEspera != null)
            {
                tEspera.Msg("Gerando registro I010...");
            }
            string regI010 = "|I010|";

            //Forma Escrituração
            regI010 += rEmpresa.Tp_spedcontabil.Trim() + "|";
            //Versão Layout
            regI010 += rEmpresa.Layoutspedcontabil.Trim() + "|";

            SpedContabil.AppendLine(regI010);
            Qtd_linhaI++;

            RegArq.Adiciona(new TRegistro_RegArquivo()
            {
                Registro = "I010", Qtd_linha = 1
            });
        }