Ir para conteúdo
  • Cadastre-se

Adriano Teodorico

Membros
  • Total de ítens

    82
  • Registro em

  • Última visita

Posts postados por Adriano Teodorico

  1. Pessoal, boa tarde, de acordo com manual da FERBRABAN, esta vindo alguns motivos na confirmação da entrada do Registro, exemplo "'A4-Pagador DDA", ja tinha os motivos certinho, so estava faltando na linha 1869 da unit ACBRBancoBrasil.pas colocar no case quando o retorno for registro confirmado entrar também para pegar a mensagem de retorno.

    Segue a Unit ja alterada, não atualizei o ACBR a alguns meses, então, so mudem isso da linha 1869 e da linha 1940, adicionei o código do retorno junto com a mensagem;

    linha 1869 :

    "

    case TipoOcorrencia of
        toRetornoRegistroConfirmado, toRetornoRegistroRecusado: // 03 (Recusado)
          case CodMotivo of
            01: Result:='01-Codigo do banco invalido';

    "

     

    linha 1940:

    "

            101 { A1 } : Result := 'A1-Rejeição da alteração do número controle do participante';
            102 { A2 } : Result := 'A2-Rejeição da alteração dos dados do Pagador';
            103 { A3 } : Result := 'A3-Rejeição da alteração dos dados do Sacador/avalista';
            104 { A4 } : Result := 'A4-Pagador DDA';
            105 { A5 } : Result := 'A5-Registro Rejeitado – Título já Liquidado';
            106 { A6 } : Result := 'A6-Código do Convenente Inválido ou Encerrado';
            107 { A7 } : Result := 'A7-Título já se encontra na situação Pretendida';
            108 { A8 } : Result := 'A8-Valor do Abatimento inválido para cancelamento';
            109 { A9 } : Result := 'A9-Não autoriza pagamento parcial';

    "

     

    Atenciosamente.

     

     

    ACBrBancoBrasil.pas

  2. Eu ja tinha procurado na base, mais não notei algo que sanasse a minha duvida, eu postei a duvida, porque testei com um bloco, a ordem do "resumo[i]" veio na mesma da "NotasFiscais.Items[i]", joguei em produção dessa forma, mais obtive problema.

    Emiti 70 notas, ai o provedor que utilizo, é de 10 em 10 o bloco de RPS, então gero os primeiros 10 e envio, deu sucesso, ja vou para os próximos 10, ai que é esta estranho. O primeiro bloco veio na ordem certa nos 2 objetos, o segundo... e la no quinto bloco, veio fora de ordem, ai ficou A NFSe numero 50 com o XML da NFSe 53, e a NFSe 53 ficou com o XML 55, ai NFSe 55 ficou com o XML da NFSe 50.

    Por isso que fiquei com duvida, se foi realizado "ConsultarLoteRps", os objetos não deveriam seguir a mesma ordem?

     

    Atenciosamente

  3. Pessoal bom dia, migrei recentemente o NFSe para o NFSeX. e me surgiu uma duvida, se alguém poder esclarecer, agradeço. 

    Quando vou emitir um bloco de RPS, utilizo dessa forma ".Emitir(cLoteNFSeX,meAutomatico,False)", logo depois eu faço uma consulta no lote utilizando "ConsultarLoteRps", no retorno do consultar "ConsultaLoteRps", como são varios RPS enviado no mesmo lote, estou pegando dessa forma o retorno dessa consulta:

    "

                          for i := 0 to Resumos.Count -1 do
                          begin
                                  vVetorNFSe.NFSe[nPosVetor].cNFSeSerie      := Resumos[i].SerieNota;
                                  vVetorNFSe.NFSe[nPosVetor].cNFSeID           := Resumos[i].IDNota;
                                  vVetorNFSe.NFSe[nPosVetor].cNFSeLink        := Resumos[i].Link;
                                  vVetorNFSe.NFSe[nPosVetor].cNFSeNumero  := Resumos[i].NumeroNota;
                                  vVetorNFSe.NFSe[nPosVetor].cNFSeCodVerif := Resumos[i].CodigoVerificacao;
                                  vVetorNFSe.NFSe[nPosVetor].cProtocolo         := Resumos[i].Protocolo;

                                  vVetorNFSe.NFSe[nPosVetor].cNFseXML        := DMI.ACBrNFSeX.NotasFiscais.Items[i].XmlNfse;
                          end;

    "

    A minha grande duvida é qual é a maneira correta de eu pegar o XML da NFSe ja separada, notem que estou pegando as informação da NFSe vindo do resumo[i] e o XML da NFSe a que esta carrega no componente, "NotasFiscais.Items[i].XmlNfse". A nota da posicao 1 do "resumo[i]" é a mesma nota do "NotasFiscais.Items[i]" nesse caso?

     

    Atenciosamente.

     

  4. Em 05/01/2024 at 08:50, Italo Giurizzato Junior disse:

    Bom dia Adriano,

    Atualize todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.

    Boa tarde Italo, perfeito a solução criada, parametrizei para Dracena-SP não enviar a tag no arquivo, gerou certinho. Poderia ja ajustar o ACBrNFSeXServicos.ini por favor. Dracena tem que ficar dessa forma:

     

    "

    [3514403]
    ; Atualizado em 05/01/2024
    Nome=Dracena
    UF=SP
    Provedor=ISSNet
    Versao=2.04
    ProRecepcionar=https://nfse.issnetonline.com.br/abrasf204/dracena/nfse.asmx
    HomRecepcionar=https://www.issnetonline.com.br/homologaabrasf/webservicenfse204/nfse.asmx

    "

     

    Muito Obrigado

    Atenciosamente.

  5. 7 horas atrás, Italo Giurizzato Junior disse:

    Bom dia Adriano,

    Se você abrir a unit ACBrNFSeXGravarXml_ABRASFv2, procedure configuracao temos:

      FNrOcorrRegimeEspecialTributacao := 0;
      FNrOcorrValorISS := 0;
      FNrOcorrAliquota := 0;
      FNrOcorrDescIncond := 0;

    Como você pode ver o componente configura essas duas tag como sendo opcionais para todos os provedores que seguem a versão 2 do layout da ABRASF.

    Se você remover o IF inteiro vai dar na mesma.

    Como você fez uma alteração na unit do provedor ela vai surtir efeito para todas as cidades atendidas por esse provedor nessa versão.

    Como que fica as demais cidades?

    Já que o provedor não é capaz de estabelecer um padrão para todas as cidades que ele atende por incompetência e olhar para o próprio umbigo, temos que dar os nossos pulos.

    Você teria alguma sugestão de como resolver?

    Boa tarde Italo, o provedor ISSNet esta implantando aqui em dracena, someçou ontem em produção, só b.o. Produção tudo diferente de homologacao, sacanagem, olhe a resposta dela:

    "

    A regra diz que quando optante do simples tem que informar as tags com valor de ISS e alíquota. Dracena, definiu que não precisaria informar as tags, existe alguma legislação que permite os optantes do simples tributar de forma diferente.

    Isso também ocorre em Brasília - DF.

    Nos demais municípios é obrigatório que o optante do simples, informe as tags.
    Em Dracena, como há essa legislação, se informar a tag zerada está errado. Essas tags deverão ser excluídas da estrutura.

    "

    Eu acho que o melhor a fazer para o bem todos, seria uma propriedade, "enviaTagISS", "enviaTagValorISS", assim cada um configuraria de acordo com a cidade especifica desse provedor.

     

    Obrigado Italo.

    abraço

  6. Boa tarde, ISSNet, quando é simples Nacional, na versão 2.04, quando é uma configuração deles que simples nacional não envia a alíquota, segundo eles esta assim Dracena-SP e Brasilia (Ridiculo isso), não tem que enviar a TAG da Aliquota e do valor do ISS.

     

    Mudei o Arquivo ISSNet.GravarXml.pas

     

    function TNFSeW_ISSNet204.GerarXml: Boolean;
    begin
      if (NFSe.Tomador.Endereco.CodigoMunicipio = '9999999') or
         (NFSe.Tomador.Endereco.UF = 'EX') then
        NrOcorrCodigoPaisServico := 1;

      if (NFSe.OptanteSimplesNacional = snSim) or
         (NFSe.RegimeEspecialTributacao = retMicroempresarioIndividual) then
      begin
        NrOcorrValorIss := 0;
        NrOcorrAliquota := 0;

      end;

      Result := inherited GerarXml;
    end;

     

    ISSNet.GravarXml.pas

  7. Bom dia, a cidade de Dracena-SP mudou o provedor que emite a NFSe, antes era Fiorilli e a partir do dia 02/01/2024 será o provedor ISSNET, poderiam atualizar ai por favor.

     

    [3514403]
    Nome=Dracena
    UF=SP
    Provedor=ISSNet
    Versao=2.04
    ProRecepcionar=https://nfse.issnetonline.com.br/abrasf204/dracena/nfse.asmx
    HomRecepcionar=https://www.issnetonline.com.br/homologaabrasf/webservicenfse204/nfse.asmx

     

    Atenciosamente.

  8. Em 06/11/2023 at 16:49, Renato Rubinho disse:

    O ISSNET possui um método para consulta do link.

    ConsultarLinkNFSe()

    Veja no programa de exemplo como chamar o método, ele irá alimentar a propriedade link para geração do qrcode.

    Boa tarde Renato, o ConsultarLinkNFSe para o ISSNet funciona perfeitamente, só tem um detalhe que tive que arrumar aqui para funcionar, poderia já arrumar no projeto por favor?

     

    Na Unit ISSNet.Provider.pas

    Procedimento "GerarMsgDadosConsultaLinkNFSe"

     

    Tem um trecho do código que esta:

    "'<InscricaoMunicipal>' + OnlyNumber(Emitente.InscMun) + '</InscricaoMunicipal>' +"

    esta tirando a formatação da inscrição municipal. A consulta tem que ser com a formatação.

    correção aplicada:

    " '<InscricaoMunicipal>' + Emitente.InscMun + '</InscricaoMunicipal>' +"

     

    Muito Obrigado

    Atenciosamente.

     

  9. Boa tarde Pessoal, procurando o problema, "Lote de RPS nao assinado", encontrei esse tópico sem resolução:

    isso ocorre quando a configuração do SSLXmlSignLib esta:

    "ACBrNFSeX.Configuracoes.Geral.SSLXmlSignLib := xsMsXml;"

    trocando por esse, vai resolver

    "ACBrNFSeX.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2"

     

    Isso utilizando já o NFSeX.

     

    Atenciosamente.

  10. Boa tarde Pessoal, as cidades abaixo utiliza o provedor Facundo, poderia adicionar por favor?

    [3536406]
    Nome=Pauliceia
    UF=SP
    Provedor=Facundo

     

    [3541307]
    Nome=Presidente Epitacio
    UF=SP
    Provedor=Facundo

     

    Atenciosamente.

     

  11. Boa tarde, só para todos saber, eu já mandei uns par de e-mail para o SIMPLISS reclamando dessa demora, mais sempre falam para falar na prefeitura, pois então eu liguei lá, falei com uma moça que ela é do SIMPLISS mais fica dentro da prefeitura, falou que iria participar desse assunto e verificar o que daria para ser feito. Poucos dias depois da minha ligação, veio a resposta por e-mail, segue:

    "

    Bom dia Sr. Adriano,
    Apresentei ao diretor do Departamento de ISS - Sr. David Jabes - o seu pedido de alteração de versão do layout da ABRASF da 1 para a 2.03.
    O mesmo informou que por hora essa alteração não é viável, visto que o impacto seria muito grande, no município todo.
    Porém, o caso será estudado para que no próximo ano essa mudança possa ocorrer de maneira mais tranquila, com uma data estipulada e com tempo hábil para os desenvolvedores e usuários do sistema se adaptarem a essa nova versão.

    Atenciosamente,

     Flávia Tomiazi Peres

    Suporte Técnico Presidente Prudente

    "

    Eu oriento quem esta incomodado com essa demora, como eu, encaminhe um e-mail postando a reclamação para: [email protected][email protected]. Acredito quanto mais gente reclamando, logo eles providenciam essa mudança.

     

    Atenciosamente.

    Adriano Teodorico dos Santos

  12. 18 minutos atrás, Italo Giurizzato Junior disse:

    Bom dia Adriano,

    O problema desse provedor é que ele possui dois webservices, sendo que um deles segue a versão 1 do layout da ABRASF e o outro a versão 2.03

    A cidade em questão se utiliza do webservice que trabalha na versão 1 do layout da ABRASF.

    E na versão 1 só existe um serviço de recepção de RPS que é em lote no modo assíncrono.

    Eles criaram para esse webservice um serviço chamado GerarNFSe cujo layout do XML do RPS a ser enviado não segue o padrão ABRASF.

    O componente não esta preparado para gerar esse XML fora do padrão.

    O grande problema é que a rotina que gera o XML do RPS não sabe qual é o serviço que vai ser consumido, logo não tem como direcionar a geração do XML para uma outra rotina que gere ele fora do padrão ABRASF.

    O ideal seria eles migrarem para a versão 2.03

    Boa Tarde Italo, perfeito, vou encaminhar um e-mail pra eles "forçando" eles a alterar para a versão 2.03, conseguindo, eu comunico.

    Muito Obrigado

     

    Atenciosamente.

    • Curtir 1
  13. Utilizo atualmente de forma Assíncrona, já no componente ACBRNFSeX, mais não da mais, esta demorando horas o processamento.

    Eles tem leiaute próprio, para utilizar o GerarNFSe(Síncrono), conforme o e-mail deles configurei da seguinte forma:

     

    ACBrNFSeXServicos.ini

    "

    [3541406]
    ; Atualizado em 17/08/2021
    Nome=Presidente Prudente
    UF=SP
    Provedor=SimplISS
    Versao=2.03
    ProRecepcionar=http://issprudente.sp.gov.br/ws_nfse/nfseservice.svc
    ;
    ProLinkURL=http://issprudente.sp.gov.br/ws_nfse/nfseservice.svc

    "

    E na chamada a única forma que consegui comunicação foi utilizando da seguinte forma:

    "DMI.ACBrNFSeX.Emitir(nLoteNFSeX.ToString,meUnitario,False);"

     

    Foi a configuração mais próxima que cheguei, se tiver outro, peço que me oriente por favor.

     

    Só que não obtive sucesso, pelo que notei o pacote enviado não esta de acordo que eles esperam, esta retornando o erro "a:ActionNotSupported".

    Anexei o XML de retorno, e o arquivo de envio.

    Poderia me orientar por favor o que devo fazer pra dar certo utilizando o ACBRNFSeX?

     

    Atenciosamente.

    Adriano Teodorico dos Santos

    402-lista-nfse-ger-soap.xml 402-ger-nfse-soap.xml

  14. Em 04/03/2022 at 09:02, Italo Giurizzato Junior disse:

    Bom dia Italo, tudo bem?

    Poderia por favor já inclui ai também a cidade de Junqueirópolis/SP?

    [3526001]
    Nome=Junqueiropolis
    UF=SP
    Provedor=Fiorilli
    Versao=2.00
    ProRecepcionar=http://servicos.junqueiropolis.sp.gov.br/IssWeb-ejb/IssWebWS/IssWebWS?wsdl
    ProLinkURL=http://servicos.junqueiropolis.sp.gov.br/issweb/formGerarNF.jsf?nroNota=%NumeroNFSe%&codVerificacao=%CodVerif%&cnpj=%Cnpj%&hash=%ChaveAcesso%

     

     

    Muito Obrigado, abraço.

  15. Pessoal, boa tarde, por favor. na unit ACBrBancoBrasil, na função CodMotivoRejeicaoToDescricao, poderiam adicionar alguns motivos que estão faltando quando o Titulo for liquidado:

    function TACBrBancoBrasil.CodMotivoRejeicaoToDescricao(const TipoOcorrencia: TACBrTipoOcorrencia; CodMotivo: Integer): String;

    ...

    toRetornoLiquidado, toRetornoBaixaAutomatica, toRetornoLiquidadoSemRegistro: // 06, 09 e 17 (Liquidado)
          case CodMotivo of
            01: Result:='01-Por saldo';
            02: Result:='02-Parcial';
            03: Result:='03-No proprio banco';
            04: Result:='04-Compensacao eletronica';
            05: Result:='05-Compensacao convencional';
            06: Result:='06-Por meio eletronico';
            07: Result:='07-Apos feriado local';
            08: Result:='08-Em cartorio';
            30: Result:='30-Liquidação no Guichê de Caixa em cheque';
            09: Result:='09-Comandada banco';
            10: Result:='10-Comandada cliente arquivo';
            11: Result:='11-Comandada cliente on-line';
            12: Result:='12-Decurso prazo - cliente';
            13: Result:='13-Decurso prazo - banco';

           14: Result:='14-Protestado';
            15: Result:='15-Titulo Excluido';
            30: Result:='30-Liquidacao no guiche de caixa em cheque';
            31: Result:='31-Liquidado em banco correspondente';
            32: Result:='32-Liquidado Terminal Auto-Atend';
            33: Result:='33-Liquidado Internet';
            34: Result:='34-Liquidado Office Banking';
            35: Result:='35-Liquidado Correspondente Dinheiro';
            36: Result:='36-Liquidado Correspondente Cheque';
            37: Result:='37-Liquidacao por meio de Central de Atendimento';

            99: Result:='99-Liquidado por agendamento';

     

    Muito Obrigado.

     

    Atenciosamente.

     

  16. sandrojoel

    Em 04/10/2021 at 09:46, sandrojoel disse:

    Bom dia JHONLENON, tudo bem, aproveitando os codigos que voce compartilhou

    estou tentando fazer o consumo da api do pix do sicoob , ja tentei de varias formas , via indy por rest client e não estou conseguindo, estou tentando a umas duas semanas.

    O pessoal do sicoob mandou enviar o certificado em formato .pem do cliente e eles geraram o client_id e client_secret.

    No Manual do sicoob esta assim. Já entrei em contato com eles via email mas eles não tem nenhum exemplo da api do pix em alguma linguagem de programação ou alguma chamada via postam.

    Estou tentando via restclient só que não sei se os parametros estão corretos e se tem alguma forma de passar o certificado. Da o seguinte erro

    raised exception class ENetHTTPCertificateException with message 'Unspecified certificate from client'.

     

    Se alguém já passou por essa situação ou conseguiu autenticar na api do pix e puder ajudar de alguma forma fico muito agradecido.

     

    1.1.1. Homologação
    URL Post: https://api-homol.sicoob.com.br/cooperado/pix/token
    Exemplo de consumo:
    Form Data
    grant_type=client_credentials
    client_id=xxxxxxxxxxxxxxxxxx
    client_secret=xxxxxxxxxxxxxxxxxx
    scope=< -- Lista de escopos desejados --

    Exemplo

    curl -v --key private-key.pem --cert certificate.crt --location --request POST 'https://api-homol.sicoob.com.br/cooperado/pix/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'client_id=xxxxxxxxxxxxxxxxxxxx' --data-urlencode 'client_secret=xxxxxxxxxxxxxxxxxx' --data-urlencode 'scope=cob.read'

     

    procedure TForm9.Button3Click(Sender: TObject);
    var
      FParams, access_token, refresh_token: String;
      Json, scope, token_type, expires_in, URL_SICOOB, LValue: String;
      JsontoSend, AResponseContent: TStringStream;
      LClient: TRESTClient;
      LRequest: TRESTRequest;
    begin

      URL_SICOOB := 'https://api-homol.sicoob.com.br/cooperado/pix/token';
      LClient := TRESTClient.Create(self);
      LRequest := TRESTRequest.Create(self);
      LRequest.Client := LClient;
      LRequest.Method := TRESTRequestMethod.rmPOST;

      try
        LClient.BaseURL := URL_SICOOB;
        LRequest.AddParameter('client_id', 'clientiddocliente');
        LRequest.AddParameter('client_secret', 'clientsecretdocliente');
        LRequest.AddParameter('grant_type', 'client_credentials');
        LRequest.AddParameter('scope', 'pix.read');
        LRequest.Execute;
        if (LRequest.Response.StatusCode = 200) then
        begin
          if LRequest.Response.GetSimpleValue('access_token', LValue) then
          begin
            access_token := CamposJsonString(LRequest.Response.JSONText, 'access_token');
            refresh_token := CamposJsonString(LRequest.Response.JSONText, 'refresh_token');
            expires_in := CamposJsonString(LRequest.Response.JSONText, 'expires_in');
            scope := CamposJsonString(LRequest.Response.JSONText, 'scope');
          end
          else
          begin
            FreeAndNil(LRequest);
            FreeAndNil(LClient);
            if Application.MessageBox('Atenção...token não retornado na requisição', 'Sistema', MB_OK) = IDOK then
              exit;
          end;
        end
        else
        begin
          FreeAndNil(LRequest);
          FreeAndNil(LClient);
          ShowMessage('Atenção...Erro ao obter token: ' + LRequest.Response.JSONText);
          exit;
        end;
      Finally
        FreeAndNil(LRequest);
        FreeAndNil(LClient);
      end;
      Close;
    end;

     

     

    Boa tarde, tambem estou fazendo a API PIX do SICOOB, ja teve alguma evolução?

  17. Em 16/08/2021 at 14:43, Sergio Tucano Clemente Da Silva Filho disse:

    Boa !

    Preciso enviar o seguinte set de comandos para uma impressora Print-ID :

    0x1B 0xDD <TTTT> <LLLL> <D0D1D2D3...>

    <TTTT> Timeout

    <LLLL> Tamanho da imagem

    <D0D1D2D3...> Raw data da imagem.

    O Set de comandos em questão irá exibir no display da impressora uma imagem.

    É  possível fazer isso com o ACBr ? Poderiam me explicar como eu enviaria os comandos 0x18 (ESC), 0xDD e o RAW já que o acbr trabalha com as tags?

    Valeu !

    Boa tarde Sergio, estou com uma impressora dessa aqui, você consegui enviar mensagem e o QR Code para o Visor dela?

  18. 18 horas atrás, Rafael Dias disse:

    Este componente é exclusivo para impressão da NFCe, como pode ser ver pela clase base do mesmo [TACBrNFeDANFCEClass], se pretende imprimir NFe em escpos você vai precisar criar outro componente e implementar todas as impressos corretas para isso, tanto quanto normal como simplificada.

    Boa tarde Rafael, sim compreendo, o que eu teria que criar seria o componente ACBrNFeDANFeESCPOS, onde utilizaria a classe TACBrNFeDANFeClass , porém quando comecei a mexer, notei que para impressão do NFCe utiliza o componente ACBrNFeDANFeESCPOS e teria que ser ACBrNFeDANFCeESCPOS(que não tem), isso foi um dos motivos para eu não ter criado ACBrNFeDANFeESCPOS(utilizado hoje para impressão de NFCe) e [TACBrNFeDANFEClass].

     

    Se não der para aproveitar algo, não tem problema, minha intenção foram as melhores.

     

    Atenciosamente.

  19. 18 horas atrás, Juliomar Marchetti disse:

    Calma Adriano. vamos agora analisar e avaliar dai subimos

    Juliomar, a minha pressa era em colaborar, mesmo ficando fora do padrão ACBR, as minhas intenções foram as melhores. Agora para disponibilizar para uso, sem pressa e se der também, eu sou extremamente agradecido a todos os envolvidos na criação e manutenção desse componente que atende mais que perfeito as minhas necessidades e de muitos outros.

     

    Atenciosamente.

    • Curtir 1
  20. Em 22/06/2020 at 08:53, Juliomar Marchetti disse:

    Será preciso implementar no caso criar para fast report, fortes report e escpos ficaria show.

    caso queira contribuir com o projeto basta anexar depois os fontes aqui que ajudamos a validar e subimos ao svn

    Boa tarde Juliomar, só consegui mexer hoje, poderia incluir as alterações dessa Unit no ACBR por favor?

    Atualizei o ACBR hoje e ja fiz as modificações para impressão EscPos.

    Enviei também um modelo Impresso, não saiu o Cód.Barras da Chave de acesso porque a impressora que utilizo para teste é uma xingling, e nao imprime 128-C.

     

    Atenciosamente.

     

    ACBrNFeDANFeESCPOS.pas

    Danfe_Simplificado.png

    • Curtir 2
×
×
  • 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.