public static string Excluir(TRegistro_LoteRPS_X_NFES val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteRPS_X_NFES qtb_lote = new TCD_LoteRPS_X_NFES(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } qtb_lote.Excluir(val); if (st_transacao) { qtb_lote.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_lote.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }
public static void CorrigirNumeroNFSe(TRegistro_LoteRPS_X_NFES val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteRPS_X_NFES qtb_lote = new TCD_LoteRPS_X_NFES(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } if (val.Nr_notafiscal.HasValue && val.Nr_nfse.HasValue) { if (val.Nr_notafiscal.Value != val.Nr_nfse.Value) { //Verificar se existe NF-e utilizando numero nota CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lFat = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(val.Cd_empresa, val.Nr_nfse.Value.ToString(), val.Nr_serie, string.Empty, string.Empty, string.Empty, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, 1, string.Empty, qtb_lote.Banco_Dados); if (lFat.Count > 0) { if (lFat[0].St_registro.Trim().ToUpper().Equals("C")) { throw new Exception("Nº de NFS-e <" + val.Nr_nfse.Value.ToString() + "> já esta em uso no sistema."); } else if (new TCD_LoteRPS(qtb_lote.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.st_lote", vOperador = "=", vVL_Busca = "3" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FAT_LoteRPS_X_NFES x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_lote = a.id_lote " + "and x.cd_empresa = '" + lFat[0].Cd_empresa.Trim() + "' " + "and x.nr_lanctofiscal = " + lFat[0].Nr_lanctofiscalstr + ")" } }, "1") != null) { throw new Exception("Nº de NFS-e <" + val.Nr_nfse.Value.ToString() + "> já esta em uso no sistema."); } else { CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lFat[0], qtb_lote.Banco_Dados); } } //Buscar Nota Fiscal para alterar numero lFat = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(val.Cd_empresa, string.Empty, string.Empty, val.Nr_lanctofiscal.Value.ToString(), string.Empty, string.Empty, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, string.Empty, "A", string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, 1, string.Empty, qtb_lote.Banco_Dados); if (lFat.Count > 0) { lFat[0].Nr_notafiscal = val.Nr_nfse; CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.AlterarFaturamento(lFat[0], qtb_lote.Banco_Dados); //Buscar sequencia NFSe CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq = new CamadaDados.Faturamento.Cadastros.TCD_CadSequenciaNF(qtb_lote.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + lFat[0].Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.nr_serie", vOperador = "=", vVL_Busca = "'" + lFat[0].Nr_serie.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.cd_modelo", vOperador = "=", vVL_Busca = "'" + lFat[0].Cd_modelo.Trim() + "'" } }, 1, string.Empty); if (lSeq.Count > 0) { if (lSeq[0].Seq_NotaFiscal < val.Nr_nfse.Value) { lSeq[0].Seq_NotaFiscal = val.Nr_nfse.Value; CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], qtb_lote.Banco_Dados); } } //Se possuir duplicata alterar Nº Docto CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup = new CamadaDados.Financeiro.Duplicata.TCD_LanDuplicata(qtb_lote.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fat_notafiscal_x_duplicata x " + "where x.cd_empresa = a.cd_empresa " + "and x.Nr_LanctoDuplicata = a.nr_lancto " + "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "'" + "and x.nr_lanctofiscal = " + val.Nr_lanctofiscal + ") " } }, 1, string.Empty); if (lDup.Count > 0) { qtb_lote.executarSql("update TB_FIN_Duplicata set Nr_docto = '" + val.Nr_nfse.Value.ToString() + "' " + "where cd_empresa = '" + lDup[0].Cd_empresa.Trim() + "' " + "and nr_lancto = " + lDup[0].Nr_lancto.ToString(), null); } } } } if (st_transacao) { qtb_lote.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_lote.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro corrigir numero NFS-e: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }