Luis Ricardo
Membros Pro-
Total de ítens
118 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Luis Ricardo postou
-
Boa tarde! Estou com um problema e näo sei como resolver, o sistema esta gerando boleto, imprimindo, gerando o arquivo para remessa ate ai parece estar blz, ocorre que o arquivo enviado para o banco Bradesco esta sendo aceito sem rejeição, mas quando o cliente entra no site para verificar a lista dos boleto em banco eles näo aparece. segue abaixo um arquivo de remessa e a estrutura do sistema (fonte) espero que alguém indique a besteira que estou fazendo desde já fico agradecido. procedure TF_GerarRemessaBoletos.lb_gerarClick(Sender: TObject); var TD: TTransactionDesc; MyString:TstringList; ic:Cardinal; vrche:TListItem; Titulo : TACBrTitulo; I : Integer; NrTitulos,Seq,mxseq : Integer; NrTitulosStr :String; Convertido: Boolean; dia,mes:String; begin lb_gerar.Enabled := False; dia:=FormatDateTime('DD',Date); mes:=FormatDateTime('MM',Date); for ic := 0 to lv_boletos.items.count-1 do if lv_boletos.items.item[ic].checked then begin vrche:=lv_boletos.Items.Item[ic]; //obtém o item da linha X MyString := TstringList.Create; MyString.Clear; MyString.Add('select a.bol_codigo, a.bol_codcc, a.bol_nossonumero, a.bol_numtitulo, a.bol_vrtitulo, a.bol_dataemissao,'); MyString.Add('a.bol_datavenc, a.bol_codparceiro, a.bol_nome, a.bol_ntitulo, a.bol_inscricao, a.bol_endereco,'); MyString.Add('a.bol_numero, a.bol_complemento, a.bol_bairro, a.bol_cidade, a.bol_cep, a.bol_uf, a.bol_vrjrsdia,'); MyString.Add('a.bol_vrdescdia, a.bol_abat, a.bol_datajrs, a.bol_datadesc, a.bol_dataabat, a.bol_dataprotesto,'); MyString.Add('a.bol_inst_1, a.bol_inst_2, a.bol_mensagens, a.bol_especie,'); MyString.Add('b.cof_codigo, b.cof_codcc, b.cof_localpgto, b.cof_diasprotesto, b.cof_instrucao_1, b.cof_instrucao_2, b.cof_carteira '); MyString.Add('from st_boleto a '); MyString.Add('inner join st_configboleto b '); MyString.Add('on a.bol_codcc = b.cof_codcc '); MyString.Add('where a.bol_codigo = :a.bol_codigo'); F_GerarRemessaBoletos.cds_bol.Close; F_GerarRemessaBoletos.cds_bol.CommandText:=MyString.Text; F_GerarRemessaBoletos.cds_bol.Params[0].AsInteger := StrToInt(vrche.Caption); F_GerarRemessaBoletos.cds_bol.Open; MyString.Free; while not F_GerarRemessaBoletos.cds_bol.Eof do begin Titulo:= ACBrBoleto1.CriarTituloNaLista; F_DMdados.cdsCCbancos.Close; F_DMdados.cdsCCbancos.CommandText := 'SELECT * FROM STCOTCORRENTE WHERE CC_CODIGO = :CC_CODIGO'; F_DMdados.cdsCCbancos.Params[0].AsInteger := F_GerarRemessaBoletos.cds_bolCOF_CODCC.AsInteger; F_DMdados.cdsCCbancos.Open; if (F_DMdados.cdsCCbancos.RecordCount <> 0) then begin F_DMdados2.cdsParBolBco.Close; F_DMdados2.cdsParBolBco.CommandText := 'SELECT * FROM ST_PARAMBOLETOBCO WHERE COB_CODCC = :COB_CODCC'; F_DMdados2.cdsParBolBco.Params[0].AsInteger := F_GerarRemessaBoletos.cds_bolCOF_CODCC.AsInteger; F_DMdados2.cdsParBolBco.Open; ACBrBoleto1.Cedente.Nome := F_DMdados.cdsCCbancosCC_TITULAR.AsString; if Length(Trim(F_DMdados2.cdsParBolBcoCOB_CNPJ_CPF.AsString)) = 11 then begin ACBrBoleto1.Cedente.TipoInscricao := pFisica; end else begin ACBrBoleto1.Cedente.TipoInscricao := pJuridica; end; ACBrBoleto1.Cedente.CNPJCPF := F_DMdados2.cdsParBolBcoCOB_CNPJ_CPF.AsString; ACBrBoleto1.Cedente.Logradouro := F_DMdados2.cdsParBolBcoCOB_END.AsString+' '+F_DMdados.cdsCCbancosCC_CIDADE.AsString+' '+F_DMdados.cdsCCbancosCC_ESTADO.AsString; ACBrBoleto1.Cedente.Agencia := F_DMdados.cdsCCbancosCC_AGENCIA.AsString; ACBrBoleto1.Cedente.AgenciaDigito := IntToStr(F_DMdados.cdsCCbancosCC_DIGITOAG.AsInteger); ACBrBoleto1.Cedente.Conta := F_DMdados.cdsCCbancosCC_CONTCOR.AsString; ACBrBoleto1.Cedente.ContaDigito := IntToStr(F_DMdados.cdsCCbancosCC_DIGITOCC.AsInteger); ACBrBoleto1.Cedente.CodigoCedente := IntToStr(F_DMdados2.cdsParBolBcoCOB_CODCOBRANCA.AsInteger); ACBrBoleto1.Cedente.TipoCarteira := tctRegistrada; ACBrBoleto1.Cedente.CaracTitulo := tcSimples; end; with Titulo do begin Vencimento := IncMonth(F_GerarRemessaBoletos.cds_bolBOL_DATAVENC.AsDateTime); DataDocumento := F_GerarRemessaBoletos.cds_bolBOL_DATAEMISSAO.AsDateTime; NumeroDocumento := F_GerarRemessaBoletos.cds_bolBOL_NTITULO.AsString; EspecieDoc := F_GerarRemessaBoletos.cds_bolBOL_ESPECIE.AsString; Aceite := atSim; EspecieMod := 'R$'; DataProcessamento := Now; // Parcela := F_GerarRemessaBoletos.cds // TotalParcelas NossoNumero := IntToStr(F_GerarRemessaBoletos.cds_bolBOL_NOSSONUMERO.AsInteger); Carteira := '01'; ValorDocumento := F_GerarRemessaBoletos.cds_bolBOL_VRTITULO.AsCurrency; Sacado.NomeSacado := F_GerarRemessaBoletos.cds_bolBOL_NOME.AsString; Sacado.CNPJCPF := F_GerarRemessaBoletos.cds_bolBOL_INSCRICAO.AsString; Sacado.Logradouro := F_GerarRemessaBoletos.cds_bolBOL_ENDERECO.AsString; Sacado.Numero := F_GerarRemessaBoletos.cds_bolBOL_NUMERO.AsString; Sacado.Bairro := F_GerarRemessaBoletos.cds_bolBOL_BAIRRO.AsString; Sacado.Cidade := F_GerarRemessaBoletos.cds_bolBOL_CIDADE.AsString; Sacado.UF := F_GerarRemessaBoletos.cds_bolBOL_UF.AsString; Sacado.CEP := F_GerarRemessaBoletos.cds_bolBOL_CEP.AsString; ValorAbatimento := F_GerarRemessaBoletos.cds_bolBOL_ABAT.AsCurrency; LocalPagamento := F_GerarRemessaBoletos.cds_bolCOF_LOCALPGTO.AsString; //MEnsagem exigida pelo bradesco ValorMoraJuros := F_GerarRemessaBoletos.cds_bolBOL_VRJRSDIA.AsCurrency; ValorDesconto := F_GerarRemessaBoletos.cds_bolBOL_VRDESCDIA.AsCurrency; DataMoraJuros := F_GerarRemessaBoletos.cds_bolBOL_DATAJRS.AsDateTime; DataDesconto := F_GerarRemessaBoletos.cds_bolBOL_DATADESC.AsCurrency; DataAbatimento := F_GerarRemessaBoletos.cds_bolBOL_DATAABAT.AsDateTime; DataProtesto := F_GerarRemessaBoletos.cds_bolBOL_DATAPROTESTO.AsDateTime; PercentualMulta := 0; Mensagem.Text := F_GerarRemessaBoletos.cds_bolBOL_MENSAGENS.AsString; OcorrenciaOriginal.Tipo := toRemessaRegistrar; CarteiraEnvio := tceCedente; Instrucao1 := F_GerarRemessaBoletos.cds_bolBOL_INST_1.AsString; Instrucao2 := F_GerarRemessaBoletos.cds_bolBOL_INST_2.AsString; ACBrBoleto1.AdicionarMensagensPadroes(Titulo,Mensagem); end; try TD.TransactionID:=1; TD.IsolationLevel:= xilREADCOMMITTED; F_DMdados.SQLConn.StartTransaction(TD); F_DMdados2.cdsBoleto.Close; F_DMdados2.cdsBoleto.CommandText := 'SELECT * FROM ST_BOLETO WHERE BOL_CODIGO = :BOL_CODIGO'; F_DMdados2.cdsBoleto.Params[0].AsInteger := F_GerarRemessaBoletos.cds_bolBOL_CODIGO.AsInteger; F_DMdados2.cdsBoleto.Open; if (F_DMdados2.cdsBoleto.RecordCount <> 0) then begin MyString := TstringList.Create; MyString.Clear; MyString.Add('UPDATE ST_BOLETO SET BOL_REMESSA=:BOL_REMESSA WHERE BOL_CODIGO = :BOL_CODIGO'); F_DMdados2.sdsBoleto.CommandText := MyString.Text; MyString.Free; F_DMdados2.sdsBoleto.ParamByName('BOL_CODIGO').AsInteger := F_GerarRemessaBoletos.cds_bolBOL_CODIGO.AsInteger; F_DMdados2.sdsBoleto.ParamByName('BOL_REMESSA').AsString := 'S'; F_DMdados2.sdsBoleto.ExecSQL; end; F_DMdados.SQLConn.Commit(TD); except on E:Exception do begin F_DMdados.SQLConn.Rollback(TD); ShowMessage('Erro ao tentar INCLUIR o registro: ' + E.Message); Abort; end; end; F_GerarRemessaBoletos.cds_bol.Next; end; F_GerarRemessaBoletos.cds_bol.Close; end; F_DMdados2.cdsSegBol.Close; F_DMdados2.cdsSegBol.CommandText := 'SELECT * FROM ST_BOLNUMEROREMESSA WHERE NRE_CODIGO = :NRE_CODIGO'; F_DMdados2.cdsSegBol.Params[0].AsInteger := 1; F_DMdados2.cdsSegBol.Open; if (F_DMdados2.cdsSegBol.RecordCount <> 0) then begin seq := F_DMdados2.cdsSegBolNRE_NUMERO.AsInteger+1; mxseq := F_DMdados2.cdsSegBolNRE_MXNUMERO.AsInteger+1; end; ACBrBoleto1.NomeArqRemessa := 'CB'+dia+mes+IntToStr(seq)+'.REM'; ACBrBoleto1.GerarRemessa(mxseq); //criar uma seencia em uma base de dados CB070382.REM
-
Bom dia! Estou acabando de implementar o retorno do arquivo de boleto, surgiu uma duvida a propriedade de Retorno ValorRecebido é o valor creditado na conta corrente junto ao banco e o mesmo já esta incluído o valor do juros e multa pago pelo cliente ?
-
Bom dia! Daniel, desculpe a minha pressa, mas vc tem uma previsão para implementação do modelo das balança já enviado, o que mais estou com problema e o modelo Toleto 8580 por IP o cliente que uma resposta, e näo tenho mais argumentos. só essa já resolvia um bocado de problema. fico grato,
- 50 replies
-
boa noite, hoje testei na balança por IR , ela parece que esta encontrando porque traz o peso zerado. segue o arquivo de log balLog
- 50 replies
-
Daniel, só para informar estou possando a configuração direto, esta capturando o peso só tem um problema, no display da balanca o peso esta 20900 no sistema quanto captura ele traz 2090 um zero a menos. nao e um peso ou outro é todos faz este corte. este teste é com serial, amanha vou fazer teste com IP posto o resultado. grato.
- 50 replies
-
Bom dia! o arquivo enviado esta correto ?
- 50 replies
-
bom dia! voltando ao trabalho da balança, a toledo mando o protocolo segue em anexo. Protocolos de balanças industriais.pdf
- 50 replies
-
Daniel, bom o sistema em questão é para duas balança distintas, a primeira é para Toledo 9091 rodoviária conexão serial COM1 e a outra é Todelo 8580 rodoviária está por IP MU9091Rodoviario3474053Rev160907.pdf MU_8540_NUMERICO_ANALOGICO_3474192_03-06-07.pdf
- 50 replies
-
acabei de fazer um teste, tirei configuração do componente via codigo, configurei direto no componente, qto aos parametros da balança o tecnico da toledo esteve aqui de deixou configura a serial, neste teste näo foi com IP, no Hiperterminal esta ok, feito isso no arquivo de log aparece tipo de balança, parida, e outras configuraçöes diferente aquelas que coloquei no componente, lembrando que foi direto no componente.
- 50 replies
-
Bom dia! hoje é um novo dia, problema de ontem soluções para hoje. Daniel, desculpa esta insistindo, ontem estava revisando o sistema e apareceu algumas duvidas no ACBrBal para escolher o modelo da balança eu estou fazendo assim (código abaixo) mas na hora que passo os paramentros no log aparece outro tipo de equipamento. bom resolvi omitir e coloque direto no componente o tipo de balança para ver no dava. ficou rápido para capturar o peso no log aparece o tipo de equipamento correto que selecionei, mas ai tem um problema, peso que era para ser 62800 aparece como 6280 o que sera que esta errado. código if acb_Balanca.Ativo then acb_Balanca.Desativar; if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balDigitron') then acb_balanca.Modelo := TACBrBALModelo(0); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balFilizona') then acb_balanca.Modelo := TACBrBALModelo(1); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balLider') then acb_balanca.Modelo := TACBrBALModelo(2); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balLucasTec') then acb_balanca.Modelo := TACBrBALModelo(3); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balMagellan') then acb_balanca.Modelo := TACBrBALModelo(4); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balMagna') then acb_balanca.Modelo := TACBrBALModelo(5); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balNenhum') then acb_balanca.Modelo := TACBrBALModelo(6); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balToledo') then acb_balanca.Modelo := TACBrBALModelo(7); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balToledo2180') then acb_balanca.Modelo := TACBrBALModelo(8); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balUrano') then acb_balanca.Modelo := TACBrBALModelo(9); if (F_DMdados.cdsConfBalCFG_MODELO.AsString = 'balUranoPOP') then acb_balanca.Modelo := TACBrBALModelo(10); // --------------------------------------------------------------------------------- if (F_DMdados.cdsConfBalCFG_FLUXO.AsString = 'hsDTR_DSR') then acb_balanca.Device.HandShake := TACBrHandShake(0); if (F_DMdados.cdsConfBalCFG_FLUXO.AsString = 'hsNenhum') then acb_balanca.Device.HandShake := TACBrHandShake(1); if (F_DMdados.cdsConfBalCFG_FLUXO.AsString = 'hsRTS_CTS') then acb_balanca.Device.HandShake := TACBrHandShake(2); if (F_DMdados.cdsConfBalCFG_FLUXO.AsString = 'hsXON_XOFF') then acb_balanca.Device.HandShake := TACBrHandShake(3); // --------------------------------------------------------------------------------- if (F_DMdados.cdsConfBalCFG_PARIDADE.AsString = 'pEven') then acb_balanca.Device.Parity := TACBrSerialParity(0); if (F_DMdados.cdsConfBalCFG_PARIDADE.AsString = 'pMark') then acb_balanca.Device.Parity := TACBrSerialParity(1); if (F_DMdados.cdsConfBalCFG_PARIDADE.AsString = 'pNone') then acb_balanca.Device.Parity := TACBrSerialParity(2); if (F_DMdados.cdsConfBalCFG_PARIDADE.AsString = 'pOdd') then acb_balanca.Device.Parity := TACBrSerialParity(3); if (F_DMdados.cdsConfBalCFG_PARIDADE.AsString = 'pSpace') then acb_balanca.Device.Parity := TACBrSerialParity(4); // --------------------------------------------------------------------------------- if (F_DMdados.cdsConfBalCFG_PARADA.AsString = 's1') then acb_balanca.Device.Stop := TACBrSerialStop(0); if (F_DMdados.cdsConfBalCFG_PARADA.AsString = 's1eMeio') then acb_balanca.Device.Stop := TACBrSerialStop(1); if (F_DMdados.cdsConfBalCFG_PARADA.AsString = 's2') then acb_balanca.Device.Stop := TACBrSerialStop(2); // ---------------------------------------------------------------------------------- acb_balanca.Device.Data := F_DMdados.cdsConfBalCFG_BITDADOS.AsInteger; acb_balanca.Device.Baud := F_DMdados.cdsConfBalCFG_TRANSMISSAO.AsInteger; acb_balanca.Intervalo := F_DMdados.cdsConfBalCFG_INTERVALO.AsInteger; // --------------------------------------------------------------------------------- if (F_DMdados.cdsConfBalCFG_MONITORAR.AsString = 'S') then acb_balanca.MonitorarBalanca := True else acb_balanca.MonitorarBalanca := False; acb_balanca.Porta := Trim(F_DMdados.cdsConfBalCFG_SERIAL.AsString); acb_Balanca.Ativar; balLog
- 50 replies
-
Daniel, a toledo mandou um sistema para verificar o IP e Porta da balança, mesmo assim aparece -9 segue anexo a tela do sistema da toledo.
- 50 replies
-
Daniel baixei as atualizacöes dos componentes, o log esta correto vou fazer um teste no cliente com IP , amanhä posto o resultado.
- 50 replies
-
Daniel, para ser sincero näo se esta ativo ou näo ?
- 50 replies
-
Bom dia, desculpe, a configuração do arquivo de log no meu caso a propriedade do componente ArqLOG esta em branco, deixei assim. outra duvida que surgiu, foi o ACBrBAL no TCP tem que ser conectado com o ACBrTCServer ou não, mas vou tentar com a configuração acima, estou aguardando o técnico da Toledo, passar os parâmetros. grato.
- 50 replies
-
no arquivo apareceu conforme abaixo -9 ---------------------------------------------------------------------------------------------------------- -9
- 50 replies
-
Ok, vou faze novas verificações.
- 50 replies
-
Daniel, fiz um teste na balança do cliente. obtive as seguintes informações. a principio parece que esta encontrando a balança, porque me retornou um erro dizendo peso instável com valor -9, caso näo desse conexão o erro seria outro. coloque os paramentos de que me passaram TRANSMISSAO = 9600 BIT = 8 PARIDADE = pEven PARADA = s2 FLUXO = hsNenhum INTERVALO = 5000 MONITORAR = S SERIAL = TCP:192.168.0.189:8880 vou verificar com a toledo ou sera que tem algo mais para configurar neste caso ?
- 50 replies
-
Daniel, vou fazer as atualizações e um teste, assim que tiver resultados posto o mesmo.
- 50 replies
-
o que quero dize, qdo mando capturar o peso, ex: o correto seria 10500 e retorno 1050, não da para saber quando esta correto. em virtude disso eu criei uma checagem que lê novamente o peso e se for igual continua, mas da um pequeno delei. e qto a conectar TCP/IP estou pesquisando mas estou confuso. grato
- 50 replies
-
Boa tarde, Daniel estou reabrindo este poste para dar continuidade ao projeto. Modelo da Balança Toledo 9190 Rodoviário. estou testando mas ate agora näo deu o erro de valor, fiz uma rotina abaixo o único problema é que a captura näo é instantânea segue abaixo o codigo. acb_Balanca.Ativar; try TimeOut := acb_balanca.Intervalo; //F_DMdados.cdsConfBalCFG_INTERVALO.AsInteger; except TimeOut := 5000 ; end ; ACB_balanca.LePeso(TimeOut); if (ce_valor.Value = 0) then begin if (valor = 0) and (valor > 1000) then begin valor := ce_valor.Value; end; if capitura > 100 then begin ShowMessage('Näo foi possivel conectar a balança, O Ticket será fechado, tente novamente !'); lb_sair.OnClick(Sender); end else begin capitura := capitura+1; if acb_Balanca.MonitorarBalanca = False then acb_balanca.MonitorarBalanca := True; lb_reconectar.OnClick(Sender); end; end else begin if (ce_valor.Value <> valor) then begin capitura := capitura+1; valor := ce_valor.Value; lb_reconectar.OnClick(Sender); end else begin gb_placa.Enabled := True; mk_placa.SetFocus; end; end; procedure TF_Ticket.ACB_balancaLePeso(Peso: Double; Resposta: String); var valid : integer; begin if (not Assigned(FRespostaList)) then FRespostaList := TStringList.Create; if FRespostaList.Count > 0 then FRespostaList.Add(StringOfChar('-', 80)); pn_resposta.Caption := formatFloat('######0.000', Peso); Me_mensagem.Text := Converte(Resposta) ; FRespostaList.Add(pn_resposta.Caption); ce_valor.Value := Peso; if Peso > 0 then begin Me_mensagem.Lines.Text := 'Leitura OK !'; end else begin valid := Trunc(ACB_balanca.UltimoPesoLido); case valid of 0 : Me_mensagem.Lines.Text := 'TimeOut !'+sLineBreak+ 'Coloque o produto sobre a Balança!' ; -1 : Me_mensagem.Lines.Text := 'Peso Instavel ! ' +sLineBreak+ 'Tente Nova Leitura' ; -2 : Me_mensagem.Lines.Text := 'Peso Negativo !' ; -9 : Me_mensagem.Lines.Text := 'Erro de leitura, balança Instável '; -10 : Me_mensagem.Lines.Text := 'Sobrepeso !' ; end; end ; end; um outro problema vai ser o mesmo modelo de balança via TCP/IP näo tenho nem ideia de como ajusta o sistema com essa condição. grato.
- 50 replies
-
Sm problema pode sair sempre na danfe