Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 18-08-2022 em todas as áreas
-
Está sendo cada vez mais frequente o uso de integração online para o registro de Boletos via API. O componente ACBrBoleto já suporta esse tipo de comunicação para alguns Bancos, seja via Rest ou Soap, mas como recebemos com frequência novas contribuições e com implementações de outros bancos os mesmos não tem um padrão entre eles. Foi necessário uma refatoração na camada do componente responsavel pela geração e integraçao Web do ACBrBoleto, o propósito é facilitar a manutenção e implementação de novos bancos, além de melhorias que se tornam necessárias na estrutura do componente. As modificações realizadas não causam grande impacto na forma como já é utilizado o ACBrBoleto para envio de títulos por APIs, com exceção dos pontos citados abaixo, onde será necessário alterar na sua aplicação: 1- O método EnviarBoleto foi depreciado, passando a ser utilizado por padrão o método "Enviar". Ex: ACBrBoleto.Enviar; (obs: Mesmo depreciado o método EnviarBoleto ainda pode ser utilizado, tendo as mesmas funcionalidades, mas não sendo recomendado o seu uso). 2- O retorno de cada Título enviado, passa a ficar registrado e acessível a partir do próprio Título, na property "RetornoWeb". Podendo também ser acessado através do índice de cada Título, utilizando a property "ListaRetornoWeb" da classe ACBrBoleto. Sendo assim, se for realizado o envio de uma lista com vários títulos, será possível obter o retorno de cada título usando essa propriedade indexada. Ex: ACBrBoleto.Enviar; for i:= 0 to Pred(ACBrBoleto.TotalListaRetornoWeb) do begin lCodigoRetorno:= ACBrBoleto.ListaRetornoWeb[i].CodRetorno; lMensagem:= ACBrBoleto.ListaRetornoWeb[i].MsgRetorno; ... Pode notar que não há muitas diferenças da forma como era utilizado antes, o detalhe é que não se usa mais o método "Count" de uma lista, e sim o método "TotalListaRetornoWeb" para saber o total de Títulos transmitidos, utilizando esse índice na property ListaRetornoWeb[] do componente ACBrBoleto. 3- Apenas quando o Envio for uma Operação de "Consulta", poderá retornar uma lista com registros de vários títulos, nesse caso pode ser utilizada uma lista para obter os retorno. A mesma pode ser acessada utilizando o método "ListaConsultaRetornoWeb" do componente ACBrBoleto. Ex: ACBrBoleto.Configuracoes.WebService.Operacao := tpConsulta; ACBrBoleto.Enviar; for i:= 0 to Pred(ACBrBoleto.ListaConsultaRetornoWeb.count) do begin lCodigoRetorno:= ACBrBoleto.ListaConsultaRetornoWeb[i].CodRetorno; lMensagem:= ACBrBoleto.ListaConsultaRetornoWeb[i].MsgRetorno; ... 4- O Log de Envio passou a ser gerado em um arquivo único, onde fica gravado todos os processos ( Autenticação, dados de Envio gerado pelo componente "Json ou XML" e os dados de retorno). Além disso os logs podem ser obtidos pelo evento "OnGravarLog" do componente ACBrBoleto. Localizado em (Configurações/Arquivos). A configuração para gravar log pode ser realizada em: ACBrBoleto.Configuracoes.Arquivos.LogRegistro:= True; ACBrBoleto.Configuracoes.Arquivos.PathGravarRegistro:= 'c:\temp'; As alterações acima também estão exemplificadas no programa demo ACBrBoleto disponível na pasta Exemplos do Projeto ACBr. Veja o código nos botões: "Registrar Boleto OnLine", "Consultar Boleto" http://svn.code.sf.net/p/acbr/code/trunk2/Exemplos/ACBrBoleto/4 pontos
-
Olá, Para atender o Requisito XI, implementei o componente "ACBrPAFNFCe" para geração do arquivo XML assinado. Este componente é baseado no ACBrBlocoX e fica dentro de "...\Fontes\ACBrDFe\ACBrPAFNFCe". Em anexo (ACBrPAFNFCe.zip) com o componente para quem quiser alterar e corrigir. Agora uma dúvida quanto a tag "arquivo" (A02) que deve ter os dados com base64. Utilizando este componente, gerei um XML utilizando um arquivo .txt com tamanho 1KB, gerou todas as tag. Mas ao gerar um XML com um arquivo com tamanho 12MB, somente é gerada a tag "arquivo" e as tag de assinatura (anexo XMLTeste.zip). Há algo que posso estar fazendo errado? ou é alguma limitação na geração do XML? Desde já agradeço. ACBrPAFNFCe.zip XMLteste.zip2 pontos
-
Obrigado por sua resposta Dercide mas eu já resolvi e para ajudar caso alguém precise, apesar da mensagem parecer como se fosse uma duplicidade o erro era a falta das tags de itemservico. Eu já havia feito para a prefeitura de Porto Alegre e ela não exigia essas tags.1 ponto
-
Boa tarde Túlio, Muito obrigado pela colaboração, já inclui na minha lista de tarefas. TK-29951 ponto
-
1 ponto
-
Muito grato @antonio.carlos! Certo @José M. S. Junior.1 ponto
-
Bom dia Ruy, Analisando os XML que você anexou notei pelas mensagens de retorno o Emitente não esta autorizado a emitir as notas. Vai ser necessário entrar em contato com a prefeitura/provedor para solicitar a autorização. Acredito que com autorização vai ser possível a emissão.1 ponto
-
Obrigado pelo retorno Nilton, também deixei pronto, aguardar a obrigatoriedade agora!!1 ponto
-
Bom dia, Diego, eu sugiro que comece realizando testes com os demos específicos de cada biblioteca, por exemplo o demo ACBrLibNFe, pois esses são específicos para essa dll, com exemplos apenas dos métodos necessários. Com as instruções abaixo, consegue baixar os fontes do demo em C# e baixar as dlls do fórum, copiando as dlls corretas para pasta do projeto já consegue rodar, configurar a lib e testar. Além disso, com seu cadastro ACBrPro já deve ter acesso ao curso de introdução da ACBrLib, que pode te ajudar no entendimento para uso das mesmas. https://acbr.nutror.com/curso/e4f38b5c7398e4ccca8731c2d305952d389ac6931 ponto
-
Quando for possível, atualize o svn, subimos uma pequena atualização neste programa exemplo - Rev. 264631 ponto
-
Muito obrigado Italo, eu não estou usando em produção ainda. Mas assim que trocar a versão dos meu clientes vamos utilizar nessas cidades: +------+----------------------+ |estado|cidade | +------+----------------------+ |GO |Anápolis | |PR |Apucarana | |AL |Arapiraca | |MG |Belo Horizonte | |SC |Blumenau | |DF |Brasília | |SP |Campinas | |SP |Catanduva | |SC |Chapecó | |MG |Contagem | |MT |Cuiabá | |PR |Curitiba | |RJ |Duque de Caxias | |SC |Florianópolis | |CE |Fortaleza | |PR |Foz do Iguaçu | |SP |Franca | |GO |Goiânia | |SP |Guarulhos | |SC |Itajaí | |PB |João Pessoa | |BA |Luís Eduardo Magalhães| |CE |Maracanaú | |RJ |Niterói | |SP |Paraíso | |PR |Paranaguá | |RS |Porto Alegre | |PE |Recife | |MG |Ribeirão das Neves | |SP |Ribeirão Preto | |RJ |Rio de Janeiro | |BA |Salvador | |MG |Santa Luzia | |SP |Santo André | |RJ |São Gonçalo | |SP |São José do Rio Preto | |SP |São Paulo | |ES |Serra | |MG |Sete Lagoas | |MG |Uberaba | |ES |Vila Velha | +------+----------------------+ Opa, Brasília é nota de serviço, mas vai continuar usando o ACBRNFe (la eles fazem nota de serviço pelo ambiente da NF-e).1 ponto
-
opa. wanderson de MG * seria legal, mostrar mais assuntos sobre pdv mobile 'andoid' com Delphi e nuvem Firebird!1 ponto
-
Não, ainda não, como a Sefaz por enquanto está deixando opcional, eu não estou enviando essa TAG, vou deixar dar erro quando acontecer a mudança efetiva e altero a aplicação que já deixei pronto. Emito CTe de SP-Caieiras1 ponto
-
no envio se não der nenhum erro na consulta do emv, você não precisaria se preocupar, se der erro no registro foi problema com a API. mas se a API registrou você tem os outros metodos para consultar, registrar etc.. o pix. var ListaRetornoWeb: TListaRetEnvio; ACBrBoleto.EnviarBoleto; ListaRetornoWeb := ACBrBoleto.ListaRetornoWeb; if ListaRetornoWeb.Count > 0 then for k:= 0 to Pred(ListaRetornoWeb.Count) do begin xWS_EMV := ListaRetornoWeb[k].DadosRet.TituloRet.EMV; xEMV_URL := ListaRetornoWeb[k].DadosRet.TituloRet.UrlPix; xEMV_TXID := ListaRetornoWeb[k].DadosRet.TituloRet.TxId; //sua regra de negocio end; tenta algo assim passando essas 3 variáveis na reimpressão1 ponto