コード例 #1
0
 public static void GerarArquivo(string Cd_empresa,
                                 DateTime Dt_ini,
                                 DateTime Dt_fin,
                                 Finalidades Finalidade,
                                 string Path,
                                 bool St_tipo10,
                                 bool St_tipo11,
                                 bool St_tipo50,
                                 bool St_tipo51,
                                 bool St_tipo53,
                                 bool St_tipo54,
                                 bool St_tipo60M,
                                 bool St_tipo60A,
                                 bool St_tipo60D,
                                 bool St_tipo60I,
                                 bool St_tipo60R,
                                 bool St_tipo70,
                                 bool St_tipo71,
                                 bool St_tipo74,
                                 bool St_tipo75,
                                 bool St_tipo90,
                                 Utils.ThreadEspera tEspera)
 {
     try
     {
         if (Path.Trim().Substring(Path.Trim().Length - 1, 1) != System.IO.Path.DirectorySeparatorChar.ToString())
         {
             Path = Path.Trim() + System.IO.Path.DirectorySeparatorChar.ToString();
         }
         using (System.IO.StreamWriter sw = new System.IO.StreamWriter(Path.Trim() + Cd_empresa.Trim() + Dt_ini.Month.ToString().PadLeft(2, '0') + Dt_ini.Year.ToString() + ".txt", false, System.Text.Encoding.Default))
         {
             sw.Write(GerarArquivo(Cd_empresa,
                                   Dt_ini,
                                   Dt_fin,
                                   Finalidade,
                                   St_tipo10,
                                   St_tipo11,
                                   St_tipo50,
                                   St_tipo51,
                                   St_tipo53,
                                   St_tipo54,
                                   St_tipo60M,
                                   St_tipo60A,
                                   St_tipo60D,
                                   St_tipo60I,
                                   St_tipo60R,
                                   St_tipo70,
                                   St_tipo71,
                                   St_tipo74,
                                   St_tipo75,
                                   St_tipo90,
                                   tEspera));
             sw.Close();
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Erro: " + ex.Message);
     }
 }
コード例 #2
0
 public void AtualizarRelatorio()
 {
     if (bsRelatorios.Count > 0)
     {
         Utils.ThreadEspera tEspera = new Utils.ThreadEspera("Inicio atualização relatorios.");
         try
         {
             (bsRelatorios.List as CamadaDados.Consulta.Cadastro.TList_Cad_Report).ForEach(p =>
             {
                 tEspera.Msg("Atualizando " + p.DS_Report.Trim() + "...");
                 try
                 {
                     FormRelPadrao.AtualizarRDC.VerificarVersaoRDC(p, true);
                 }
                 catch (Exception ex)
                 { tEspera.Msg(ex.Message.Trim()); }
             });
             System.Threading.Thread.Sleep(10000);
         }
         finally
         {
             tEspera.Fechar();
             tEspera = null;
             afterBusca();
         }
     }
     else
     {
         MessageBox.Show("Não existe relatorio para ser atualizado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
コード例 #3
0
        private void GerarArquivo()
        {
            //validar empresa
            if (CD_Empresa.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("Obrigatório informar empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                CD_Empresa.Focus();
                return;
            }
            //validar path
            if (path_arquivo.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("Obrigatório informar path para salvar o arquivo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                path_arquivo.Focus();
                return;
            }
            //Verificar se existe NFe sem enviar para receita no periodo
            if (new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento().BuscarEscalar(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + CD_Empresa.Text.Trim() + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "case when a.tp_movimento = 'E' then convert(datetime, floor(convert(decimal(30,10), a.dt_saient))) else convert(datetime, floor(convert(decimal(30,10), a.dt_emissao))) end",
                    vOperador = "between",
                    vVL_Busca = "'" + new DateTime(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()), 1).ToString("yyyyMMdd") + "' and '" + new DateTime(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()), DateTime.DaysInMonth(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()))).ToString("yyyyMMdd") + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.tp_nota",
                    vOperador = "=",
                    vVL_Busca = "'P'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "isnull(a.st_transmitido_nfe, 'N')",
                    vOperador = "<>",
                    vVL_Busca = "'S'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_modelo",
                    vOperador = "=",
                    vVL_Busca = "'55'"
                }
            }, "1") != null)
            {
                MessageBox.Show("Existe NFe não enviada para a receita no periodo.\r\n" +
                                "Obrigatorio excluir as mesmas e inutilizar os numeros para depois gerar o sintegra.",
                                "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento().BuscarEscalar(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + CD_Empresa.Text.Trim() + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "case when a.tp_movimento = 'E' then convert(datetime, floor(convert(decimal(30,10), a.dt_saient))) else convert(datetime, floor(convert(decimal(30,10), a.dt_emissao))) end",
                    vOperador = "between",
                    vVL_Busca = "'" + new DateTime(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()), 1).ToString("yyyyMMdd") + "' and '" + new DateTime(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()), DateTime.DaysInMonth(int.Parse(cbAno.Text), int.Parse(cbMes.SelectedValue.ToString()))).ToString("yyyyMMdd") + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.tp_nota",
                    vOperador = "=",
                    vVL_Busca = "'P'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "isnull(a.st_transmitido_nfe, 'N')",
                    vOperador = "=",
                    vVL_Busca = "'S'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_modelo",
                    vOperador = "=",
                    vVL_Busca = "'55'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = string.Empty,
                    vOperador = "exists",
                    vVL_Busca = "(select 1 from tb_fat_eventoNFe x " +
                                "inner join tb_fat_evento y " +
                                "on x.cd_evento = y.cd_evento " +
                                "where x.cd_empresa = a.cd_empresa " +
                                "and x.nr_lanctofiscal = a.nr_lanctofiscal " +
                                "and y.tp_evento = 'CA' " +
                                "and isnulL(x.st_registro, 'A') <> 'T')"
                }
            }, "1") != null)
            {
                MessageBox.Show("Existe NFe com evento de cancelamento não transmitido para a receita.\r\n" +
                                "Obrigatorio enviar o evento para a receita ou excluir o mesmo para depois gerar o sintegra.",
                                "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            try
            {
                Finalidades finalidade = Finalidades.NORMAL;
                if (cbFinalidade.Text.Trim().ToUpper().Equals("RETIFICAÇÃO TOTAL"))
                {
                    finalidade = Finalidades.RETIFICACAO_TOTAL;
                }
                else if (cbFinalidade.Text.Trim().ToUpper().Equals("RETIFICAÇÃO ADITIVA"))
                {
                    finalidade = Finalidades.RETIFICACAO_ADITIVA;
                }
                else if (cbFinalidade.Text.Trim().ToUpper().Equals("RETIFICAÇÃO CORRETIVA"))
                {
                    finalidade = Finalidades.RETIFICACAO_CORRETIVA;
                }
                else if (cbFinalidade.Text.Trim().ToUpper().Equals("DESFAZIMENTO"))
                {
                    finalidade = Finalidades.DESFAZIMENTO;
                }

                Utils.ThreadEspera tEspera = new Utils.ThreadEspera("Inicio processo gerar sintegra.");
                try
                {
                    CamadaNegocio.Fiscal.Sintegra.TCN_Sintegra.GerarArquivo(CD_Empresa.Text,
                                                                            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()))),
                                                                            finalidade,
                                                                            path_arquivo.Text,
                                                                            cbTipo10.Checked,
                                                                            cbTipo11.Checked,
                                                                            cbTipo50.Checked,
                                                                            cbTipo51.Checked,
                                                                            cbTipo53.Checked,
                                                                            cbTipo54.Checked,
                                                                            cbTipo60M.Checked,
                                                                            cbTipo60A.Checked,
                                                                            cbTipo60D.Checked,
                                                                            cbTipo60I.Checked,
                                                                            cbTipo60R.Checked,
                                                                            cbTipo70.Checked,
                                                                            cbTipo71.Checked,
                                                                            cbTipo74.Checked,
                                                                            cbTipo75.Checked,
                                                                            cbTipo90.Checked,
                                                                            tEspera);
                }
                finally
                {
                    tEspera.Fechar();
                    tEspera = null;
                }
                MessageBox.Show("Arquivo gerado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro gerar arquivo: " + ex.Message);
            }
        }
