Ir para conteúdo
  • Cadastre-se

wilsonaaugusto

Membros
  • Total de ítens

    44
  • Registro em

  • Última visita

Tudo que wilsonaaugusto postou

  1. Atualizando: 1 - No ISSSaoPaulo.GravarXml.pas, mudei if VersaoNFSe = ve200 then begin if NFSe.Servico.CodigoMunicipio <> '' then LNFSeNode.AppendChild(AddNode(tcStr, '#1', 'cLocPrestacao', 7, 7, 1, NFSe.Servico.CodigoMunicipio, '')) else LNFSeNode.AppendChild(AddNode(tcStr, '#1', 'cPaisPrestacao', 2, 2, 1, CodIBGEPaisToSiglaISO2(NFSe.Servico.CodigoPais), '')); end; por if VersaoNFSe = ve200 then begin if NFSe.Servico.CodigoMunicipio = '' then NFSe.Servico.CodigoMunicipio := NFSe.Tomador.Endereco.CodigoMunicipio; if NFSe.Servico.CodigoMunicipio <> '' then LNFSeNode.AppendChild(AddNode(tcStr, '#1', 'cLocPrestacao', 7, 7, 1, NFSe.Servico.CodigoMunicipio, '')) else LNFSeNode.AppendChild(AddNode(tcStr, '#1', 'cPaisPrestacao', 2, 2, 1, CodIBGEPaisToSiglaISO2(NFSe.Servico.CodigoPais), '')); end; e no ISSSaoPaulo.LerXml.pas, mudei if NFSe.Servico.CodigoMunicipio = '' then NFSe.Servico.CodigoMunicipio := NFSe.Prestador.Endereco.CodigoMunicipio; por if NFSe.Servico.CodigoMunicipio = '' then NFSe.Servico.CodigoMunicipio := NFSe.Tomador.Endereco.CodigoMunicipio; Com isso o xml do RPS está sendo gerado e enviado corretamente. Mas não acho que é a solução final, posso estar preenchendo as propriedades do componente de maneira errada. Mas queria finalizar este tópico. Obrigado.
  2. Forçando a barra e colocando : NFSe.Servico.CodigoPais := 1058; NFSe.Servico.CodigoNBS := ObterConteudo(ANode.Childrens.FindAnyNs('NBS'), tcStr); ao final da procedure "LerXmlRps()" do "ISSSaoPaulo.LerXML.pas" funcionou mas aí veio: Falhas(s): Código : 267 Mensagem: Código do país onde ocorreu a prestação do serviço no exterior não pode se referir ao Brasil. Para os casos em que a prestação de serviço ocorrer no Brasil, deve ser preenchido o campo de código do município do local da prestação do serviço no país. Correção: Numero/Série Rps: 124648/1 Voltei à estaca zero.
  3. Após alguns testes, verifiquei que, ao enviar o xml do RPS, na procedure ISSSaoPaulo.Provider.TACBrNFSeProviderISSSaoPaulo.PrepararEmitir(), linha 545(LNota.GerarXML;) acontece de ser gerado um novo xml para o RPS com a tag "cPaisPrestacao" em branco que é enviado gerando a falha e, depois, sendo gravado por cima da original.
  4. Falha minha. Após ler o xml, a propriedade "CodigoMunicipio" não é preenchida quando xml de RPS. Somente se xml de NFSe. Mas a falha inicial continua acontecendo ao enviar o xml do RPS.
  5. Após enviar o xml, deu a mesma falha. Notei que após carregar o xml e dar a falha, o ACBrNFSeX regrava o xml com a tag vazia. Antes estava preenchida. No "ISSSAoPaulo.LerXml.pas" temos: NFSe.Servico.CodigoMunicipio := ObterConteudo(ANode.Childrens.FindAnyNs('MunicipioPrestacao'), tcStr); if NFSe.Servico.CodigoMunicipio = '' then NFSe.Servico.CodigoMunicipio := NFSe.Prestador.Endereco.CodigoMunicipio; Neste caso ele está preenchendo novamente o Servico.CodigoMunicipio antes de enviar. Vou tentar apagar novamente após ler o xml e antes de enviar pra ver o que acontece.
  6. Descobri que se eu não preencher "NFSeX.Servico.CodigoMunicipio" (NFSeX.Servico.CodigoMunicipio := '';), ele gera a tag. Vou testar o envio do xml para a prefeitura e ver o resultado.
  7. Ao enviar o .xml do RPS para a cidade de São Paulo, usando o ACBrNFSeX, estou recebendo a falha: Erro de Validação: --> 1839 - Element 'cPaisPrestacao': [facet 'pattern'] The value '' is not accepted by the pattern '[A-Z]{2}'. Estou preenchendo as seguintes propriedades: NFSeX.Servico.CodigoMunicipio := '3550308'; NFSeX.Servico.UFPrestacao := 'SP'; NFSeX.Servico.CodigoPais := 1058; NFSeX.Servico.xPais := 'BRASIL'; NFSeX.Servico.CodigoMunicipioLocalPrestacao := 3550308; Tem alguma propriedade que estou deixando de preencher?
  8. Fiz a limpeza e reinstalação e resolveu. Obrigado!
  9. Sei que este tópico é antigo, mas vim aqui procurando alguma dica para o meu problema. Estou com os fontes do ACBr atualizados, e começou a aparecer no GZIPUtils.pas, procedure RawDeflateCompress(), linha 287: [Error] GZIPUtils.pas(287): Undeclared identifier: 'TZCompressionLevel' Uso o Delphi 7, sei que há alguma incompatibilidade com a ZLib.pas , mas não consigo achar a solução. Poderiam me dar alguma ideia do que está acontecendo? Se for o caso de encerrar este tópico e abrir outro, tudo bem.
  10. Sim. Concordo. Mas é um sistema legado. Tenho que resfriar o motor e deixar usando do jeito que está antes de reformar o "carro" completamente. Por isso que pensei em fazer essa alterações. Obrigado.
  11. Complementando: eu uso o ACBeECFVirtualNFCe atrelado ao ACBrECF e ao ACBrPosPrinter. A propriedade "ControlePorta" do ACBrECF deveria ficar como "True"? Isso poderia ajudar nesta situação?
  12. Bom dia! Na minha aplicação uso o ACBrECFVirtualNFCe com ACBrECF para envio da NFCe, eu chamo o "TACBrECF.Ativar" no início da aplicação. Como as emissões de NFCe ocorrem em intervalos não controlados (podem ser uma NFCe atrás da outra, como pode ficar uns 40 minutos sem emissão...), tem acontecido "Access violation at address 0204472C in module 'ACBR_NFCeECFVirtual'.bpl Read of address 00000084" após um intervalo longo entre as emissões. E fecho a aplicação para voltar ao normal. No caso de longos intervalos, seria melhor chamar o "TACBrECF.Ativar" no ínicio de cada emissão de NFCe e o "TACBrECF.Desativar" no final dela? Sei que a prática é ativar ao abrir o aplicativo e desativar no fechamento do mesmo.
  13. Bom dia! É isso mesmo. Usei a propriedade NextReport para encadear os TRLReport necessários. Agora é cria a lógica entre as vias que preciso. Obrigado pela atenção. Marquei a minha resposta como solução, mas quem deu a solução mesmo foi o Daniel. Muito obrigado!
  14. Vou testar NextReport esta noite. Depois, volto com os resultados... Obrigado!
  15. Boa tarde! Estou migrando um relatório do Rave Reports para o Fortes Reports. Esse relatório tem 5 vias, sendo as 3 primeiras idênticas, só muda uma nota no rodapé onde é impresso "1a via - Cliente", "2a via - Técnico" e "3a via - Arquivo". A 4a e a 5a via são relatórios diferentes. O usuário pode imprimir todas as 5 vias ou selecionar quais as que serão impressas. São 3 relatório montados no Rave: rep1, rep4 e rep5. Será que dá para, em um preview personalizado do Fortes, gerar um relatório multiplo? Refazendo os 3 relatórios do Rave em 3 TRLReport do Fortes, daria para chamá-los em sequência como se fosse um só?
  16. Obrigado! Estava seguindo as instruções do exemplo. Já fiz o cadastramento da minha aplicação. Coloquei um link de callback (que é obrigatório). Na verdade, criei um link fictício pois não tenho página para a aplicação. Como tenho que usar o Delphi 7, fiz a instalação do Indy 10 e montei o código que coloco anexo. Nos meus testes, consigo abrir a página de login em um TWebBrowser e capturo o link de callback. Com isso, obtive o "authorization code" que irei usar para obter os tokens. O TWebBrowser não dá uma aparência bonita para a página, mas é o que tenho... rsrsrs Agora preciso adaptar isso na minha aplicação. Quando der, vou ver como migrar para uso do Synapse. Agradeço a atenção. BlingAuthorizationcode.txt
  17. Boa tarde! Estou tentando usar a Synapse ou o Indy 10 para acessar a Bling API v3. Logo no início, ao tentar fazer a autenticação, tenho que fazer um GET ou POST na URL indicada por eles, passando o cliente_ID. O problema que estou enfrentando é que: testando no Postman, o retorno é uma página para entrar com o usuário e senha e depois a API devolve o token desejado. Mas não sei como obter esta página usando a Synapse ou o Indy 10. Tudo o que recebo é "HTTP/1.1 302 Found" em ambos. Alguém poderia me dar uma direção a seguir, por favor...
  18. Olá! Eu cheguei a fazer a solução citada anteriormente, mas não obtive o resultado desejado. Vou anexar as alterações que fiz para que analisem. Obrigado pela atenção. ACBrBoletoFCFortesFr.dfm
  19. Boa tarde! Encontrei esse problema com a linha digitável, alterei o tamanho do componente "txtLinhaDigitavel" da unit "ACBRBoletoFCFortesFr.pas" para 455. Resolveu, por enquanto. Outra alternativa é mudar o tamanho do fonte de 12 para 11, mas não achei que ficou bom. Sei que em uma nova atualização perderei esta modificação, mas é isso.. Um abraço.
  20. Boa tarde É possível usar a impressão do boleto no layout lPadraoPIX com outros bancos além do banco do brasil? As informações que vão no QRCode (url, txId e emv) sempre virão de uma API? E os boletos que são enviados via arquivo de remessa? Como eles podem obter os dados para o QRCode?
  21. Bom dia! Acabei resolvendo da seguinte maneira: coloquei o valor 68 em 'ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito' mesmo. O calculo do digito do Nosso Numero ficou correto. Obrigado
  22. Boa tarde! Estou gerando boletos para o banco Sicredi. Fui informado que preciso colocar a informação Posto de 2 digitos para ser usado em 'Agência / Código Beneficiário' do boleto. Olhei os fontes e encontrei a função: function TACBrBancoSicredi.MontarCampoCodigoCedente (const ACBrTitulo: TACBrTitulo ) : String; begin Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia + '.' + PadLeft(ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito,2,'0')+ '.' + PadLeft(ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente,5,'0'); end; Notei que onde me foi indicado para usar o posto está sendo colocado o digito da agencia. No meu caso, o numero que preciso colocar é '68' e o dígito da minha agencia é 2. Onde eu coloco o valor 68 que me foi passado como valor do Posto? Obrigado pela atenção
  23. Entendi. Estou, aos poucos, encontrando o que preciso e adaptando o código. Agradeço pela sua atenção. Muto obrigado.
  24. Sim, eu vi este trecho de código. Notei o uso do count para erros e Alertas. E, pelo que entendi, usa o LoadXML para "pegar" os dados das notas. Como estou dando manutenção em código herdado, achei que teria algo similar ao que já tenho feito (ex. if NF.NfseCancelamento.DataHora <> 0 then) para não ter que mudar as regras já estabelecidas aqui. Desculpa não prestei atenção no trecho "memoLog.Lines.Add(" Vou ver como adapto aqui. Obrigado
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.