Ir para conteúdo
  • Cadastre-se
  • Total de ítens

    41
  • Registro em

  • Última visita

Posts postados por [email protected]

  1. Senhores bom dia!

    Será que poderiam me ajudar?

    Ainda não consegui ter sucesso pra homologar a emissão de boleto com o Banco do Brasil.

    Conforme orientação do suporte do Developer do BB devo usar os dados fictícios.
    Ok estou usando, porém ao tentar ao tentar registrar o boleto online para os dois casos (cobBancoDoBrasilAPI e cobBancoDoBrasilWS), ocorrem os retornos no Log (ArqBoletoWS.log) que descrevo a seguir.

    ---------cobBancoDoBrasilAPI----------
    02/04/24 10:49:09:780 - Autenticando Token... 
    02/04/24 10:49:10:316 - Comando Enviar: {"numeroConvenio":3128557,"numeroCarteira":17,"numeroVariacaoCarteira":35,"codigoModalidade":1,"dataEmissao":"02.04.2024","dataVencimento":"19.04.2024","valorOriginal":5,"valorAbatimento":5,"codigoAceite":"N","codigoTipoTitulo":2,"descricaoTipoTitulo":"DM","numeroTituloBeneficiario":"0000000001","campoUtilizacaoBeneficiario":"","numeroTituloCliente":"00031285570000012345","mensagemBloquetoOcorrencia":"","jurosMora":{"tipo":3},"pagador":{"tipoInscricao":1,"numeroInscricao":97965940132,"nome":"ODORICO PARAGUASSU ","endereco":"Avenida Dias Gomes 1970","cep":77458000,"cidade":"SUCUPIRA","bairro":"CENTRO","uf":"TO"},"indicadorPix":"N"}
    02/04/24 10:49:10:599 - Retorno Envio: HTTPCode=401
    Result={ "statusCode": 401, "error": "Unauthorized", "message": "Bad Credentials", "attributes": { "error": "Bad Credentials" } }

    O suporte do BB informou conforme segue. No entanto, não sei como informar o Token mencionado por eles.

    ["Normalmente o erro “Bad Credentials” é devolvido quando o Token informado no Authorization do Header não é válido.

    Verifique se:

    O Token está expirado, sendo necessário gerar um novo
    Não está sendo informado um token
    Não está sendo informado um token válido."]

    Tentando via cobBancoDoBrasilWS:

    ---------cobBancoDoBrasilWS----------
    02/04/24 10:49:30:591 - Comando Enviar: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.tibco.com/schemas/bws_registro_cbr/Recursos/XSD/Schema.xsd"><soapenv:Header/><soapenv:Body><sch:requisicao><sch:numeroConvenio>3128557</sch:numeroConvenio><sch:numeroCarteira>17</sch:numeroCarteira><sch:numeroVariacaoCarteira>35</sch:numeroVariacaoCarteira><sch:codigoModalidadeTitulo>1</sch:codigoModalidadeTitulo><sch:dataEmissaoTitulo>02.04.2024</sch:dataEmissaoTitulo><sch:dataVencimentoTitulo>19.04.2024</sch:dataVencimentoTitulo><sch:valorOriginalTitulo>5.00</sch:valorOriginalTitulo><sch:codigoTipoDesconto>2</sch:codigoTipoDesconto><sch:dataDescontoTitulo>30.12.1899</sch:dataDescontoTitulo><sch:percentualDescontoTitulo>5.0000</sch:percentualDescontoTitulo><sch:valorAbatimentoTitulo>5.00</sch:valorAbatimentoTitulo><sch:codigoTipoJuroMora>0</sch:codigoTipoJuroMora><sch:valorJuroMoraTitulo>5.00</sch:valorJuroMoraTitulo><sch:codigoTipoMulta>0</sch:codigoTipoMulta><sch:codigoAceiteTitulo>N</sch:codigoAceiteTitulo><sch:codigoTipoTitulo>2</sch:codigoTipoTitulo><sch:textoDescricaoTipoTitulo>DM</sch:textoDescricaoTipoTitulo><sch:indicadorPermissaoRecebimentoParcial>N</sch:indicadorPermissaoRecebimentoParcial><sch:textoNumeroTituloBeneficiario/><sch:textoCampoUtilizacaoBeneficiario>3128557</sch:textoCampoUtilizacaoBeneficiario><sch:codigoTipoContaCaucao>0</sch:codigoTipoContaCaucao><sch:textoNumeroTituloCliente>00031285570000012345</sch:textoNumeroTituloCliente><sch:codigoTipoInscricaoPagador>1</sch:codigoTipoInscricaoPagador><sch:numeroInscricaoPagador>97965940132</sch:numeroInscricaoPagador><sch:nomePagador>ODORICO PARAGUASSU</sch:nomePagador><sch:textoEnderecoPagador>Avenida Dias Gomes</sch:textoEnderecoPagador><sch:numeroCepPagador>77458000</sch:numeroCepPagador><sch:nomeMunicipioPagador>SUCUPIRA</sch:nomeMunicipioPagador><sch:nomeBairroPagador>CENTRO</sch:nomeBairroPagador><sch:siglaUfPagador>TO</sch:siglaUfPagador><sch:codigoChaveUsuario>152439a8a7feff77dea3e1f220587384</sch:codigoChaveUsuario><sch:codigoTipoCanalSolicitacao>5</sch:codigoTipoCanalSolicitacao></sch:requisicao></soapenv:Body></soapenv:Envelope>
    02/04/24 10:49:30:843 - Retorno Envio: HTTPCode=0
    Result=<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode xmlns="">SOAP-ENV:Server</faultcode><faultstring xmlns="">This is an operation implementation generated fault</faultstring><faultactor xmlns=""/><detail xmlns=""><ns:erro xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.tibco.com/schemas/bws_registro_cbr/Recursos/XSD/Schema.xsd" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"><ns:Mensagem>Dados de entrada inválidos.</ns:Mensagem></ns:erro></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

    Agradeço se puderem dar uma luz.

  2. 22 horas atrás, [email protected] disse:

    Eu tenho um acesso developer lá, mas não achei como verificar as credenciais.

    Bom dia!
    Ainda tentando emitir o primeiro boleto...

    Olhando o Log (ArqBoletoWS.log) gerado pelo ACBrBoleto, percebi que ele tenta autenticar por Token.
    Sei que o BB poderia gerar esse token, mas não sei como passar ele para o componente.
    Isso é possível?

    ----Os dados abaixo são fictícios conforme orientação do suporte BB developer.
    22/03/24 13:21:57:494 - Autenticando Token... 

    22/03/24 13:21:58:026 - Comando Enviar: {"numeroConvenio":3364339,"numeroCarteira":17,"numeroVariacaoCarteira":19,"codigoModalidade":1,"dataEmissao":"22.03.2024","dataVencimento":"30.12.1899","valorOriginal":5,"valorAbatimento":5,"codigoAceite":"N","codigoTipoTitulo":2,"descricaoTipoTitulo":"DM","numeroTituloBeneficiario":"0000000001","campoUtilizacaoBeneficiario":"","numeroTituloCliente":"00033643390000012345","mensagemBloquetoOcorrencia":"","jurosMora":{"tipo":3},"pagador":{"tipoInscricao":2,"numeroInscricao":74910037000193,"nome":"TECIDOS FARIA DUARTE","endereco":"RUA XXX 1","cep":0,"cidade":"DIADEMA","bairro":"JARDIM XXX","uf":"SP"},"indicadorPix":"N"}

    22/03/24 13:21:58:435 - Retorno Envio: HTTPCode=401
    Result={ "statusCode": 401, "error": "Unauthorized", "message": "Bad Credentials", "attributes": { "error": "Bad Credentials" } }

  3. 1 minuto atrás, Juliomar Marchetti disse:

    Não lembro. faz tempo que li a documentação.

    tu tem ela em mãos? acho que já diz na sessão de retornos

    Não tenho. Voce pode me mandar (ou o link)? 

    Sem falar que agora já estou experimentando outro erro, mas só vejo se for depurando.

    exception class EJsonParserException with message 'Expected "{" but found value (1, 24)'.

    E no log vejo esse retorno:

    Cod_Retorno=
    Msg_Retorno=
    Ori_Retorno=
    HTTP_Result=401
    JSON={"statusCode":401,"error":"Unauthorized","message":"Bad Credentials","attributes":{"error":"Bad Credentials"}}
    [Rejeicao0]
    Campo=
    Codigo=401
    Versao=Unauthorized
    Mensagem=Bad Credentials
    Ocorrencia=
    Valor=
     

  4. 2 horas atrás, [email protected] disse:

    Você está correto. Peço desculpas pois não vi que tinha cobBancoDoBrasilAPI. 

    Já fiz um teste e agora já tenho um arquivo RetornoRegistro.txt diferente. 
    Acho que precisarei verificar com o banco sobre a mensagem abaixo né?

    ---------------
    Cod_Retorno=
    Msg_Retorno=
    Ori_Retorno=
    HTTP_Result=400
    JSON={"erros":[{"codigo":"3646865","ocorrencia":"Du\/dVmHUvWsH6fkWtAvg0101","mensagem":"Opera\u00e7\u00e3o n\u00e3o permitida pois o boleto n\u00e3o pertence ao conv\u00eanio do usu\u00e1rio.","versao":"1"}]}
    [Rejeicao0]
    Campo=
    Codigo=3646865
    Versao=1
    Mensagem=Operação não permitida pois o boleto não pertence ao convênio do usuário.
    Ocorrencia=Du/dVmHUvWsH6fkWtAvg0101
    Valor=
    ---------------
     

     

    O campo codigo no conteúdo do JSON ("codigo":"3646865"), é o código de erro?

  5. 9 minutos atrás, Juliomar Marchetti disse:

    primeiro tu só compilou e jogou ali e não olhou no contexto?

    olha ´so essa imagem aqui e veja se lhe ajuda pois como falei o exemplo está ali com tudo

    image.png

    Você está correto. Peço desculpas pois não vi que tinha cobBancoDoBrasilAPI. 

    Já fiz um teste e agora já tenho um arquivo RetornoRegistro.txt diferente. 
    Acho que precisarei verificar com o banco sobre a mensagem abaixo né?

    ---------------
    Cod_Retorno=
    Msg_Retorno=
    Ori_Retorno=
    HTTP_Result=400
    JSON={"erros":[{"codigo":"3646865","ocorrencia":"Du\/dVmHUvWsH6fkWtAvg0101","mensagem":"Opera\u00e7\u00e3o n\u00e3o permitida pois o boleto n\u00e3o pertence ao conv\u00eanio do usu\u00e1rio.","versao":"1"}]}
    [Rejeicao0]
    Campo=
    Codigo=3646865
    Versao=1
    Mensagem=Operação não permitida pois o boleto não pertence ao convênio do usuário.
    Ocorrencia=Du/dVmHUvWsH6fkWtAvg0101
    Valor=
    ---------------
     

     

  6. 13 minutos atrás, Juliomar Marchetti disse:

    Ele disse sobre o banco em si que parece não estar configurado

    ou o que tu configurou não tem essa função implementa ou até mesmo não existe e por isso não foi implementada

    Mas o banco está configurado: cobBancoDoBrasil. 

    Então o Registro Online para o Banco do Brasil não está implementado no ACBrBoleto?

    Alguma outra sugestão?

  7. Bom dia Renato!

    O Layout a que você se refere é o Layout Fortes Report? 
    Se for, está selecionado o <IPadrao>.
    Se for o Layout CNAB, tentei nos dois (CNAB240 e CNAB400).

    Tentei fazer o Registro Online pelo programa de exemplo mas o mesmo problema ocorre.

    Depurando dá pra ver a exception abaixo. Se não depurar apenas uma mensagem [Retorno Envio gerado em: C:\ACBr\trunk2\Exemplos\ACBRBoleto\D...\RetornoRegistro.txt]. Estou anexando o arquivo RetornoRegistro.txt aqui.
    -------------------------------------------------------
    Project AcbrBoletoDemo.exe raised exception class EACBrBoletoWSException with message 'TBoletoWSClassMetodo Gerar Remessa nao Implementado '.
    -------------------------------------------------------

    Um arquivo de Log também é gerado (ArqBoletoWS.log) com a seguinte mensagem:
    21/03/24 09:12:10:580 - Falha Envio: TBoletoWSClassMetodo Gerar Remessa não Implementado 

    Investigando um pouco mais, verifiquei que existe o método relacionado na Unit ACBrBoletoWS.pas na pasta dos fontes do ACBrBoleto: C:\ACBr\trunk2\Fontes\ACBrBoleto\

    Esses métodos estão basicamente programados para responder com a mensagem que estou recebendo.

    Veja os métodos:

    --- Variáveis configuradas para a mensagem------------- 
    ResourceString
      S_METODO_NAO_IMPLEMENTADO       =  'Metodo %s nao Implementado ';
      S_OPERACAO_NAO_IMPLEMENTADO     =  'Operação %s nao Implementado para este Banco';
      S_ERRO_GERAR_TOKEN_AUTENTICACAO = 'Erro ao gerar token de Autenticação: %s';
    -------------------------------------------------------

    --- Métodos Relacionados com GerarRemessa-------------- 
    function TBoletoWSClass.GerarRemessa: String;
    begin
      Result := '';
      raise EACBrBoletoWSException.Create(ACBrStr(ClassName + Format( S_METODO_NAO_IMPLEMENTADO, [C_GERAR_REMESSA] )));
    end;

    function TBoletoWSClass.Enviar: Boolean;
    begin
      Result := False;
      raise EACBrBoletoWSException.Create(ACBrStr(ClassName + Format( S_METODO_NAO_IMPLEMENTADO, [C_ENVIAR] )));
    end;
    ---------------------------------------------

    RetornoRegistro.txt

  8. Boa tarde!!

    Será que alguem poderia me ajudar com o ACBrBoleto?

    Estou tentando implementar e emissão do boleto com o ACBrBoleto para o Banco do Brasil, já tendo inclusive obtido as credenciais de teste com o BB, tais como (Client ID, Client Secret, Key user).

    Realizei todas as configurações de acordo com a as informações da biblioteca do ACBrBoleto e as sugestões vindas na Demo [AcbrBoletoDemo].

    O erro "raised exception class EACBrBoletoWSException with message 'TBoletoWSClassMetodo Gerar Remessa nao Implementado'", ocorre na chamada do método [Boleto.Enviar].

    A seguir o trecho do código para realizar o Registro On Line do Boleto. Acho que é isso né?

    ------------------------
    procedure TfmBoleto.btnWSRegistrarClick(Sender: TObject);
    var  
        Boleto : TACBrBoleto;
        NumRemessa : string;
    begin
          Boleto := ACBrBoleto;

          NumRemessa := '1';

          Boleto.DirArqRemessa := edtPathRemessa.Text;
          Boleto.GerarRemessa(StrToInt64Def(NumRemessa,0));
          Boleto.Configuracoes.WebService.Operacao := tpInclui;
          Boleto.Enviar; // <<< retorna como false se o httpresult code for diferente de 200,201,202

    ...
    -------------------------

    Antes de chegar nesse erro, ao tentar Enviar o boleto, ocorria o erro a seguir:

    exception class EInOutError with message 'Unable to create directory []'.

    Por tentativa e erro, tentei colocar um path qualquer na propriedade abaixo, achando que por essa propriedade estar em branco.

    ACBRBoleto.configuracoes.Arquivos.PathGravarRegistro

    Bom depois disso, estou aqui pedindo um SOS com esse erro: TBoletoWSClassMetodo Gerar Remessa nao Implementado.

    Agradeço muito se puderem me auxiliar nisso.

     

     

  9. 13 horas atrás, [email protected] disse:

    O componente está configurado da seguinte forma:

    TimeZone ModoDeteccao
    tzManual
    tzSistema - Está selecionado esse
    tzPCN

    TimeZoneStr = Está em branco

    Está correto dessa forma ?

    Eu devo fazer uma chamada para o procedimento Gerador.wCampo(...) logo após popular os campos dEmi e dSaiEnt ?

    Grato

    Boa tarde 

    Alterei o ModoDeteccao para tzManual e coloquei o TimeZoneStr = -03:00.
    Ao validar o XML deu "Nota Fiscal Eletrônica Valida".

    Ok funcionou dessa forma, mas ainda não consegui descobrir por que os campos abaixo ficam dessa forma:

    procNFe
        tpAmb= 1
        verAplic= 
        chNFe= 
        dhRecbto= 30/12/1899
        nProt= 
        digVal= 
        cStat= 0
        xMotivo= 

    Obs: lembrando que estou testando em ambiente de homologação...

    Estou esquecendo de alguma configuração ou parâmetro?

    Obrigado pela ajuda.

  10. Agora, BigWings disse:

    ACBrNFe1.Configuracoes.WebServices.TimeZoneConf.ModoDeteccao -> o padrão é o fuso horário da máquina
    ACBrNFe1.Configuracoes.WebServices.TimeZoneConf.TimeZoneStr -> caso ModoDetecao seja tzManual

    Veja os fontes:

      if NFe.infNFe.Versao >= 3 then
       begin
         Gerador.wCampo(tcStr, 'B09', 'dhEmi   ', 25, 25, 1, DateTimeTodh(NFe.ide.dEmi) + GetUTC(CodigoParaUF(NFe.ide.cUF), NFe.ide.dEmi), DSC_DEMI);
    
         if (NFe.ide.modelo = 55) and (NFe.ide.dSaiEnt <> 0) then
           Gerador.wCampo(tcStr, 'B10', 'dhSaiEnt', 25, 25, 0, DateTimeTodh(NFe.ide.dSaiEnt) + GetUTC(CodigoParaUF(NFe.ide.cUF), NFe.ide.dSaiEnt), DSC_DSAIENT);
       end

     

    O componente está configurado da seguinte forma:

    TimeZone ModoDeteccao
    tzManual
    tzSistema - Está selecionado esse
    tzPCN

    TimeZoneStr = Está em branco

    Está correto dessa forma ?

    Eu devo fazer uma chamada para o procedimento Gerador.wCampo(...) logo após popular os campos dEmi e dSaiEnt ?

    Grato

  11. Agora, BigWings disse:

    O que está errado aí é o fuso horário, não existe esse fuso +00:44.

    Se está com a configuração do fuso manual, veja se está informando corretamente.

    Se voce estiver se referindo ao fuso do sistema operacional, está correto (UTC -03:00) Brasilia.

    Quanto à configuração manual do fuso, se puder me informar onde isso é configurado, seria de grande valia.

    A questão é como passar para o campo dEmi que é (TDateTime) uma expressão (yyyy-MM-ddThh:mm:ss-03:00) ?

    E como a propriedade dhSaiEnt é populada se não posso nada pra ela?

  12. Agora, BigWings disse:

    dEmi para data e hora de emissão

    dSaiEnt para data e hora de saída

    Olha só, eu estou populando os campos abaixo da seguinte forma:

    NotaF.NFe.Ide.dEmi      := Now;
    NotaF.NFe.Ide.dSaiEnt   := Now; 

    Mesmo assim, ao tentar validar o XML gerado, a mensagem abaixo continua:

     --> 1839 - Element '{http://www.portalfiscal.inf.br/nfe}dhSaiEnt': [facet 'pattern'] The value '2023-03-21T17:41:54+00:44' is not accepted by the pattern '(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))'.

    Sem falar que estou testando a emissão em ambiente taHomologacao e tipo emissão teNormal e o sistema tá dando falha de validação Justificativa em contingencia inválida ou (''). 

    Alguma outra sugestão? 

    Obrigado

  13. Agora, Kiko Fernandes disse:

    Boa tarde! 
    Na versão 4.00 da NFe a tag é <dhSaiEnt> 

    Possívelmente, porém tem que ficar atento as regras (ou seja compreender o passo a passo e saber o que está para entrar em vigor).
    Isto é necessário, pois as vezes entrará uma regra em vigor digamos no próximo mês, que está valendo em homologação, porém ainda não entrou em produção. 
    Se você não tem ciência (acompanhando as NTs), você pode incluir alguma tag ou regra que será rejeitado pelo ambiente de produção, pois o mesmo ainda não entrou em vigor, mas terá que infomrar no homologação, pois o ambiente já está preparado para a validação.

    Por esta razão sempre é importante acompanhar as Notas Técnicas aonde tem a informação de cada regra quando valerá em ambiente produção e também homologação. 

     

    Boa tarde Kiko,

    A questão é que nem consigo usar (por exemplo: NotaF.NFe.Ide.dhSaiEnt := Now) porque a IDE do Delphi informa que não declarei dhSaiEnt.

    Acredito que não é o suficiente Configurar o Componente ACBrNFe (Configurações\Geral\VersaoDF = ve400), para que essa tag fique acessível, pois já fiz isso.

    Se tiver outra dica agradeço.

    Agora, Kiko Fernandes disse:

    O ambiente homologação deve responder com os mesmos códigos que o ambinete produção.

    Você saberia o porque de não estar recebendo nenhum código no ambiente de homologação, apenas zero?

  14. Boa tarde Amigos

    Ocorre que comecei a usar o ACBrNFe me baseando pelo exemplo e quando iniciei os testes em ambiente de homologação recebi os erros de validação, mesmo tendo OK na validação de Regras de negócio.

    Quando tento Validar o XML gerado recebo os erros de validação relacionado com a propriedade dhSaiEnt, conforme mensagem abaixo. No entanto, não encontrei essa propriedade, apenas dSaiEnt e hSaiEnt. Lendo o que os colegas colocaram (em outro tópico antigo) a partir da versão 3.10, parece que passou a valer o campo dhSaiEnt, mas não sei como popular esse campo.
    Podem me ajudar a desvendar o problema? 

    -------------- Falha na validação dos dados da nota: XXXXX ---------- 

     --> 1839 - Element '{http://www.portalfiscal.inf.br/nfe}dhSaiEnt': [facet 'pattern'] The value '2023-03-20T00:00:00+00:44' is not accepted by the pattern '(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))'.
    ---------------------------- -------------- -------------- -------------- 

    Estou alimentando os campos conforme abaixo, mas também não sei se tenho que usar (e como) o método Gerador.wCampo.

    NotaF := ACBrNFe1.NotasFiscais.Add;
    ...
    NotaF.NFe.Ide.dEmi       := Date;
    NotaF.NFe.Ide.dSaiEnt   := Date; 
    NotaF.NFe.Ide.hSaiEnt   := Now;  
    NotaF.NFe.Ide.dhCont    := date; 
    ...

    Achava que não estava com o trunk2 atualizado, mas tudo indica que estou.

    Aproveitando, meu cliente atualmente usa uma empresa (terceira) para emitir NFe. Meu sistema gera um arquivo TXT no layout dessa empresa e eles processam (ambiente de produção) a nota sem problemas. Até consegui baixar o XML processado por eles e validei no ACBrNFe.

    A idéia é implantar a emissão da NF pelo ACBr. 

    Pergunta 01: Gostaria de saber se todas as validações em ambiente de homologação passarem sem problemas, eu já poderia virar a chave pra começar emitir em produção? O que recomendam faze e como?

    - Atualmente já estou conseguindo alimentar o componente com todos os dados
    - O método Assinar e o método gravarXML estão funcionando sem problemas
    - Consigo ver todos os dados carregados no TreeView ao Importar um XML e colocá-los em banco de dados
    - Consigo consultar carregando XML de uma NFe processada em produção e ver o status de emissão pelo SEFAZ

    Pergunta 02: Ao gerar uma NFe (tpAmb) eu recebo um codigo de retorno (cStat=0). Em ambiente de homologação não deveríamos receber algum código entre (100 - 999)?

    Desde já agradeço pela ajuda e quero parabenizá-los pelo projeto ACBr

    Obs: Quando conseguir colocar o ACBrNFe (e boleto também) em produção pretendo assinar o ACBr Pro, pois tenho certeza que vou precisar da ajuda dos mestres do forum.

  15. Boa noite Amigos

    Embora esses posts sejam antigos, e também não sei se consigo respostas por aqui, estava procurando soluções e acabei encontrando algumas informações.

    Ocorre que comecei a usar o ACBrNFe me baseando pelo exemplo e quando iniciei os testes em ambiente de homologação recebi os erros de validação, mesmo tendo OK na validação de Regras de negócio dentre outras coisas.

    Quando tento Validar o XML gerado recebo os erros de validação relacionado com a propriedade dhSaiEnt, conforme mensagem abaixo. No entanto, essa propriedade não existe, mas existe dSaiEnt e hSaiEnt. Lendo o que os colegas colocaram a partir da versão 3.10, passou a valer o campo dhSaiEnt, mas não sei como popular esse campo.
    Podem me ajudar a desvendar o problema? 

    -------------- Falha na validação dos dados da nota: XXXXX ---------- 

     --> 1839 - Element '{http://www.portalfiscal.inf.br/nfe}dhSaiEnt': [facet 'pattern'] The value '2023-03-20T00:00:00+00:44' is not accepted by the pattern '(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))'.
    ---------------------------- -------------- -------------- -------------- 

    Estou alimentando os campos conforme abaixo, mas também não sei se tenho que usar (e como) o método Gerador.wCampo.

    NotaF := ACBrNFe1.NotasFiscais.Add;
    ...
    NotaF.NFe.Ide.dEmi       := Date;
    NotaF.NFe.Ide.dSaiEnt   := Date; 
    NotaF.NFe.Ide.hSaiEnt   := Now;  
    NotaF.NFe.Ide.dhCont    := date; 
    ...

    Achava que não estava com o trunk2 atualizado, mas tudo indica que estou.

    Aproveitando, meu cliente atualmente usa uma empresa (terceira) para emitir NFe. Meu sistema gera um arquivo TXT no layout dessa empresa e eles processam (ambiente de produção) a nota sem problemas. 

    A idéia é implantar a emissão da NF pelo ACBr

    Pergunta 01: Gostaria de saber se todas as validações em ambiente de homologação passarem sem problemas, eu já poderia virar a chave pra começar emitir em produção? O que recomendam ?

    - Atualmente já estou conseguindo alimentar o componente com todos os dados
    - O método Assinar e o método gravarXML estão funcionando sem problemas
    - Consigo ver todos os dados carregados no TreeView ao Importar um XML e colocá-los em banco de dados
    - Consigo consultar carregando XML de uma NFe processada em produção e ver o status de emissão pelo SEFAZ

    Pergunta 02: Ao gerar uma NFe (tpAmb) eu recebo um codigo de retorno (cStat=0). Em ambiente de homologação não deveríamos receber algum código entre (100 - 999)?

    Desde já agradeço pela ajuda e quero parabenizá-los pelo projeto ACBr

  16. Voce pode me dar uma orientação sobre preenchimento desses campos?

    image.png.2bbca63c45c344cdeb25a6c2a7644392.png

    Agora, Juliomar Marchetti disse:

    é esse mesmo ai. tem uma procedure chamada AlimentaNFe e AlimentaNFCe cada uma exemplefica como preencher os dados.

    não quer dizer que deva ou tenha que fazer assim. como diz o nome é só exemplo

    deve lembrar as boas práticas. diminuir o código. separar em partes. para que faça uma boa manutenção do mesmo

    Tá certo, farei isso mesmo. Até porque meu modo de programar é bem assim mesmo.

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