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

De unimake
Ir para: navegação, pesquisa
 
(52 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
__NOTITLE__
 
__NOTITLE__
==Métodos da DLL unidanfe_dados.dll==
+
==Métodos da UNIDANFE_DFE.DLL==
  
 
Essa é a forma mais elegante que os sistemas ERP usarão para gerar o [[Manuais:UniDANFE/Termos|Documento Auxiliar]].  
 
Essa é a forma mais elegante que os sistemas ERP usarão para gerar o [[Manuais:UniDANFE/Termos|Documento Auxiliar]].  
Linha 16: Linha 16:
 
|DFEINIT
 
|DFEINIT
 
|(STRING Ação)
 
|(STRING Ação)
Ação: sempre "dfe"
+
Ação a ser executada.
|Inicializa a geração do documento auxiliar
+
|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("dfe")
 +
 +
dfeInit("configurar")
 +
 +
dfeInit("emails")
 +
 +
dfeInit("licencas")
 +
 +
dfeInit("download_licenca")
 +
 +
dfeInit("exportarconfiguracao")
 +
 +
 
|
 
|
  
Linha 28: Linha 48:
 
Idênticos aos usados na integração via chamadas (RUN) ao UniDANFE.exe.
 
Idênticos aos usados na integração via chamadas (RUN) ao UniDANFE.exe.
  
<pre style="color: red">NOTA: todos os parâmetros devem ser escritos em sua forma completa e não na forma abreviada.</pre>
+
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.
  
Valor: valor do parâmetro
 
 
|Passa os parâmetros de geração, impressão e distribuição do DFE.
 
|Passa os parâmetros de geração, impressão e distribuição do DFE.
  
Linha 36: Linha 57:
  
 
|dfeSetParametro("arquivo", "c:\Unimake\Uninfe\0101010101010101010101-procNFe.xml")
 
|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("imprimir", "0")
Linha 42: Linha 65:
  
 
dfeSetParametro("email", "[email protected]")
 
dfeSetParametro("email", "[email protected]")
 +
 +
dfeSetParametro("chave", "999-123456-0")
  
 
|
 
|
Linha 49: Linha 74:
 
|
 
|
  
|Executa a ação, gerando o DFE.
+
|Executa a ação.
  
 
Esse método deve ser chamado após a passagem de todos os parâmetros.
 
Esse método deve ser chamado após a passagem de todos os parâmetros.
Linha 71: Linha 96:
 
dfeSetParametro("saidaerros", "A") -> desvia a saída de erros para arquivo
 
dfeSetParametro("saidaerros", "A") -> desvia a saída de erros para arquivo
  
dfeSetParametro("arquivoerro", arquivo) -> define o arquivo que de erros que deverá ser criado.
+
dfeSetParametro("arquivoerro", arquivo) -> define o arquivo de erros que deverá ser criado caso algum erro aconteça.
  
 
|dfeExecuta()
 
|dfeExecuta()
Linha 82: Linha 107:
  
 
|STRING
 
|STRING
 
  
  
Linha 88: Linha 112:
 
|DFEKILL
 
|DFEKILL
 
|
 
|
 
+
|Finaliza a ação, liberando a memória utilizada.
|Finaliza a geração do documento auxiliar, liberando a memória utilizada.
 
 
|dfeKill()
 
|dfeKill()
 
|
 
|
  
 +
|}
  
|}
 
  
 +
'''Exemplos:'''
  
'''Exemplo:'''
+
* Gerar documento auxiliar:  
  
 
<pre>
 
<pre>
 
dfeInit("dfe")
 
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("arquivo", "c:\Unimake\Uninfe\0101010101010101010101-procNFe.xml")
 
dfeSetParametro("logotipo", "c:\Unimake\Uninfe\minha-logo.png")
 
dfeSetParametro("logotipo", "c:\Unimake\Uninfe\minha-logo.png")
Linha 107: Linha 132:
 
dfeSetParametro("visualizar", "0")
 
dfeSetParametro("visualizar", "0")
 
dfeSetParametro("copias", "2")
 
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]")
 
dfeSetParametro("email", "[email protected]")
 
dfeExecuta()
 
dfeExecuta()
Linha 117: Linha 143:
 
</pre>
 
</pre>
  
 +
* Exibir a interface de configuração do UniDANFE:
 +
<pre>
 +
dfeInit("configurar")
 +
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
'''Alguns parâmetros usando BSTRING no lugar de STRING. Utilizado em algumas linguagens que não conseguem enviar o tipo STRING.'''
+
* Exibir a interface de e-mails enviados:
 +
<pre>
 +
dfeInit("emails")
 +
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
{| class="wikitable"
+
* Enviar os e-mails da pasta "A Enviar":
!Método
+
<pre>
!Parâmetros
+
dfeInit("envia_email")
!Descrição
+
dfeExecuta()
!Exemplos
+
dfeKill()
!Retorno
+
</pre>
 +
 
 +
* Exibir a interface de gerenciamento de licenças:
 +
<pre>
 +
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()
 +
dfeKill()
 +
</pre>
 +
 
 +
 
 +
* Exportar todas as configurações do UniDANFE:
 +
<pre>
 +
dfeInit("exportarconfiguracao")
 +
dfeExecuta()
 +
dfeKill()
 +
 
 +
    => c:\unidanfe\tmp\UniDANFE_config.xml
 +
</pre>
 +
 
 +
 
 +
* Consultar as contas de e-mail cadastradas no UniDANFE:
 +
<pre>
 +
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>
  
|- style="vertical-align:top;"
 
|DFEINITB
 
|(BSTRING Ação)
 
|Idêntico ao método DFEINIT().
 
  
|dfeInitB("dfe")
+
</pre>
|
 
  
|- style="vertical-align:top;"
 
|DFESETPARAMETROB
 
|(BSTRING Parâmetro, BSTRING Valor)
 
|Idêntico ao método DFESETPARAMETRO().
 
  
|dfeSetParametroB("arquivo", "c:\Unimake\Uninfe\010101010101-procNFe.xml")
+
'''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==
 
==Veja também==
 +
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/ArquivosDLL|Quais arquivos do UniDANFE são necessários para funcionar a DLL?]]
 
* [[UniDANFE/Integrando o UniDANFE ao ERP/Gerar documento auxiliar|Parâmetros de geração, impressão e distribuição do DFE]]
 
* [[UniDANFE/Integrando o UniDANFE ao ERP/Gerar documento auxiliar|Parâmetros de geração, impressão e distribuição do DFE]]
 
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP|Integrando o UniDANFE ao sistema ERP]]
 
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP|Integrando o UniDANFE ao sistema ERP]]

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