public override int buscarRegistros() { TList_CadCFGBanco lista = TCN_CadCFGBanco.Buscar(id_config.Text, cd_banco.Text, cd_empresa.Text, codigocedente.Text, tp_cobranca.SelectedValue != null ? tp_cobranca.SelectedValue.ToString() : string.Empty, cd_contager.Text, string.Empty, string.Empty, 0, null); if (lista != null) { if (lista.Count > 0) { this.Lista = lista; bsCFGBanco.DataSource = lista; } else if ((vTP_Modo == TTpModo.tm_Standby) || ((vTP_Modo == TTpModo.tm_busca))) { bsCFGBanco.Clear(); } return(lista.Count); } else { return(0); } }
public static void ProcessarRemessa(TRegistro_LoteRemessa val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteRemessa qtb_lote = new TCD_LoteRemessa(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } if (val.lTitulos.Count < 1) { throw new Exception("Lote não possui titulos para gerar arquivo remessa."); } TList_CadCFGBanco lCfgBanco = TCN_CadCFGBanco.Buscar(string.Empty, val.lTitulos[0].Cd_banco, val.Cd_empresa, val.lTitulos[0].Cedente.CodigoCedente, "CR", val.Cd_contager, "A", string.Empty, 1, qtb_lote.Banco_Dados); if (lCfgBanco.Count < 1) { throw new Exception("Não existe configuração para emissão de bloquetos para o banco: " + val.lTitulos[0].Cd_banco); } //Criar registro cobranca blCobranca rCobranca = new blCobranca(); if (val.Nr_arqRemessa > decimal.Zero) { rCobranca.SequencialArq = val.Nr_arqRemessa; } else { //Sequencial do Arquivo object obj = new TCD_LoteRemessa(qtb_lote.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_config", vOperador = "=", vVL_Busca = lCfgBanco[0].Id_configstr } }, "isnull(max(a.nr_arqremessa), 0)"); rCobranca.SequencialArq = obj == null ? 1 : decimal.Parse(obj.ToString()) + 1; val.Nr_arqRemessa = rCobranca.SequencialArq; } rCobranca.Cd_instrucao = blCobranca.TratarInstrucaoRemessa(val.lTitulos[0].Cd_banco, val.Tp_instrucao); rCobranca.DataArquivo = CamadaDados.UtilData.Data_Servidor(qtb_lote.Banco_Dados); rCobranca.LayoutArquivo = lCfgBanco[0].Tp_layoutremessa.Trim().Equals("2") ? TLayoutArquivo.laCNAB240 : lCfgBanco[0].Tp_layoutremessa.Trim().Equals("4") ? TLayoutArquivo.laCNAB400 : TLayoutArquivo.laOutro; rCobranca.TipoMovimento = TTipoMovimento.tmRemessa; rCobranca.Cd_bancocorrespondente = lCfgBanco[0].Cd_bancocorrespondente; rCobranca.Titulos = val.lTitulos; if (rCobranca.GerarRemessa(val.lTitulos[0].Cd_banco, val.Path_remessa)) { val.St_registro = "P";//Processado val.Dt_lote = rCobranca.DataArquivo; Gravar(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 gerar arquivo remessa: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }