-
Total de ítens
163 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por msiscampos
-
-
bom dia, resolveu sim e agradeço muito.
- 1
-
Segue anexo a Documentação - um pouco antiga - mas no site permanece
a mesma
-
5 horas atrás, Juliomar Marchetti disse:
Teste usar o arquivo em anexo e também precisei mudar aqui pois não tenho partes do seu projeto
var chave, wdir: string; wn : integer; fSeg : TPortoSeguroIndY; begin //wdir := dts_empresa.DataSet.FieldByName('PATH_RAIZ').AsString + 'x_dfe\_Cte\' + '20' + copy(edl_chave.Text, 3, 2) + copy(edl_chave.Text, 5, 2); od.InitialDir := ExtractFilePath(ParamStr(0)); edl_averbado.Text := ''; MemoDados.Lines.Clear; if oD.Execute then begin fSeg := TPortoSeguroIndy.create; try fSeg.UserName := 'xxxxxxx'; // atencão username e Password tem que solicitar junto a Porto Seguro fSeg.Password := 'xxxx'; // Esse é o meu acesso wn := pos('-', oD.FileName); if wn > 0 then chave := copy(od.FileName, wn - 44, 44); fSeg.Averbacao := maUpload; fSeg.UpLoad(oD.FileName); MemoDados.Lines.Add('Resultado do Envio'); MemoDados.Lines.Add('Protocolo => ' + fSeg.Protocolo); MemoDados.Lines.Add('Chave => ' + fSeg.Chave); MemoDados.Lines.Add(fSeg.MensagemRetorno); fSeg.Averbacao := maConsulta; fSeg.Chave := chave; if fSeg.Consulta(oD.FileName) then Begin MemoDados.Lines.Add('Resultado da Consulta'); MemoDados.Lines.Add('Protocolo => ' + Trim(fSeg.Protocolo)); MemoDados.Lines.Add('Chave => ' + fSeg.Chave); MemoDados.Lines.Add(stringreplace(fSeg.MensagemRetorno, ';', #13, [ rfReplaceAll ])); ShowMessage(stringreplace(fSeg.MensagemRetorno, ';', #13, [ rfReplaceAll ])); edl_averbado.Text := Trim(fSeg.Protocolo); End; finally fSeg.Free; end; end; //pn_card4Click(pn_card4);
uPortoSeguroIndy.pas 7 kB · 1 download
Mas ele pode ser melhorado. criado classe e convertido os JSON para elas e vice versa ao invés de ficar fazendo copy ou pos de texto que podem ocasionar erros
Maravilha irmão, deu certo - obrigado pela sua dedicação em ajudar.
-
Exemplo de uso com Opendialog
procedure TF_Cte.wb_averbarExecute(Sender: TObject);
var
chave , wdir : string;
wn : integer;
fSeg: TPortoSeguroIndY;
beginwdir := dts_empresa.DataSet.FieldByName('PATH_RAIZ').AsString+'x_dfe\_Cte\'+'20'+copy(edl_chave.Text,3,2)+copy(edl_chave.Text,5,2);
od.InitialDir := wdir;
edl_averbado.Text:='';
MemoDados.Lines.Clear ;
if oD.Execute then
begin
fSeg := TPortoSeguroIndy.create ;fSeg.UserName := '00000000000000'; // atencão username e Password tem que solicitar junto a Porto Seguro
fSeg.Password := '000'; // Esse é o meu acessown := pos('-',oD.FileName);
if wn>0 then
chave := copy(od.FileName,wn-44,44);fSeg.Averbacao := maUpload ;
fSeg.UpLoad(oD.FileName) ;
MemoDados.Lines.Add('Resultado do Envio') ;
MemoDados.Lines.Add('Protocolo => '+fSeg.Protocolo) ;
MemoDados.Lines.Add('Chave => '+fSeg.Chave) ;
MemoDados.Lines.Add(fSeg.MensagemRetorno) ;
fSeg.Averbacao := maConsulta ;
fSeg.Chave := chave ;
fSeg.Consulta(oD.FileName) ;
MemoDados.Lines.Add('Resultado da Consulta') ;
MemoDados.Lines.Add('Protocolo => '+Trim(fSeg.Protocolo)) ;
MemoDados.Lines.Add('Chave => '+fSeg.Chave) ;
MemoDados.Lines.Add(stringreplace(fSeg.MensagemRetorno,';',#13,[rfReplaceAll])) ;
if fSeg.Sucesso then
Begin
ShowMessage(stringreplace(fSeg.MensagemRetorno,';',#13,[rfReplaceAll])) ;
edl_averbado.Text:= Trim(fSeg.Protocolo);
End;
fSeg.Free ;
end;
pn_card4Click(pn_card4);
end;
- 2
-
Bom dia - a solução que encontrei foi essa abaixo, mas parece que não interfere no desempenho - rsrsrs
initialization
ReportMemoryLeaksOnShutdown := False;
-
Boa tarde, opa sem dúvida que sim.
- 1
-
1 hora atrás, i3sistemas disse:
Vir la sua classe e eu tinha o mesmo problema de memory leek quando consumia qualquer API via rest, a solução foi passa a memorar o código usando Interfaces. No delphi usando interface o agenciamento de memoria é automático.
eu tenho uma classe pronta de consumo de Json que eu mesmo fiz usando TRestClient com intefaces, vou publica no git se quiser posso de enviar, porem o Thulio tem um curso de solid que fala justamente isso seria melhor faze-lo
Thulio Bittencourt - Interfaces
meu git com a classe que uso para consumir API
Bom dia i3Sistemas , Agradeço à disposição , eu até tenho esse curso, vamo na luta. obrigado.
-
Bom dia - BigWings, obrigado pelo apoio , mas continua .
-
Tranquilo, eu só usei do meu direito de fazer n/perguntas p/mes, anexando uma
classe que até está funcional, envia e recebe normal, porém com vazamento de memória, e a ajuda que eu imaginei ,
seria de alguém que acompanha mais a evolução do delphi pudesse me ajudar. e até disponibilizar no SVN.
-
Excelente a sua resposta, pra alguém que paga o SAC a mais de 8 anos
-
Oba
Eu já tava desanimado , será que os desbravadores aí, não conseguem acertar isso não?
-
Ok - então fica assim - eu uso o ACBr pra emitir o Cte para emitir o MDFe ,a NFe ,SAT, etc , só que averbação eu
só consigo usá-lo se o cliente for ATM ? - o autor que também é da comunidade créditos a (MCOB), gentilmente me respondeu que essa classe foi feita em delphi XE2 e ele não tem tem delphi Rio
-
Bom dia, não não é , mas acho que até deveria ser, isso ficou do Italo verificar em 2017 - mas não houve prosseguimento,
única averbação que que Utiliza ACBr é da ATM
-
Boa Tarde - eu uso uma unit(anexo) para enviar (xml) e receber protocolo de averbação da Porto seguro
agora estou tentando passar aplicação para delphi Rio 10.3 - até que funciona + no final
dá um monte de memory leek - fazem 3 dias que não saio do lugar.
para quem usa indy e Json com frequencia - talvez possa me dar uma ajuda,
Obrigado - Deus no Comando !
o exemplo de uso é
procedure TF_Averba.bt_carregaClick(Sender: TObject);
var
fSeg: TPortoSeguroIndy ;
begin
ed_prot.Text:='';
Memo1.Lines.Clear ;
if OD.Execute then // Opendialog1
begin
fSeg := TPortoSeguroIndy.create ;
try
fSeg.UserName := '000000000000000';
fSeg.Password := '0000';fSeg.Averbacao := maUpload ;
fSeg.UpLoad(OD.FileName) ;
Memo1.Lines.Add('Resultado do Envio') ;
Memo1.Lines.Add('Protocolo => '+fSeg.Protocolo) ;
Memo1.Lines.Add('Chave => '+fSeg.Chave) ;
Memo1.Lines.Add(fSeg.MensagemRetorno) ;fSeg.Averbacao := maConsulta ;
// fSeg.Chave := 'Chave do CT-e ou MDF-e' ;fSeg.Consulta(OD.FileName) ;
Memo1.Lines.Add('Resultado da Consulta') ;
Memo1.Lines.Add('Protocolo => '+Trim(fSeg.Protocolo)) ;
Memo1.Lines.Add('Chave => '+fSeg.Chave) ;
Memo1.Lines.Add(stringreplace(fSeg.MensagemRetorno,';',#13,[rfReplaceAll])) ;if fSeg.Sucesso then
Begin
ShowMessage(stringreplace(fSeg.MensagemRetorno,';',#13,[rfReplaceAll])) ;
ed_prot.Text:= Trim(fSeg.Protocolo);
End;
finally
fSeg.Free ;
end;end;
end;
-
Bom dia - Não querendo bater na mesma tecla, batendo - já que usamos ACBrCte,ACBrMDFE,ACBrAne ,
será que temos condições de indicar pelo menos uma Operadora, no caso o E-frete, para integrar ao Sistema ?
dentro desse prazo apertado.
-
Acho que já achei a solução - https://satsp.fazenda.sp.gov.br/COMSAT/ - desativar Equipamento, mas serve
para constatar um defeito do SAT ELGIN LINKER II
- 1
-
Bom dia, Quando um aparelho apresenta defeito, nesse caso em específico, toda vez que envia um comando,
apaga todas as luzes e some o driver de comunicação, informado ao fabricante que está em analise para
possível troca.
No caso de substituição do aparelho, o que devemos fazer com relação à vinculação desse aparelho , já que
não se consegue fazer o bloqueio do mesmo via software.
-
Muito Obrigado, Ítalo - deu tudo certo
- 2
-
Bom dia - Substituição de Cte rejeitado pelo evento em desacordo.
Tomador de serviços rejeitou vários ctes por não constar um número
de controle interno deles no campo Obs, isso poderia ser resolvido com
carta de correção, mas não foi o que aconteceu, simplesmente rejeitou os
ctes através do SEFAZ e solicitou a Transportadora a refazer os Ctes para
poder pagar os fretes. alguém poderia me ajudar nos passos a serem tomados?
-
Bom dia
Eu sempre utilizo o SAT ELGIN LINKER 2 e impressora ELGIN I9 - porém o meu fornecedor
está sem estoque dessa marca e sugeriu o kit NITERE - o ACBrSAT funciona bem com esta
marca? Quais configurações relevantes eu tenho que adotar?
-
Ah sim, é que na minha concepção o método Consultar só retornaria verdadeiro quando a Nf já constasse na Base de dados do SEFAZ,
agora eu verifiquei melhor o Demo. Obrigado.
- 2
-
Boa Tarde -
Existe alguma propriedade ou forma que eu possa capturar a mensagem
de rejeição da NFE -
Se eu deixo ACBRNFe1.Configuracoes.Salvar=False -> e a nota é rejeitada - fica tudo parado e não me mostra retorno nenhum.
Se eu deixo ACBRNFe1.Configuracoes.Salvar=True -> e a nota é rejeitada - é gerado os xmls na Pasta configurada, só que se eu
quiser ver o resultado eu preciso ir na pasta e abrir os retornos pelo IE.
Será que tem alguma forma de ativar isso?
eu uso essa forma para enviar - quando tá tudo certo funciona
ACBrNFe1.Enviar(wnumlote, False);
if ACBrNFe1.Consultar then
begin
WPROTOCOLO := ACBrNFe1.WebServices.Retorno.Protocolo;ACBrNFe1.NotasFiscais.Imprimir;
end; -
Perfeito Italo, Averbação ELT -> nas duas situações
1- Envia o Arquivo e já retorna o ValorRetorno da solicitação de Averbação
CNPJ : 08037620000107
CTE : 83394
Data/Hora: 25/06/2019 14:34:24
Arquivo : 35190608037620000107570010000833941900833947-cte.xml
Doc :
Codigo : 0
Resultado: DOCUMENTO AVERBADO !!!!
Protocolo: 0675112190803762000010757001000083394E87
Status : Enviado===============================================
2- Arquivo Já enviado retorna o Status Processado
Retorno da solicitação de Averbação
CNPJ : 08037620000107
CTE : 83394
Data/Hora: 25/06/2019 14:35:23
Arquivo : 35190608037620000107570010000833941900833947-cte.xml
Doc :
Codigo : 1
Resultado: DOCUMENTO JA PROCESSADO!
Protocolo: 0675112190803762000010757001000083394E87
Status : Enviado
Muito Obrigado pela dedicação - Abraços- 2
-
Obrigado Italo, ficamos no aguardo, para eventuais testes pode contar comigo
- 1
ELGIN - this is not prolific pl2303 please contact your supplier
em NFC-e - Nota Fiscal do Consumidor Eletrônica
Postado
https://drive.google.com/file/d/19QabaWrFHgfFKZBueI9FvOAyKmfMig1Q/view?usp=sharing