Ir para conteúdo
  • Cadastre-se

Delcio

Membros
  • Total de ítens

    69
  • Registro em

  • Última visita

  • Days Won

    3

Tudo que Delcio postou

  1. Olá pessoal. Implementei o extrato no banco Sicoob. Configurações: Criar o aplicativo e obter o client-id no Portal Developers Sicoob. Setar no componente: AcbrExtrato1.Ambiente := eamProducao; AcbrExtrato1.BancoConsulta := bccSicoob; AcbrExtrato1.Banco.ClientID := Obtido ao criar o aplicativo no Portal Developpers; AcbrExtrato1.Banco.ClientSecret := ''; AcbrExtrato1.Banco.ArquivoCertificado := Caminho para a chave pública do certificado; AcbrExtrato1.Banco.ArquivoChavePrivada := Caminho para a chave privada do certificado; A chave pública e privada do certificado podem ser extraídas da mesma forma que para configurar o boleto Siccob via api. Seguem em anexo as units para a avaliação: ACBrExtratoAPI.pas ACBrExtratoAPIBB.pas ACBrExtratoAPIInter.pas ACBrExtratoAPISicoob.pas
  2. Olá pessoal. No registro 522, os tipos maiores que tmCarretaFechada geravam trocados no arquivo, por exemplo tmFurgao3_5Ton gerava BR13 = CARRETA SIDER. O manual deve ter gerado confusão, pois cita 2 vezes o tipo BR08 = CARRETA FECHADA. Segue em anexo o arquivo para avaliação. pediConversao.pas
  3. Olá pessoal estou implementando o Cresol cia API em nosso sistema e precisei fazer uns ajustes, segue para a avaliação: ACBrBoletoW_Cresol.pas: Enviar o NossoNumero se preenchido no título; ACBrBoletoRet_Cresol.pas DateCresolToDateTime: Evitar exception se vier alguma data vazia; LerRetorno: Ao registrar o banco retorna um array; DataVencimento não era lida corretamente(dtvencimento); Se Liquidado, obter a Data do Pagamento e o Valor Pago; ACBrBoletoW_Cresol.pasACBrBoletoRet_Cresol.pas Ajustes Cresol.patch
  4. Olá pessoal. Planalto Alegre alterou a versão da IPM, agora é 1.01, segue as mudanças: Antes: [4213153] Nome=Planalto Alegre UF=SC Provedor=IPM Agora: [4213153] Nome=Planalto Alegre UF=SC Provedor=IPM Versao=1.01 ProRecepcionar=https://ws-planaltoalegre.atende.net:7443/?pg=rest&service=WNERestServiceNFSe HomRecepcionar=https://ws-planaltoalegre.atende.net:7443/?pg=rest&service=WNERestServiceNFSe Se alguém puder atualizar. Grato.
  5. Olá pessoal, espero que estejam todos bem. Compartilho com voçês um projeto em que venho trabalhando, acabei tendo que deixar o projeto de lado por algum tempo, mas agora estou trabalhando nele e devo disponibilizar os fontes nos proximos dias.
      • 2
      • Obrigado
      • Curtir
  6. Olá pessoal. O XSD fornecido pelo provedor pública não contempla informar os dados da obra, então se eu informar, ocorre erro de validação. Porém no manual consta a informaçao desses campos, então acho que a falha está no schema deles. Como tenho clientes que precisam informar esses dados, fiz a adequação do schema e dai validou e gerou a NFSe corretamente. Segue o schema ajustado caso algém queira anexar ao projeto. nfse.xsd
  7. Testei com o arquivo que coloquei em anexo, reverti só parte da alteração da 31349, referente ao cancelamento. Pelo que pesquisei a 31349 foi para corrigir um erro de validação ao gerar, então se reverter toda ela, vai dar novamente o problema ao gerar.
  8. Só pra retornar, testamos, gerar, consultar e cancelar no cliente e a princípio funcionou.
  9. @Renato Rubinho e @Eduardo Faria Nazario Acho que o problema está no ACBR mesmo, voltando uma versão anterior do sistema conseguimos cancelar, comparando os dois pedidos de cancelamento, da versão anterior e da nova, a única diferença está no DigestValue, então deve ter a ver com a assinatura. Acredito que tenha sido a alteração da revisão 31349, que alterou a parte da assinatura do cancelamento. Seguem em anexo os pedidos de cancelamento aceitos e com erro, e uma possível correção, que estou aguardando pra testar no cliente amanhã. Betha.Provider.pas 239-ped-canOK.xml 239-ped-can-soapERRO.xml 239-ped-can-soapOK.xml 239-ped-canERRO.xml
  10. @Victor H. Gonzales - Panda Testado aqui, tudo ok.
  11. @Eduardo Faria Nazario Olá. Estou com o mesmo problema na cidade de Mondai-SC, conseguiu resolver aí?
  12. Olá pessoal. A continuação das informações adicionais está aparecendo sobre o titulo do campo e com uma tag de formatação. Ajustei as propriedades "Gap" e "AllowHTMLTags" do "memContInfAdicionais". Na ultima revisão, AllowHTMLTags foi alterada pare "true" no "memObs" e não no "memContInfAdicionais" que é continuação dele, acho que por isso exibia essa tag, depois de setar também no "memContInfAdicionais" não exibiu mais. Antes: Depois: Seguem os arquivos para análise. DANFePaisagem.fr3 DANFeRetrato.fr3
  13. Nos provedores que uso(Betha, SigCorp, IPM, Pública), está funcionando ok.
  14. Bom dia @Renato Rubinho, acredito que não cause problemas, o trecho que alterei estava ignorando o ultimo caractere do link, acredito que tenha passado batido na hora da implementação, a não ser que tenha sido proposital. Estou encaminhando um XML de exemplo no e-mail.
  15. Olá pessoal. Identifiquei que o link retornado no provedor Betha estava faltando o ultimo caractere, investigando parece que o problema está em TNFSeRClass.LerCampoLink, talvez afete outros provedores. Segue o ajuste para análise. ACBrNFSeXLerXml.pas
  16. Olá pessoal. A Triunfo usa o leiaute da Toledo, mas nas últimas versões do Gerenciador Triunfo com suporte a RDC429 tem diferenças para os arquivos da Toledo que o ACBR gera, o MGV7 é o mais parecido, mas mesmo assim não é aceito pelo sistema da triunfo, então resolvi criar um tipo próprio. Segue a unit caso alguém queira analisar e juntar ao projeto. No Gerenciador Triunfo tem que setar da seguinte forma: Menu Gerenciador >> Opções Gerais: Na aba "Tabela Nutricional" mudar para "Padrão novo com açúcares da IN 75/2020..." Menu Cadastros >> Importar: Em "Opções" clicar na aba "Padrão MGV Toledo", em "Layout de Produtos" selecionar "FORMATO MGV5 - MGVITENS V2"; A Triunfo não tem manual de layout para anexar, me passaram apenas uns arquivos de exemplo que estão em anexo. ACBrCargaBal.pas Infnutri.txt Itensmgv.txt
  17. Olá pessoal, se alguém puder avaliar e incluir. Os XMLs de notas canceladas baixados do site da prefeitura não vem com a TAG "situacao_codigo_nfse", vem "<situacao>C</situacao>". Segue a unit em anexo. IPM.LerXml.pas IPM.patch NFSe.xml
  18. Olá pessoal, estava tendo problema com tomadores com "&" na razão social para a cidade de Chapecó-SC. Ajustei apenas para na versão 2.04, pois não tenho clientes pra testar na 2.03. Segue em anexo para a validação. SigCorp.Provider.pas
  19. Olá pessoal. Alterei a variável usada na consulta de integer para Int64. Esse provedor retorna o ano no numero da NFS-e, ficando no formato '202300000000001', estourando o limite do integer. Na cidade que testei(Guatambu - SC) exigiu também que informasse a tag "NumeroNfseFinal" para que houvesse êxito, segundo o manual parece que tem que informar mesmo. Seguem em anexo as sugestões e o manual para análise. publica.pdf Publica.Provider.pas
  20. Olá @marcelosantos, havia tentado baixar o teu código mas não tinha permissão para baixar o anexo do teu post, dai por necessidade, tive que implementar. Vi que o teu já tem boa parte da implementação dos métodos de alteração e acredito que eu tenha todos esses endpoints liberados aqui pra poder testar. @marcelosantos, @Daniel InfoCotidiano @Pedro A. AraújoAssim que der um tempo, se me permite, vou ver qual a melhor forma de juntar as duas implementações. Seria interessante implementar os métodos de consulta por período também, mas parece que o Sicoob implementou isso de forma assíncrona, são 3 endpoints: 1- Solicitar Movimentação, 2 - Consultar Situação da Solicitação de Movimentação e 3 - Baixar Movimentação, esse último parece que traz as movimentações em um arquivo zipado, então teria que extrair e ver como é o formato desse retorno das movimentações, que não encontrei na documentação.
  21. Pequenas correções na leitura das propriedades TituloRet.EMV e RetornoWeb.JSON ACBrBoletoRet_Bancoob.pas
  22. @Juliomar Marchetti Isso, a nova que tem ambiente de homologação e boleto híbrido, havia dado uma procurada e não encontrei no fórum, dai surgiu a necessidade e tive que implementar. Mas se já tem alguém trabalhando nisso, perfeito. Vou ter que terminar de testar e colocar isso em produção ainda essa semana, qualquer dúvida fico a disposição.
  23. Olá pessoal. Não sei se alguém está trabalhando na nova API do Sicredi, estou trabalhando nessa implementação, vou fazer alguns ajustes e em breve posto aqui para análise.
  24. @Pedro A. Araújo Pra facilitar aí: 1 - Extrair a Chave pública e privada do certificado da empresa, detalhe: Tem que ser um certificado A1 ICP-BRASIL, não serve gerar um certificado auto assinado. Para facilitar a extração, usar o Demo do ACBRPixCD. 2 - Cadastrar o aplicativo no https://developers.sicoob.com.br/portal/, conforme o vídeo abaixo, mudar somente na parte da seleção da API, deve selecionar a API "Cobrança Bancária", no vídeo está a selecionando a do PIX. Na parte que pede o certificado, inserir o arquivo da chave pública do certificado extraído anteriormente. Copiar o Client ID do aplicativo cadastrado. Vídeo Cadastro Aplicativo Sicoob. 3 - Configurar o ACBRBoleto da mesma forma que configura para emitir por arquivo de remessa e incluir: AcBrBoleto.Cedente.CedenteWS.ClientID := Client_Id gerado no portal developpers sicoob; AcBrBoleto.Cedente.CedenteWS.ClientSecret := Client_Id gerado no portal developpers sicoob; AcBrBoleto.Cedente.CedenteWS.Scope := 'cobranca_boletos_consultar cobranca_boletos_incluir cobranca_boletos_baixa'; AcBrBoleto.Cedente.CedenteWS.IndicadorPix := True; //para boleto híbrido AcBrBoleto.Configuracoes.WebService.Ambiente := taProducao; //Só tem produção AcBrBoleto.Configuracoes.WebService.SSLCryptLib := cryOpenSSL; AcBrBoleto.Configuracoes.WebService.SSLHTTPLib := httpOpenSSL; AcBrBoleto.Configuracoes.WebService.SSLType := LT_TLSv1_2; AcBrBoleto.Configuracoes.WebService.TimeOut := 30000; AcBrBoleto.Configuracoes.WebService.UseCertificateHTTP := True; AcBrBoleto.Configuracoes.WebService.ArquivoCRT := 'c:\ChavePublica.pem'; \\Chave pública extraída no passo 1 AcBrBoleto.Configuracoes.WebService.ArquivoKEY := 'c:\ChavePrivada.key'; \\Chave privada extraída no passo 1 Demais scopes se for usar algum outro endpoint: { cobranca_boletos_consultar cobranca_boletos_incluir- cobranca_boletos_pagador cobranca_boletos_segunda_via cobranca_boletos_descontos cobranca_boletos_abatimentos cobranca_boletos_valor_nominal cobranca_boletos_seu_numero cobranca_boletos_especie_documento cobranca_boletos_baixa cobranca_boletos_rateio_credito cobranca_pagadores cobranca_boletos_negativacoes_incluir cobranca_boletos_negativacoes_alterar cobranca_boletos_negativacoes_baixar cobranca_boletos_protestos_incluir cobranca_boletos_protestos_alterar cobranca_boletos_protestos_desistir cobranca_boletos_solicitacao_movimentacao_incluir cobranca_boletos_solicitacao_movimentacao_consultar cobranca_boletos_solicitacao_movimentacao_download cobranca_boletos_prorrogacoes_data_vencimento cobranca_boletos_prorrogacoes_data_limite_pagamento cobranca_boletos_encargos_multas cobranca_boletos_encargos_juros_mora cobranca_boletos_pix cobranca_boletos_faixa_nn_disponiveis } Qualquer dúvida estou a disposição.
  25. Seguem as units e o patch do svn, caso alguém queira analisar, devido a falta de tempo, implementei somente os endpoints para atender a minha necessidade, as funcionalidade básicas estão implementadas, caso alguém queira incluir os outros endpoints, como alterar vencimento, desconto, etc, fique a vontade, caso contrario implementarei conforme sobrar um tempo aqui. Está funcionando o boleto híbrido inclusive, com o retorno do EMV. Tive que alterar a ACBrBoletoWS.Rest.pas para incluir o HttpResultCode 207 como Result válido, por que o Sicoob retorna ele, na inclusão de boletos. Alterei também a ACBrBoletoWS.pas, pois ao chamar TBoletoWS.Clear, o field FBoleto não era setado, passando a ser Nil; ACBrBoletoW_Bancoob.pas ACBrBoletoWS.Rest.pas ACBrBoletoWS.pas ACBrBoletoRet_Bancoob.pas Sicoob Api.patch
×
×
  • 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.

The popup will be closed in 10 segundos...