Mudanças entre as edições de "Manuais:UniDANFE/Integrando o UniDANFE ao ERP/MetodosDLL"

De unimake
Ir para: navegação, pesquisa
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 22: Linha 22:
 
* "emails" : exibir a interface de consulta de e-mails enviados.
 
* "emails" : exibir a interface de consulta de e-mails enviados.
 
* "licencas" : exibir a interface de consulta de licenças instaladas.
 
* "licencas" : exibir a interface de consulta de licenças instaladas.
* "exportarconfiguracao" : exportar a coniguração do UniDANFE em um arquivo XML.
+
* "download_licenca" : faz o download de uma licença do UniDANFE pela chave da mesma.
 +
* "exportarconfiguracao" : exportar a configuração do UniDANFE em um arquivo XML.
 +
* "info" : consultar informações do UniDANFE.
 +
 
 
|dfeInit("dfe")
 
|dfeInit("dfe")
  
Linha 30: Linha 33:
  
 
dfeInit("licencas")
 
dfeInit("licencas")
 +
 +
dfeInit("download_licenca")
  
 
dfeInit("exportarconfiguracao")
 
dfeInit("exportarconfiguracao")
 +
  
 
|
 
|
Linha 59: Linha 65:
  
 
dfeSetParametro("email", "[email protected]")
 
dfeSetParametro("email", "[email protected]")
 +
 +
dfeSetParametro("chave", "999-123456-0")
  
 
|
 
|
Linha 134: Linha 142:
 
dfeKill()
 
dfeKill()
 
</pre>
 
</pre>
 
  
 
* Exibir a interface de configuração do UniDANFE:
 
* Exibir a interface de configuração do UniDANFE:
Linha 142: Linha 149:
 
dfeKill()
 
dfeKill()
 
</pre>
 
</pre>
 
  
 
* Exibir a interface de e-mails enviados:
 
* Exibir a interface de e-mails enviados:
Linha 151: Linha 157:
 
</pre>
 
</pre>
  
 +
* Enviar os e-mails da pasta "A Enviar":
 +
<pre>
 +
dfeInit("envia_email")
 +
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
 
* Exibir a interface de gerenciamento de licenças:
 
* Exibir a interface de gerenciamento de licenças:
 
<pre>
 
<pre>
 
dfeInit("licencas")
 
dfeInit("licencas")
 +
dfeExecuta()
 +
dfeKill()
 +
</pre>
 +
 +
* Fazer o download de uma licença pela chave:
 +
<pre>
 +
dfeInit("download_licenca")
 +
dfeSetParametro("chavelicenca", "000-123456-0")  // passa a chave da licença para a classe
 +
dfeSetParametro("msg", "0")                      // 0=Não exibir mensagens em tela  1=Exibir
 
dfeExecuta()
 
dfeExecuta()
 
dfeKill()
 
dfeKill()
Linha 170: Linha 191:
  
  
* Exportar a configuração "RETRATO":
+
* Consultar as contas de e-mail cadastradas no UniDANFE:
 
<pre>
 
<pre>
dfeInit("exportarconfiguracao")
+
dfeInit("info")
dfeSetParametro("configuracao", "RETRATO")
+
totalContas = dfeGetParametro("TotalContasEmail")  // Retorna o número total de contas cadastradas
dfeExecuta()
+
contaPadrao = dfeGetParametro("ContaEmailPadrao") // Retorna um XML com as informações da conta de e-mail padrão
 +
contasEmail = dfeGetParametro("ContasEmail")       // Retorna um XML com as informações de todas as contas de e-mail cadastradas
 
dfeKill()
 
dfeKill()
  
    => c:\unidanfe\tmp\UniDANFE_retrato.xml
+
Formato do XML retornardo para "ContaEmailPadrao" e "ContasEmail":
 +
 
 +
- Sucesso:
 +
 
 +
<?xml version="1.0" encoding="iso-8859-1"?>
 +
<info>
 +
  <contaEmail id="id_da_conta">
 +
      <email>string, email do remetente</email>
 +
      <conta>string, nome da conta</conta>
 +
      <nome>string, nome completo do remetente</nome>
 +
      <apelido>string, nome curto do remetente</apelido>
 +
      <padrao>string, 'Sim' se este for o remetente padrão</padrao>
 +
      <enderecoResposta>string, e-mail para onde as respostas devem ser enviadas</enderecoResposta>
 +
      <servidorSMTP>string, nome do servidor SMTP</servidorSMTP>
 +
      <portaSMTP>int, porta SMTP</portaSMTP>
 +
      <autenticarSMTP>bool, 1=sim 0=não</autenticarSMTP>
 +
      <servidorPOP>string, nome do servidor POP3</servidorPOP>
 +
      <portaPOP>int, porta POP</portaPOP>
 +
  </contaEmail>
 +
  <contaEmail id="id_da_conta">
 +
      ...
 +
  </contaEmail>
 +
</info>
 +
 
 +
- Erro:
 +
 
 +
<?xml version="1.0" encoding="iso-8859-1"?>
 +
<info>
 +
  <erro>string, mensagem de erro</erro>
 +
</info>
 +
 
 +
 
 
</pre>
 
</pre>
  

Edição atual tal como às 10h27min de 5 de dezembro de 2023

Métodos da UNIDANFE_DFE.DLL

Essa é a forma mais elegante que os sistemas ERP usarão para gerar o Documento Auxiliar.

A UNIDANFE_DFE.DLL deve ser linkada ao sistema ERP, que fará a integração utilizando o conjunto de métodos disponíveis na biblioteca.

Método Parâmetros Descrição Exemplos Retorno
DFEINIT (STRING Ação)

Ação a ser executada.

Inicializa a ação. Válidos:
  • "dfe" : geração e distribuição de documentos fiscais eletrônicos.
  • "configurar" : exibir a interface de configuração do UniDANFE.
  • "emails" : exibir a interface de consulta de e-mails enviados.
  • "licencas" : exibir a interface de consulta de licenças instaladas.
  • "download_licenca" : faz o download de uma licença do UniDANFE pela chave da mesma.
  • "exportarconfiguracao" : exportar a configuração do UniDANFE em um arquivo XML.
  • "info" : consultar informações do UniDANFE.
dfeInit("dfe")

dfeInit("configurar")

dfeInit("emails")

dfeInit("licencas")

dfeInit("download_licenca")

dfeInit("exportarconfiguracao")


DFESETPARAMETRO (STRING Parâmetro, STRING Valor)

Parâmetro: nome ou abreviação do parâmetro a ser passado ao UniDANFE.

Idênticos aos usados na integração via chamadas (RUN) ao UniDANFE.exe.

Valor: valor do parâmetro

Nota: no caso do parâmetro "arquivo", pode-se passar o conteúdo do XML ao invés do nome do arquivo.

Passa os parâmetros de geração, impressão e distribuição do DFE.

Deve-se escrever uma chamada à esse método para cada parâmetro a ser enviado.

dfeSetParametro("arquivo", "c:\Unimake\Uninfe\0101010101010101010101-procNFe.xml")

dfeSetParametro("arquivo", "<?xml version="1.0"?><nfeProc><NFe><infNFe><ide><cUF>31</cUF>...</nfeProc>")

dfeSetParametro("imprimir", "0")

dfeSetParametro("copias", "2")

dfeSetParametro("email", "[email protected]")

dfeSetParametro("chave", "999-123456-0")

DFEEXECUTA Executa a ação.

Esse método deve ser chamado após a passagem de todos os parâmetros.

dfeSetParametro('arquivo', 'meuarquivo.xml')

dfeExecuta()

DFEGETERRO Retorna o erro ocorrido na geração, ou em branco se tudo correu bem.

Nota: se não for possível ler o retorno desse método, utilizar a forma de leitura de erros em arquivo.

Para isso, enviar os parâmetros:

dfeSetParametro("saidaerros", "A") -> desvia a saída de erros para arquivo

dfeSetParametro("arquivoerro", arquivo) -> define o arquivo de erros que deverá ser criado caso algum erro aconteça.

dfeExecuta()
  IF dfeGetErro() = ""
     MESSAGE("O documento auxiliar foi gerado com sucesso!")
  ELSE
     MESSAGE(dfeGetErro())
  END
