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); } }
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); } }
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); } }
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); } } } } }
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); }