Luis Ricardo
-
Total de ítens
118 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Luis Ricardo
-
-
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,
-
No meu caso, o sistema tem um função para capturar o protocolo da nf-e, no exemplo do ACBRNFE tem uma parte sobre isso. está funcionando em todos os clientes.
-
BoA tarde, resolvi o problema da seguinte forma, apos o erro de rejeição, vou em CAPTURAR PROTOCOLO e pronto é só imprimir.
-
lucas não é problema de dois certificados instalado na, pq ja fiz isso em um cliente removi e deixei só um certificado, o erro continua.
-
Feliz Ano Novo!!!! estou com o mesmo problema
Rejeição: CNPJ do Transmissor do lote diferente do CNPJ do transmissor da consulta.
o que podemos fazer
-
boa noite, hoje testei na balança por IR , ela parece que esta encontrando porque traz o peso zerado.
segue o arquivo de log
-
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.
-
Bom dia!
o arquivo enviado esta correto ?
-
bom dia!
voltando ao trabalho da balança, a toledo mando o protocolo segue em anexo.
-
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
-
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.
-
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;
-
-
Daniel baixei as atualizacöes dos componentes, o log esta correto vou fazer um teste no cliente com IP , amanhä posto o resultado.
-
Daniel, para ser sincero näo se esta ativo ou näo ?
-
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.
-
no arquivo apareceu conforme abaixo
-9
----------------------------------------------------------------------------------------------------------
-9
-
Ok, vou faze novas verificações.
-
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 ?
-
Daniel, vou fazer as atualizações e um teste, assim que tiver resultados posto o mesmo.
-
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
-
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.
-
Sm problema pode sair sempre na danfe
Remessa Arquivo
em ACBrBoleto
Postado
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