Pular para o conteúdo principal

Lendo arquivos XML


Mesmo antes, e desde que começamos a tratar notas fiscais eletrônicas(NFe) no Protheus, ocasionalmente, existe a necessidade de acessar dados, nos "nodes" de arquivos XML.

No exemplo abaixo, foram lidos o conteúdo dos campos xNome(nome do destinatário) e dEmi(data de emissão), num .XML de uma nota fiscal eletrônica :

# include "rwmake.ch"
# include "xmlxfun.ch"

user function fLexml()
   local cError := cWarning := cDestinatario := cDataEmissao := "",;
         cNomearq := "\NFE\XML\nomearquivonotafiscal.xml",; 
         oNotaxml := xmlparserfile(cNomearq, "", @cError, @cWarning)

   if cError # "" .or. cWarning # ""
      alert("Erro: " + cError + "  -  Aviso: " + cWarning )
   else
      cDestinatario := alltrim(oNotaxml:_nfeProc:_NFe:_infNFe:_dest:_xNome:Text)
      cDataEmissao  := alltrim(oNotaxml:_nfeProc:_NFe:_infNFe:_ide:_dEmi:Text)

      msgalert("Destinatario: " + cDestinatario + " - Emissao: " + cDataEmissao )
   endif
return nil

Note que foi criado o objeto oNotaxml com a função xmlparserfile.

Comentários

Postagens mais visitadas deste blog

Zeros à esquerda automaticamente

Uma dica simples para que no momento de digitar um código (ex.:000034), você e seus usuários não fiquem contando os zeros à esquerda deste. Configurador Com o pequeno código abaixo (no campo Regra ) num gatilho*, você não terá mais este trabalho. O teste foi feito com o campo RA_REGISTR : Os campos obrigatórios (em azul) devem ser preenchidos. Confirme, saia do Configurador e teste o campo que você configurou o gatilho. Após preencher o campo e clicar TAB (ou ENTER), os zeros à esquerda completam o tamanho do campo : * Se você não sabe onde e como criar gatilhos, acesse o link:   Criando gatilhos no Protheus

Status das tabelas: SPED050 e SPED052

STATUS DA TABELA SPED050: Status NFe (campo STATUS) :  1 = NFe Recebida.  2  =  NFe Assinada.  3  =  NFe com falha no schema XML.  4  =  NFe transmitida.  5  =  NFe com problemas.  6  =  NFe autorizada.  7  =  Cancelamento. Status Cancelamento/inutilização (campo STATUSCANC) :  1  =  NFe Recebida.  2  =  NFe Cancelada.  3  =  NFe com falha de cancelamento/inutilização. Status Mail (campo STATUSMAIL) :  1  =  A transmitir.  2  =  Transmitido.  3  =  Bloqueio de transmissão – cancelamento/inutilização. STATUS DO SPED052:  1  =  Lote transmitido.  2  =  Lote recebido com sucesso.  3  =  Lote com erro.

Protheus integrado ao Active Directory (Single SignOn)

Usando a integração do usuário do Protheus com o Active Directory (AD): 1) O ambiente deve estar atualizado (RPO, Update, LIB e Binário). 2) Entre no Configurador / Usuários / Senhas / Política. 3) Na primeira aba, em Parâmetros, defina no como "Habilitar single sign-on" se a integração será obrigatória ou opcional. 4) No combo "Modalidade de Single Sign-on", defina como "Active Directory". Clique em Confirmar. 5) Agora vá ao cadastro do usuário (Usuário / Senhas / Usuários), clique sobre o usuário e clique em Alterar. Na primeira aba (Usuário), selecione a aba Active Directory. 6) Clique duas vezes sobre o campo abaixo de "Domínio", e preencha o domínio da rede.  Clique duas vezes sobre o campo abaixo de "Usuário", e preencha o nome de usuário da rede que ficará vinculado a este usuário do Protheus. Clique em Confirmar. Ao entrar no Protheus, já irá aparecer por padrão o dom...