コード例 #4
0
 private void FaturarLote()
 {
     using (TFProcLoteContrato fProc = new TFProcLoteContrato())
     {
         if (fProc.ShowDialog() == DialogResult.OK)
         {
             if (fProc.lContratos != null)
             {
                 Utils.ThreadEspera tEspera = new Utils.ThreadEspera("Inicio processamento lote.");
                 string             ret     = string.Empty;
                 try
                 {
                     ret = CamadaNegocio.Servicos.TCN_Contrato.ProcessarLote(fProc.lContratos, fProc.Dt_referencia, tEspera, null);
                 }
                 finally
                 {
                     tEspera.Fechar();
                     tEspera = null;
                 }
                 MessageBox.Show("Lote processado com sucesso." + (string.IsNullOrEmpty(ret) ? string.Empty : "\r\nOs seguintes contratos não foram processados:\r\n" + ret.Trim()), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lLote = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento();
                 //Buscar CfgNfe para a empresa
                 CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                     CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(fProc.lContratos[0].Cd_empresa,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           null);
                 if (lCfgNfe.Count.Equals(0))
                 {
                     MessageBox.Show("Não existe configuração para envio de NFS-e para a empresa " + fProc.lContratos[0].Cd_empresa.Trim() + ".",
                                     "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
                 else
                 {
                     fProc.lContratos.ForEach(p =>
                     {
                         if (p.lNF.Count > 0)
                         {
                             if (p.lNF[0].Cd_modelo.Trim().Equals("55"))
                             {
                                 lLote.Add(CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(p.lNF[0].Cd_empresa, p.lNF[0].Nr_lanctofiscalstr, null));
                             }
                         }
                         if (lLote.Count.Equals(50))
                         {
                             NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                             MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             lLote.Clear();
                         }
                     });
                     if (lLote.Count > 0)
                     {
                         NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                         MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
                 //Imprimir boletos
                 CamadaDados.Financeiro.Bloqueto.blListaTitulo lBloq = new CamadaDados.Financeiro.Bloqueto.blListaTitulo();
                 fProc.lContratos.ForEach(p =>
                 {
                     if (p.lNF.Count > 0)
                     {
                         if (p.lNF[0].Duplicata.Count > 0)
                         {
                             CamadaNegocio.Financeiro.Bloqueto.TCN_Titulo.Buscar(p.lNF[0].Cd_empresa,
                                                                                 p.lNF[0].Duplicata[0].Nr_lancto,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 false,
                                                                                 0,
                                                                                 null).ForEach(v => lBloq.Add(v));
                         }
                     }
                 });
                 if (lBloq.Count > 0)
                 {
                     FormRelPadrao.TCN_LayoutBloqueto.Imprime_Bloqueto(false,
                                                                       lBloq,
                                                                       false,
                                                                       true,
                                                                       false,
                                                                       false,
                                                                       string.Empty,
                                                                       null,
                                                                       "BLOQUETO(S) CONTRATO SERVIÇO",
                                                                       string.Empty,
                                                                       false);
                 }
             }
         }
     }
 }
コード例 #5
0
        private static string GerarArquivo(string Cd_empresa,
                                           DateTime Dt_ini,
                                           DateTime Dt_fin,
                                           Finalidades Finalidade,
                                           bool St_tipo10,
                                           bool St_tipo11,
                                           bool St_tipo50,
                                           bool St_tipo51,
                                           bool St_tipo53,
                                           bool St_tipo54,
                                           bool St_tipo60M,
                                           bool St_tipo60A,
                                           bool St_tipo60D,
                                           bool St_tipo60I,
                                           bool St_tipo60R,
                                           bool St_tipo70,
                                           bool St_tipo71,
                                           bool St_tipo74,
                                           bool St_tipo75,
                                           bool St_tipo90,
                                           Utils.ThreadEspera tEspera)
        {
            Count50  = 0;
            Count51  = 0;
            Count53  = 0;
            Count54  = 0;
            Count60M = 0;
            Count60A = 0;
            Count60D = 0;
            Count60I = 0;
            Count60R = 0;
            Count70  = 0;
            Count71  = 0;
            Count74  = 0;
            Count75  = 0;
            string retorno = string.Empty;

            //Gerar arquivo 10_11
            if (St_tipo10 && St_tipo11)
            {
                tEspera.Msg("Gerando registro 10 e 11...");
                retorno += TCN_Tipo10_11.CriarRegistroTipo10_11(Cd_empresa, Dt_ini, Dt_fin, Finalidade);
            }

            //Gerar registro 50
            if (St_tipo50)
            {
                tEspera.Msg("Gerando registro 50...");
                string ret_50 = string.Empty;
                Count50  = TCN_Tipo50.CriarRegistroTipo50(Cd_empresa, Dt_ini, Dt_fin, ref ret_50);
                retorno += ret_50;
            }
            //Gerar registro 51
            if (St_tipo51)
            {
                tEspera.Msg("Gerando registro 51...");
                string ret_51 = string.Empty;
                Count51  = TCN_Tipo51.CriarRegistroTipo51(Cd_empresa, Dt_ini, Dt_fin, ref ret_51);
                retorno += ret_51;
            }
            //Gerar registro 53
            if (St_tipo53)
            {
                tEspera.Msg("Gerando registro 53...");
                string ret_53 = string.Empty;
                Count53  = TCN_Tipo53.CriarRegistroTipo53(Cd_empresa, Dt_ini, Dt_fin, ref ret_53);
                retorno += ret_53;
            }
            //Gerar registro 54
            if (St_tipo54)
            {
                tEspera.Msg("Gerando registro 54...");
                string ret_54 = string.Empty;
                Count54  = TCN_Tipo54.CriarRegistroTipo54(Cd_empresa, Dt_ini, Dt_fin, ref ret_54);
                retorno += ret_54;
            }
            //Gerar registro 60M
            if (St_tipo60M)
            {
                tEspera.Msg("Gerando registro 60(M,A,D,I)...");
                string ret_60M = string.Empty;
                Count60M = TCN_Tipo60M.CriarRegistroTipo60M(Cd_empresa, Dt_ini, Dt_fin, St_tipo60D, St_tipo60I, ref ret_60M);
                retorno += ret_60M;
            }
            //Gerar registro 60R
            if (St_tipo60R)
            {
                tEspera.Msg("Gerando registro 60R...");
                string ret_60R = string.Empty;
                Count60R = TCN_Tipo60R.CriarRegistroTipo60R(Cd_empresa, Dt_ini, Dt_fin, ref ret_60R);
                retorno += ret_60R;
            }
            //Gerar registro 70
            if (St_tipo70)
            {
                tEspera.Msg("Gerando registro 70...");
                string ret_70 = string.Empty;
                Count70  = TCN_Tipo70.CriarRegistroTipo70(Cd_empresa, Dt_ini, Dt_fin, ref ret_70);
                retorno += ret_70;
            }
            //Gerar registro 71
            if (St_tipo71)
            {
                tEspera.Msg("Gerando registro 71...");
                string ret_71 = string.Empty;
                Count71  = TCN_Tipo71.CriarRegistroTipo71(Cd_empresa, Dt_ini, Dt_fin, ref ret_71);
                retorno += ret_71;
            }
            //Gerar registro 74
            if (St_tipo74)
            {
                tEspera.Msg("Gerando registro 74...");
                string ret_74 = string.Empty;
                Count74  = TCN_Tipo74.CriarRegistroTipo74(Cd_empresa, Dt_fin, ref ret_74);
                retorno += ret_74;
            }
            //Gerar registro 75
            if (St_tipo75)
            {
                tEspera.Msg("Gerando registro 75...");
                string   ret_75        = string.Empty;
                DateTime?dt_inventario = null;
                if (St_tipo74)
                {
                    dt_inventario = Dt_fin;
                }
                Count75  = TCN_Tipo75.CriarRegistroTipo75(Cd_empresa, Dt_ini, Dt_fin, dt_inventario, ref ret_75);
                retorno += ret_75;
            }
            //Gerar registro 90
            if (St_tipo90)
            {
                tEspera.Msg("Gerando registro 90...");
                retorno += TCN_Tipo90.MontarRegistro90(Cd_empresa,
                                                       Count50,
                                                       Count51,
                                                       Count53,
                                                       Count54,
                                                       Count60M,
                                                       Count60A,
                                                       Count60D,
                                                       Count60I,
                                                       Count60R,
                                                       Count70,
                                                       Count71,
                                                       Count74,
                                                       Count75);
            }
            return(retorno);
        }