public static void EnviarLoteCH(TRegistro_LoteCH val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteCH qtb_lote = new TCD_LoteCH(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } val.lCheques.ForEach(p => { //Realizar a transferencia dos cheques entre contas p.Cd_contager_destino = val.Cd_contager; p.Dt_compensacao = val.Dt_enviolote; //Setar status do cheque para enviado p.Status_compensado = "E"; //Enviado TCN_LanTitulo.TransferirTitulo(p, qtb_lote.Banco_Dados); TCN_LanTitulo.GravarTitulo(p, qtb_lote.Banco_Dados); }); //Gravar lote cheque val.St_registro = "E"; //Enviado val.Cd_contager = string.Empty; GravarLoteCH(val, qtb_lote.Banco_Dados); 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 enviar lote: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }
public static string GravarDevolucaoCheque(TRegistro_DevolucaoCheque val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_DevolucaoCheque qtb_dev = new TCD_DevolucaoCheque(); try { if (banco == null) { st_transacao = qtb_dev.CriarBanco_Dados(true); } else { qtb_dev.Banco_Dados = banco; } string retorno = string.Empty; if (val.lCheques.Count > 0) { CamadaDados.Financeiro.Cadastros.TList_CFGCheque lCfgCheque = CamadaNegocio.Financeiro.Cadastros.TCN_CFGCheque.Buscar(val.lCheques[0].Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, string.Empty, qtb_dev.Banco_Dados); if (lCfgCheque.Count < 1) { throw new Exception("Não existe configuração de cheque para a empresa " + val.lCheques[0].Cd_empresa.Trim()); } if (val.lCheques[0].Tp_titulo.Trim().ToUpper().Equals("P")) { if (lCfgCheque[0].Cd_histdev_chemitidos.Trim().Equals(string.Empty)) { throw new Exception("Não existe historico de devolução de cheques emitidos configurado para a empresa " + val.lCheques[0].Cd_empresa.Trim()); } if (lCfgCheque[0].Cd_contadev_chemitidos.Trim().Equals(string.Empty)) { throw new Exception("Não existe conta gerencial de devolução de cheques emitidos configurado para a empresa " + val.lCheques[0].Cd_empresa.Trim()); } } else { if (lCfgCheque[0].Cd_histdev_chrecebidos.Trim().Equals(string.Empty)) { throw new Exception("Não existe historico de devolução de cheques recebidos configurado para a empresa " + val.lCheques[0].Cd_empresa.Trim()); } if (lCfgCheque[0].Cd_contadev_chrecebidos.Trim().Equals(string.Empty)) { throw new Exception("Não existe conta gerencial de devolução de cheques recebidos configurado para a empresa " + val.lCheques[0].Cd_empresa.Trim()); } } val.lCheques.ForEach(p => { //Gravar devolucao cheque val.Cd_banco = p.Cd_banco; val.Cd_empresa = p.Cd_empresa; val.Nr_lanctocheque = p.Nr_lanctocheque; retorno = qtb_dev.GravarDevolucaoCheque(val); //Buscar lancamentos de caixa com st_titulo = S e alterar CamadaDados.Financeiro.Caixa.TList_LanCaixa lCaixa = new CamadaDados.Financeiro.Caixa.TCD_LanCaixa().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.st_estorno, 'N')", vVL_Busca = "'S'", vOperador = "<>" }, new TpBusca() { vNM_Campo = "isnull(a.st_titulo, '')", vOperador = "=", vVL_Busca = "'S'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_titulo_x_caixa x " + "where x.cd_contager = a.cd_contager " + "and x.cd_lanctocaixa = a.cd_lanctocaixa " + "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "' " + "and x.cd_banco = '" + val.Cd_banco.Trim() + "' " + "and x.nr_lanctocheque = " + val.Nr_lanctocheque.ToString() + " " + "and isnull(x.tp_lancto, '')<>'GC')" } }, 0, string.Empty); lCaixa.ForEach(v => { v.St_Titulo = "N"; CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.AlterarLanCaixa(v, qtb_dev.Banco_Dados); }); if (p.Tp_titulo.Trim().ToUpper().Equals("P")) { //Cheques emitidos //Gravar caixa dando entrada do cheque na conta compensada string ret_caixaorig = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_Empresa = p.Cd_empresa, Cd_ContaGer = p.Cd_contager, Nr_Docto = p.Nr_cheque.Trim(), Dt_lancto = val.Dt_devolucao, Cd_Historico = lCfgCheque[0].Cd_histdev_chemitidos, Vl_RECEBER = p.Vl_titulo, Vl_PAGAR = decimal.Zero, ComplHistorico = "DEVOLUCAO CHEQUE EMITIDO " + p.Nr_cheque.Trim(), St_Titulo = "N" }, qtb_dev.Banco_Dados); //Gravar cheque X Caixa TCN_TituloXCaixa.GravarTituloCaixa( new TRegistro_LanTituloXCaixa() { Cd_banco = p.Cd_banco, Cd_contager = p.Cd_contager, Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixaorig, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque, Tp_caixa = "N" }, qtb_dev.Banco_Dados); //Gravar caixa dando saida no cheque na conta de devolucao string ret_caixa = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_Empresa = p.Cd_empresa, Cd_ContaGer = lCfgCheque[0].Cd_contadev_chemitidos, Nr_Docto = p.Nr_cheque.Trim(), Dt_lancto = val.Dt_devolucao, Cd_Historico = lCfgCheque[0].Cd_histdev_chemitidos, Vl_RECEBER = decimal.Zero, Vl_PAGAR = p.Vl_titulo, ComplHistorico = "DEVOLUCAO CHEQUE EMITIDO " + p.Nr_cheque.Trim(), St_Titulo = "S" }, qtb_dev.Banco_Dados); //Gravar cheque X Caixa TCN_TituloXCaixa.GravarTituloCaixa( new TRegistro_LanTituloXCaixa() { Cd_banco = p.Cd_banco, Cd_contager = lCfgCheque[0].Cd_contadev_chemitidos, Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixa, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque, Tp_caixa = "S" }, qtb_dev.Banco_Dados); } else { //Cheques recebidos //Gravar caixa dando saida do cheque da conta que foi compensado string ret_caixaorig = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_Empresa = p.Cd_empresa, Cd_ContaGer = p.Cd_contager, Nr_Docto = p.Nr_cheque.Trim(), Dt_lancto = val.Dt_devolucao, Cd_Historico = lCfgCheque[0].Cd_histdev_chrecebidos, Vl_RECEBER = decimal.Zero, Vl_PAGAR = p.Vl_titulo, ComplHistorico = "DEVOLUCAO CHEQUE RECEBIDO " + p.Nr_cheque.Trim(), St_Titulo = "N" }, qtb_dev.Banco_Dados); //Gravar cheque X Caixa TCN_TituloXCaixa.GravarTituloCaixa( new TRegistro_LanTituloXCaixa() { Cd_banco = p.Cd_banco, Cd_contager = p.Cd_contager, Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixaorig, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque, Tp_caixa = "N" }, qtb_dev.Banco_Dados); //Gravar caixa dando entrada no cheque na conta de devolucao string ret_caixa = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_Empresa = p.Cd_empresa, Cd_ContaGer = lCfgCheque[0].Cd_contadev_chrecebidos, Nr_Docto = p.Nr_cheque.Trim(), Dt_lancto = val.Dt_devolucao, Cd_Historico = lCfgCheque[0].Cd_histdev_chrecebidos, Vl_RECEBER = p.Vl_titulo, Vl_PAGAR = decimal.Zero, ComplHistorico = "DEVOLUCAO CHEQUE RECEBIDO " + p.Nr_cheque.Trim(), St_Titulo = "S" }, qtb_dev.Banco_Dados); //Gravar cheque X Caixa TCN_TituloXCaixa.GravarTituloCaixa( new TRegistro_LanTituloXCaixa() { Cd_banco = p.Cd_banco, Cd_contager = lCfgCheque[0].Cd_contadev_chrecebidos, Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixa, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque, Tp_caixa = "S" }, qtb_dev.Banco_Dados); } //Verificar se o lancamento de caixa esta amarrado ao repasse de cheque CamadaDados.Financeiro.Titulo.TList_Rastreab_ChTerceiro lChequesRep = CamadaNegocio.Financeiro.Titulo.TCN_Rastreab_ChTerceiro.Buscar(val.Cd_empresa, val.Cd_banco, val.Nr_lanctocheque.Value.ToString(), string.Empty, string.Empty, string.Empty, 0, string.Empty, qtb_dev.Banco_Dados); //Excluir os lancamentos de repasse lChequesRep.ForEach(v => TCN_Rastreab_ChTerceiro.DeletarRastreab_ChTerceiro(new TRegistro_Rastreab_ChTerceiro() { Cd_empresa = v.Cd_empresa, Cd_banco = v.Cd_banco, Nr_lanctocheque = v.Nr_lanctocheque, Cd_clifor_origem = v.Cd_clifor_origem }, qtb_dev.Banco_Dados)); //Verificar se titulo esta a um lote de custodia TCN_LoteCustodia_X_Titulo.Buscar(string.Empty, val.Cd_empresa, val.Nr_lanctocheque.Value.ToString(), val.Cd_banco, qtb_dev.Banco_Dados).ForEach(v => TCN_LoteCustodia_X_Titulo.Excluir(v, qtb_dev.Banco_Dados)); //Mudar status do cheque para devolvido p.Status_compensado = "V"; TCN_LanTitulo.GravarTitulo(p, qtb_dev.Banco_Dados); }); } else { qtb_dev.GravarDevolucaoCheque(val); } if (st_transacao) { qtb_dev.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_dev.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar devolucao cheque: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_dev.deletarBanco_Dados(); } } }
public static void ProcessarLoteCH(TRegistro_LoteCH val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteCH qtb_lote = new TCD_LoteCH(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } //Buscar config para descontar cheque CamadaDados.Financeiro.Cadastros.TList_CFGCheque lCfg = CamadaNegocio.Financeiro.Cadastros.TCN_CFGCheque.Buscar(val.Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, string.Empty, qtb_lote.Banco_Dados); if (lCfg.Count < 1) { throw new Exception("Não existe configuração para processar desconto de cheques."); } if (lCfg[0].Cd_historico_desconto.Trim().Equals(string.Empty)) { throw new Exception("Não existe configuração de historico de desconto para processar cheques."); } if (lCfg[0].Cd_historico_taxa.Trim().Equals(string.Empty)) { throw new Exception("Não existe configuração de historico de taxa para processar cheques."); } if (lCfg[0].Cd_historico_creddesconto.Trim().Equals(string.Empty)) { throw new Exception("Não existe configuração de historico de credito de desconto para processar cheques."); } //Total cheque descontar decimal tot_ch_descontar = val.lCheques.Where(p => p.St_conciliar).Sum(p => p.Vl_titulo); //Total taxa decimal tot_taxa = decimal.Zero; int cont = 0; //Buscar conta de compensacao do cheque object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_contager_compensacao", vOperador = "=", vVL_Busca = "'" + val.lCheques[0].Cd_contager.Trim() + "'" } }, "a.cd_contager"); if (obj == null) { throw new Exception("Não existe conta de compensação configurada para a conta gerencial " + val.lCheques[0].Cd_contager.Trim()); } if (obj.ToString().Trim().Equals(string.Empty)) { throw new Exception("Não existe conta de compensação configurada para a conta gerencial " + val.lCheques[0].Cd_contager.Trim()); } val.lCheques.ForEach(p => { if (p.St_conciliar) { //Compensar cheque descontado p.Dt_compensacao = val.Dt_processamento; p.Cd_contager_destino = obj.ToString(); CamadaNegocio.Financeiro.Titulo.TCN_LanTitulo.CompensarCheques( new TList_RegLanTitulo() { p }, qtb_lote.Banco_Dados); decimal taxa = Math.Round((val.Vl_taxa * (p.Vl_titulo / tot_ch_descontar * 100) / 100), 2); if (cont.Equals(val.lCheques.Count - 1)) { taxa += (val.Vl_taxa - (tot_taxa + taxa)); } //Gravar lancamento de caixa devolvendo credito adiantado pelo banco string ret_caixa = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = obj.ToString(), Cd_Empresa = p.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_desconto, Cd_LanctoCaixa = 0, ComplHistorico = "DEVOLUCAO CREDITO DESCONTO CHEQUE " + p.Nr_cheque.Trim(), Dt_lancto = val.Dt_processamento, NM_Clifor = p.Nomeclifor, Nr_Docto = p.Nr_cheque, Vl_PAGAR = Math.Round(p.Vl_titulo - taxa, 2), Vl_RECEBER = decimal.Zero }, qtb_lote.Banco_Dados); //Gravar Cheque X Caixa CamadaNegocio.Financeiro.Titulo.TCN_TituloXCaixa.GravarTituloCaixa( new TRegistro_LanTituloXCaixa() { Cd_banco = p.Cd_banco, Cd_contager = obj.ToString(), Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixa, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados); //Gravar Lote X Caixa CamadaNegocio.Financeiro.Titulo.TCN_LoteCH_X_Caixa.GravarLoteCH_X_Caixa( new TRegistro_LoteCH_X_Caixa() { Cd_banco = p.Cd_banco, Cd_contager = obj.ToString(), Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_caixa, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados); //Gravar lancamento de caixa debitando taxa cobrada pelo banco string ret_taxa = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = obj.ToString(), Cd_Empresa = p.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_taxa, Cd_LanctoCaixa = 0, ComplHistorico = "TAXA DESCONTO CHEQUE " + p.Nr_cheque.Trim(), Dt_lancto = val.Dt_processamento, NM_Clifor = p.Nomeclifor, Nr_Docto = p.Nr_cheque, Vl_PAGAR = taxa, Vl_RECEBER = decimal.Zero }, qtb_lote.Banco_Dados); //Gravar cheque X Caixa CamadaNegocio.Financeiro.Titulo.TCN_TituloXCaixa.GravarTituloCaixa( new TRegistro_LanTituloXCaixa() { Cd_banco = p.Cd_banco, Cd_contager = obj.ToString(), Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_taxa, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados); //Gravar Lote X Caixa CamadaNegocio.Financeiro.Titulo.TCN_LoteCH_X_Caixa.GravarLoteCH_X_Caixa( new TRegistro_LoteCH_X_Caixa() { Cd_banco = p.Cd_banco, Cd_contager = obj.ToString(), Cd_empresa = p.Cd_empresa, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_taxa, "@P_CD_LANCTOCAIXA")), Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados); //Totalizar taxas tot_taxa += taxa; } else { //Os cheques que nao forem descontados, //transferir de volta para a conta de origem CamadaDados.Financeiro.Titulo.TList_TransfTitulo lTransf = CamadaNegocio.Financeiro.Titulo.TCN_TransfTitulo.Buscar(p.Cd_empresa, string.Empty, p.Cd_contager, decimal.Zero, decimal.Zero, decimal.Zero, p.Cd_banco, 1, string.Empty, qtb_lote.Banco_Dados); if (lTransf.Count < 1) { throw new Exception("Registro transferencia nao encontrado."); } //Realizar a transferencia dos cheques entre contas p.Cd_contager_destino = lTransf[0].Cd_conta_orig; p.Dt_compensacao = val.Dt_processamento; //Setar status do cheque para enviado p.Status_compensado = "N"; //A Compensar TCN_LanTitulo.TransferirTitulo(p, qtb_lote.Banco_Dados); //Gravar somente o cheque sem mecher no lancamento de caixa p.St_lancarcaixa = false; TCN_LanTitulo.GravarTitulo(p, qtb_lote.Banco_Dados); //Deletar amarracao do cheque com o lote TCN_LoteCH_X_Titulo.DeletarLoteCh_X_Titulo( new TRegistro_LoteCH_X_Titulo() { Cd_banco = p.Cd_banco, Cd_empresa = p.Cd_empresa, Id_lote = val.Id_lote, Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados); } cont++; }); //Gravar lancamento de caixa creditando o valor adiantado pelo banco string ret_cred = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = obj.ToString(), Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_creddesconto, Cd_LanctoCaixa = 0, ComplHistorico = "CREDITO DESCONTO CHEQUE DO LOTE" + val.Id_lote.ToString(), Dt_lancto = val.Dt_processamento, NM_Clifor = string.Empty, Nr_Docto = val.Id_lote.ToString(), Vl_PAGAR = decimal.Zero, Vl_RECEBER = val.Vl_credito }, qtb_lote.Banco_Dados); //Gravar lote val.St_registro = "P";//Processado val.Cd_contager = string.Empty; val.Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_cred, "@P_CD_LANCTOCAIXA")); qtb_lote.GravarLoteCH(val); 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 processar lote: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }
public static string DeletarLoteCH(TRegistro_LoteCH val, BancoDados.TObjetoBanco banco) { if (val.St_registro.Trim().ToUpper().Equals("P")) { throw new Exception("Não é permitido excluir lote <PROCESSADO>."); } bool st_transacao = false; TCD_LoteCH qtb_lote = new TCD_LoteCH(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } if (val.St_registro.Trim().ToUpper().Equals("E")) { val.lCheques.ForEach(p => { //transferir os cheques de volta para a conta de origem CamadaDados.Financeiro.Titulo.TList_TransfTitulo lTransf = CamadaNegocio.Financeiro.Titulo.TCN_TransfTitulo.Buscar(p.Cd_empresa, string.Empty, p.Cd_contager, decimal.Zero, decimal.Zero, decimal.Zero, p.Cd_banco, 1, string.Empty, qtb_lote.Banco_Dados); if (lTransf.Count < 1) { throw new Exception("Registro transferencia nao encontrado."); } //Realizar a transferencia dos cheques entre contas p.Cd_contager_destino = lTransf[0].Cd_conta_orig; p.Dt_compensacao = val.Dt_enviolote; //Setar status do cheque para enviado p.Status_compensado = "N"; //A Compensar TCN_LanTitulo.TransferirTitulo(p, qtb_lote.Banco_Dados); //Gravar somente o cheque sem mecher no lancamento de caixa p.St_lancarcaixa = false; TCN_LanTitulo.GravarTitulo(p, qtb_lote.Banco_Dados); //Deletar amarracao do cheque com o lote TCN_LoteCH_X_Titulo.DeletarLoteCh_X_Titulo( new TRegistro_LoteCH_X_Titulo() { Cd_banco = p.Cd_banco, Cd_empresa = p.Cd_empresa, Id_lote = val.Id_lote, Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados); }); } //Deletar cheques amarrados val.lCheques.ForEach(p => TCN_LoteCH_X_Titulo.DeletarLoteCh_X_Titulo( new TRegistro_LoteCH_X_Titulo() { Cd_banco = p.Cd_banco, Cd_empresa = p.Cd_empresa, Id_lote = val.Id_lote, Nr_lanctocheque = p.Nr_lanctocheque }, qtb_lote.Banco_Dados)); //Deletar lote qtb_lote.DeletarLoteCH(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 lote: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }