Ir para conteúdo
  • Cadastre-se

JoaoPauloRicardo

Membros
  • Total de ítens

    394
  • Registro em

  • Última visita

  • Days Won

    2

Posts postados por JoaoPauloRicardo

  1. Não vejo por precisa de alterar sua rotina, diferença é que tem de tomar cuidado sempre que efetuar update do acbr para averiguar se não vai contra suas sources (a beleza do open source)

    Tenho alterações no acbr (local) que não foram implementadas no original (svn). ou porque não é preciso ou porque entram em conflito com os princípios impostos pelos commiters.

     

  2. Dest.indIEDest := inNaoContribuinte;
    if sq_nfe.FieldByName('TIPO_PESSOA_DEST').AsInteger = 1 then //cnpj
    begin
      Dest.indIEDest := inContribuinte;
      if (Length(trim(sq_nfe.FieldByName('RG_IE_DEST').AsString)) > 0) and (uppercase(trim(sq_nfe.FieldByName('RG_IE_DEST').AsString)) <> 'ISENTO')  then
        Dest.IE:=onlyNumber(sq_nfe.FieldByName('RG_IE_DEST').AsString)
      else
        Dest.indIEDest := inIsento;
      end;
    end;

    usamos assim
     

     

  3. percebi, tens de colocar o cpf/cnpj no grupo autxml, o primeiro da lista.
    Criei o grupo contador para evitar estar sempre a puxar esses dados da base e para criar alguns elementos de configuração do mesmo visto ser uma opção ativada por cada estado.

    Deste modo ao iniciar a aplicação carrego os dados no objeto ACBr e passo a consumir diretamente dele. 
    Assim se AutorizaConsultaSEFAZ eu acrescento o seu cpf/cnpj no grupo autxml :

    if dm_conexao.NFe.Configuracoes.Contador.AutorizaConsultaSEFAZ and not isNullEmpty(dm_conexao.NFe.Configuracoes.Contador.CPFCNPJ) then
       with autXML.Add do
            CNPJCPF := dm_conexao.NFe.Configuracoes.Contador.CPFCNPJ;
    

    Já no caso de EnviarEmail o proprio objecto preeenche os campos do AcbrEmail caso necessário.

  4. Sugestão seria tentar avançar uma linha em branco, avaliar  o retorno e proceder dai em diante dependendo de possíveis erros ou não.

    Creio que seria uma solução suficiente universal para funcionar independente de qualquer fabricante. Como não conheço o processo não sei se seria uma solução viável ou mesmo desejada.

  5. creio se se não estiveres a usar o fastreports licenciado ele coloca limites no resultado. Tivemos esse problema e foi resolvido depois de comprar a licença

    • Curtir 1
  6.               if not isnullempty(dm_conexao.NFe.WebServices.Retorno.xMotivo) then
                    if pos('Duplicidade',dm_conexao.NFe.WebServices.Retorno.xMotivo)>0 then
                      if pos('Duplicidade de NF-e, com diferenca na Chave de Acesso',dm_conexao.NFe.WebServices.Retorno.xMotivo)>0 then
                      begin
                        chaveNFe := OnlyNumber(copy(dm_conexao.NFe.WebServices.Retorno.xMotivo,pos('Duplicidade de NF-e, com diferenca na Chave de Acesso',dm_conexao.NFe.WebServices.Retorno.xMotivo)+length('Duplicidade de NF-e, com diferenca na Chave de Acesso')+1,45));
                        if dm_gerenciar_notas.cds_notaCHAVE_NFE.AsString = chaveNFe then
                          chaveNFe := OnlyNumber(copy(dm_conexao.NFe.WebServices.Retorno.xMotivo,pos('diferente de',dm_conexao.NFe.WebServices.Retorno.xMotivo)+length('diferente de')+1,45));
                        dm_conexao.sq_auxiliar.Close;
                        dm_conexao.sq_auxiliar.SQL.Text:='UPDATE MOVIMENTO SET '
                        +' CHAVE_NFE = '+QuotedStr(chaveNFe)
                        +' WHERE ID_MOVIMENTO  = '+inttostr(id_executa);
                        dm_conexao.sq_auxiliar.ExecSQL;
    
                        e.Message := 'Duplicidade de NF-e, com diferença na Chave de Acesso corrigida';
                      end;
    
                if pos('Duplicidade',e.Message)>0 then
                begin
                  if pos('573:',e.Message)>0 then //duplicidade de evento
                    e.Message := e.Message + slinebreak + 'O evento solicitado repetiu a sequencia.';
                  if pos('485:',e.Message)>0 then //duplicidade de evento EPEC
                  begin
                    atualizar_situacao_nfe(id_executa,6);
                    e.Message := '';
                  end
                  else
                    e.Message := e.Message + slinebreak + 'Por favor, efetue a consulta da NFe.';
                end;
    

    este é o código que usamos na verificação do retorno de erro. Até ao momento sempre resolveu, mas estamos sempre abertos a melhoria nele

    1. muda para trunk2
    2. não tem solução fácil, depois obter o retorno podes analisar o código de situação e a mensagem para obter melhor dados, normalmente na mensagem de retorno vem a chave correta, tens de a obter e corrigir a tua. depois é só voltar a fazer a consulta para atualizar a situação da nota.

    P.S.: disse que não tem solução fácil pois existe mais de uma mensagem de rejeição por duplicidade e nem todas retornam a chave correta. a sempre podes consultar no SEFAZ, corrigir.

  7. {inicio da referencia devolucao de compra NF-e 3.10}
    
    if qrnotafiscal.fieldbyname('FINALIDADE_NFE').asstring = '1' then
          Ide.finNFe := fnNormal
        else
          Ide.finNFe := FnDevolucao;
                   with Ide.NFref.Add do
                       begin
                          NFref := qrnotafiscal.fieldbyname('CHAVE_NF-e_DEVOLUCACAO').asstring;
                       end;
    end;
    
    {fim da referencia devolucao de nota devolucao de compra}

    Atenção que neste caso deverias ter colocado um post novo, pois a questão nada tem  a ver com o atual (acho eu)

  8. Confirma-se que o estado da Bahia obriga a contador no xml.

    para quem possa interessar:

    O Estado da Bahia irá exigir o preenchimento da dados de identificação do Escritório de Contabilidade, CNPJ ou CPF, nas NF-e emitidas por seus contribuintes, dados estes conforme informação no cadastro da SEFAZ. Caso a empresa não possua um contrato com esse profissional ou Escritório deverá informar o CNPJ da SEFAZ (13.937.073/0001-56) no Grupo de Autorização.

  9. boa tarde

    Gostaria de enviar para analise uma pequena alteração que fiz devido ao assunto em questão.
    O motivo que me levou ao desenvolvimento da funcionalidade foi somente por razões praticas, para isso criei um grupo de nome Contador, que o programador pode carregar com os dados e outras opções, isto pois se trata de uma entidade que pode ser usada usada por todas as NFe, mas o seu valor é sempre o mesmo. O meu objectivo é manter toda a informação necessário no objeto para a geração de XML.

    Para  grupo Contador temos as propriedades: 
    Nome, Email, CPFCNPJ, AutorizaConsultaSEFAZ (uso para verificar se acrescento CPFCNPJ no grupo de autorização e certifico que é o primeiro da lista), EnviarEmail (acrescescenta automaticamente o Email a lista de endereços TO ou BCC, conforme necessário)

    Alterei tambem a função EnviarEmail para poder incluir BCC como opção de endereço (o cliente não necessita saber o email do contador)

     

    ACBrDFe.pas

    ACBrDFeConfiguracoes.pas

    ACBrNFe.pas

    ACBrNFeConfiguracoes.pas

  10. boa tarde,

    Não levem a mal que me meta na discussão, contudo não existe já uma propriedade MarcaDaguaMSG no DANFE onde o programador pode colocar o texto que desejar? creio até que foi italo quem fez essa funcionalidade.

    caso afirmativo creio que já existem funcionalidades suficientes para atender ao exposto, sendo que o programador antigamente colocava a true a propriedade NFeCancelada para sair uma marca-de-agua predefinida, agora ele tem somente de preencher a propriedade MarcaDaguaMSG como o mesmo texto ou outro de sua preferencia. pode inclusive usar o mesmo processo para indicar uma marca de agua quando se imprime uma NFe denegada (sugestão)

    fica a dica.

    • Curtir 1
  11. percebi isso, fiz uma pesquisa rápida no na sefaz da BA, os links ou estão desatualizados ou remetem para o geral da nfe. 
    nada de concreto em relação a validações opcionais (e existem bastantes espalhadas pelas NT). 
    Não sei se sucede também com os restante estados.

    resta cruzar os dedos e esperar que tudo corra bem quando for para os clientes.
     

  12. Valeu Agnaldo.

    depois de analisar melhor pode comprovar que o erro é uma das novas validaçoes da NT2015.002, somente para a NFe e opcional por UF.

    Banco de Dados: Cadastro da SEFAZ :
    7GA01-10 55 Não informado o Grupo de Autorização para obter o XML, para a UF que exige a identificação do Escritório de Contabilidade na Nota Fiscal, conforme legislação estadual. Observação: Regra de Validação opcional, a critério da UF. Facult.
    486 Rej. Rejeição: Não informado o Grupo de Autorização para UF que exige a identificação do Escritório de Contabilidade na Nota Fiscal 

    isso levanta um questão, e desde já desculpem a minha ignorância no assunto, mas tem como averiguar, por estado, quais as validações ele implementa (quando são opcionais, claro)?

    curiosamente quando validei o mesmo XML pelo site de validacao de nfe (sefaz.rs) passou sem problema gerando outro erro de validação:
    388: Codigo de Situacao Tributaria do IPI incompativel com o Codigo de Enquadramento Legal do IPI, tambem reportado na mesma NT

     

  13. bom dia

    gostaria de saber se alguem pode me ajudar na seguinte rejeição:

    24048 -> Rejeição: Não informado o Grupo de Autorização para UF que exige a identificação do Escritório de Contabilidade na Nota Fiscal.

    seguem ano imagem do erro e xml da nota.

    Duvida é se esta validação é por estado (neste caso BA), e qual o tag que se refere, pois confesso não recordar nada acerca de qualquer texto parecido nas NT.
    Caso alguém já tenha passado por este erro agradeço a ajuda desde já.

    Atentamente,
    Joao Paulo

    29151004272032000105550010000290481427579090-nfe.xml

    ScreenShot_20151019101047.png

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