STRING


DFEKILL Finaliza a ação, liberando a memória utilizada. dfeKill()


Exemplos:

  • Gerar documento auxiliar:
dfeInit("dfe")
dfeSetParametro("pastaconfiguracao", "c:\uninfe\unidanfe") ##------- pasta onde a pasta "dados" do UniDANFE se encontra
dfeSetParametro("arquivo", "c:\Unimake\Uninfe\0101010101010101010101-procNFe.xml")
dfeSetParametro("logotipo", "c:\Unimake\Uninfe\minha-logo.png")
dfeSetParametro("imprimir", "1")
dfeSetParametro("impressora", "Samsung SL-M4080FX")
dfeSetParametro("visualizar", "0")
dfeSetParametro("copias", "2")
dfeSetParametro("saida_erros", "N")  ##------- Nenhum erro será gerado na tela ou em arquivo. Vamos pegá-lo usando o método dfeGetErro()
dfeSetParametro("email", "[email protected]")
dfeExecuta()
IF dfeGetErro() = ""
   MESSAGE("O documento auxiliar foi gerado com sucesso!")
ELSE
   MESSAGE(dfeGetErro())
END
dfeKill()
  • Exibir a interface de configuração do UniDANFE:
dfeInit("configurar")
dfeExecuta()
dfeKill()
  • Exibir a interface de e-mails enviados:
dfeInit("emails")
dfeExecuta()
dfeKill()
  • Enviar os e-mails da pasta "A Enviar":
dfeInit("envia_email")
dfeExecuta()
dfeKill()
  • Exibir a interface de gerenciamento de licenças:
dfeInit("licencas")
dfeExecuta()
dfeKill()
  • Fazer o download de uma licença pela chave:
dfeInit("download_licenca")
dfeSetParametro("chavelicenca", "000-123456-0")   // passa a chave da licença para a classe
dfeSetParametro("msg", "0")                       // 0=Não exibir mensagens em tela   1=Exibir
dfeExecuta()
dfeKill()


  • Exportar todas as configurações do UniDANFE:
dfeInit("exportarconfiguracao")
dfeExecuta()
dfeKill()

     => c:\unidanfe\tmp\UniDANFE_config.xml


  • Consultar as contas de e-mail cadastradas no UniDANFE:
dfeInit("info")
totalContas = dfeGetParametro("TotalContasEmail")  // Retorna o número total de contas cadastradas
contaPadrao = dfeGetParametro("ContaEmailPadrao")  // Retorna um XML com as informações da conta de e-mail padrão 
contasEmail = dfeGetParametro("ContasEmail")       // Retorna um XML com as informações de todas as contas de e-mail cadastradas
dfeKill()

Formato do XML retornardo para "ContaEmailPadrao" e "ContasEmail":

- Sucesso:

<?xml version="1.0" encoding="iso-8859-1"?>
<info>
   <contaEmail id="id_da_conta">
      <email>string, email do remetente</email>
      <conta>string, nome da conta</conta>
      <nome>string, nome completo do remetente</nome>
      <apelido>string, nome curto do remetente</apelido>
      <padrao>string, 'Sim' se este for o remetente padrão</padrao>
      <enderecoResposta>string, e-mail para onde as respostas devem ser enviadas</enderecoResposta>
      <servidorSMTP>string, nome do servidor SMTP</servidorSMTP>
      <portaSMTP>int, porta SMTP</portaSMTP>
      <autenticarSMTP>bool, 1=sim 0=não</autenticarSMTP>
      <servidorPOP>string, nome do servidor POP3</servidorPOP>
      <portaPOP>int, porta POP</portaPOP>
   </contaEmail>
   <contaEmail id="id_da_conta">
      ...
   </contaEmail>
</info>

- Erro:

<?xml version="1.0" encoding="iso-8859-1"?>
<info>
   <erro>string, mensagem de erro</erro>
</info>



32/64 bits

A linguagem de programação utilizada na criação do UniDANFE ainda não dispõe de compilação para 64 bits. Por enquanto apenas a versão 32 bits da DLL está disponível.


Veja também