Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 24-08-2022 em todas as áreas
-
Bom dia Willian, Complementando o que o Renato já lhe passou, esse provedor ao gerar o XML do Rps não usa o código IBGE das cidades e sim um tal de Código TOM. Dai o uso da função que o Renato colocou na postagem. Devemos sempre alimentar o componente com o código IBGE, caso o provedor trabalha com o Código TOM a unit responsável por gerar o XML vai fazer a conversão.3 pontos
-
Boa tarde, Junto desta mensagem você recebe o ultNSU distribuído. Coloque um controle para verificar se o ultNSU que você recebeu é o mesmo que a Sefaz acusou. Quando for utilizado o serviço por outro sistema, esse número será diferente e você terá uma confirmação da utilização em dois ou mais lugares ao mesmo tempo.2 pontos
-
Bom dia, fiz umas alterações nas units do Sicredi para enviar e receber os dados referente ao boleto hibrido. ACBrBoleto.Titulo: foi criado um campo para informar se o boleto é hibrido do tipo boolean ACBrBancoSicredi: Geração da remessa CNAB400 foi adicionado um registro do tipo 8 quando o boleto estiver marcado que é boleto hibrido, precisa alimentar Titulo.QrCode.txid com um valor válido Retorno CNAB400: vai verificar se existe um registro do tipo 8 e ler o campo URL QrCode para ser impresso no boleto. Remessa já validada pelo banco. ACBrBancoSicredi.pas ACBrBoleto.pas2 pontos
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Boa tarde Dercide, Inclui na procedure que trata o retorno do emitir o preenchimento da lista de resumos. Uma vez que no retorno podemos ter o resumo de varias notas. Para saber como ler essa lista de resumos vide o programa exemplo, mais precisamente a procedure ChecarReposta. Favor atualizar os fontes, reinstale o ACBr e faça novos testes.1 ponto
-
1 ponto
-
1 ponto
-
1 ponto
-
Olá Pessoal, Foi incluído recentemente os seguintes bancos no componente ACBrPagFor: Caixa e Sicoob. Para saber quais são os bancos que o componente já suporta, basta abrir o arquivo Bancos-Implementados.txt que se encontra na pasta: ...\Fontes\ACBrPagFor Convido a todos a realizarem testes e reportar os erros para que possamos fazer as devidas correções. No caso um determinado estiver 100% funcional, por favor atualize o arquivo TXT mencionando acima colocando a data do ultimo teste que você fez a direita do nome do banco. Desde já muito obrigado pelos testes.1 ponto
-
Boa tarde Carlos, Eu não acredito que os contadores removeram o certificado do sistema deles. Uma vez que o problema ainda persiste.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Tópico movido para a área do SAC, para que o SLA de respostas seja considerado @lfernandolopes bom dia, criamos uma task para analisar o caso - #TK-30041 ponto
-
Boa noite, Revisou a discriminação também?Continuou com o problema? Anexe os xmls de envio e retorno Por favor abra novos tópicos para cada município com os respectivos problemas para não confundir os assuntos.1 ponto
-
William, Você está preenchendo o código IBGE 4219309 e no XML saiu o 8379? Veja que tem a função CodIBGEToCodTom no preenchimento do codigo_local_prestacao_servico. Debuga esse ponto da rotina que não deve estar errado não. Qual o erro que está recebendo agora?1 ponto
-
Verificar novamente, porque algo não está certo. Tem os XML do CTe original e do substituto?1 ponto
-
àMinha sugestão seria fazer um Papo Pro sobre o novo ambiente nacional da Nota Fiscal de Serviço. Agora que a Sefaz já tem essa infraestrutura pronta, logo logo alguns provedores já vão dar suporte a esse serviço, e acredito que o ACBR pode oferecer muito. Quem poderia abordar esse assunto é o Jorge. Ele é um cara bem aberto, e embora seja do ramo de contabilidade é um grande defensor de tecnologia. Acho que ele aceitaria o convite. Ele tem um enfoque bem contábil nos vídeos dele pois é o publico dele, mas ele consegue trazer muita coisa pra nossa área tambem. Alias, acho que no geral, nós temos que olhar mais pra contabilidade, como um braço do TI e não como um ser extraterreste que só quer nos dar consumo indevido. Contato: Jorge Campos - [email protected]1 ponto
-
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/1 ponto
-
Não sei se é o jeito correto, mas por enquanto estou pegando o status da seguinte forma: Realizo a DistribuicaoDFe e mostro as notas em um grid. Nesse momento, caso não conste manifestação pelo meu sistema, chamo um método que consulta os eventos NFe e retorna a última manifestação. Ex: function ConsultaSitManifesto(pChave: String): String; var i: Integer; begin ACBrNFe1.WebServices.Consulta.procEventoNFe.Clear; ACBrNFe1.WebServices.Consulta.NFeChave := pChave; ACBrNFe1.WebServices.Consulta.Executar; cdsEventos.EmptyDataSet; for i := 0 to ACBrNFe1.WebServices.Consulta.procEventoNFe.Count -1 do if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.tpEvento in [teManifDestConfirmacao, teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada] then begin cdsEventos.Append; cdsEventosDataHora.AsDateTime := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento; cdsEventosDescricao.AsString := TpEventoToStr(ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.tpEvento); cdsEventos.Post; end; cdsEventos.Last; //IndexFieldNames := 'DatHora'; Result := cdsEventosDescricao.AsString; end; onde cdsEventos é um ClientDataSet em memória, ordenado por Data/Hora (porque os eventos podem vir fora de ordem), Bom, é isso. Se alguém está fazendo de alguma outra forma, favor compartilhar1 ponto