Mudanças

Ir para: navegação, pesquisa

Manuais:UniDANFE/Integrando o UniDANFE ao ERP/MetodosDLL

3 605 bytes adicionados, 10h27min de 5 de dezembro de 2023
sem sumário de edição
__NOTITLE__
==Métodos da UNIDANFE_DFE.DLL dfe.dll==
Essa é a forma mais elegante que os sistemas ERP usarão para gerar o [[Manuais:UniDANFE/Termos|Documento Auxiliar]].  A UNIDANFE_DFE.DLL dfe.dll do UniDANFE deve ser linkada ao sistema ERP, que fará a integração utilizando o conjunto de métodos disponíveis na biblioteca.
{| class="wikitable"
|DFEINIT
|(STRING Ação)
Açãoa ser executada. |Inicializa a ação. Válidos: sempre * "dfe": geração e distribuição de documentos fiscais eletrônicos.|Inicializa * "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 geração configuração do UniDANFE em um arquivo XML.* "info" : consultar informações do documento auxiliarUniDANFE. 
|dfeInit("dfe")
|Nenhum
|- style=dfeInit("vertical-align:top;configurar")|DFEINITB|dfeInit(BSTRING Ação"emails")Ação: sempre dfeInit("dfelicencas") dfeInit("download_licenca") dfeInit("exportarconfiguracao")|Idêntico ao método anterior, passa o parâmetro como BSTRING.
Ideal para chamadas de aplicativos desenvolvidoS em c#.|dfeInitB("dfe")|Nenhum
|- style="vertical-align:top;"
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.
|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("email", "[email protected]")
dfeSetParametro("chave", "999-123456-0") |Nenhum
|- style="vertical-align:top;"
|DFESETPARAMETROBDFEEXECUTA|(BSTRING Parâmetro, BSTRING Valor) |Idêntico ao Executa a ação. Esse método anterior, passa deve ser chamado após a passagem de todos os parâmetros como BSTRING|dfeSetParametro('arquivo', 'meuarquivo.xml')
Ideal para chamadas de aplicativos desenvolvidoS em c#.dfeExecuta()
|dfeSetParametroB("arquivo", "c:\Unimake\Uninfe\010101010101-procNFe.xml")|Nenhum
|- style="vertical-align:top;"
|DFEEXECUTADFEGETERRO|Nenhum |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
|Executa a açãodfeSetParametro("arquivoerro", gerando arquivo) -> define o DFEarquivo 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  |- style="vertical-align:top;"|DFEKILL||Finaliza a ação, liberando a memória utilizada.|dfeKill()| |}  '''Exemplos:''' * Gerar documento auxiliar:  <pre>dfeInit("dfe")dfeSetParametro("pastaconfiguracao", "c:\uninfe\unidanfe") ##------- pasta onde a pasta "dados" do UniDANFE se encontradfeSetParametro("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") ##------- Nenhumerro 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())ENDdfeKill()</pre> * Exibir a interface de configuração do UniDANFE:<pre>dfeInit("configurar")dfeExecuta()dfeKill()</pre> * Exibir a interface de e-mails enviados:<pre>dfeInit("emails")dfeExecuta()dfeKill()</pre> * Enviar os e-mails da pasta "A Enviar":<pre>dfeInit("envia_email")dfeExecuta()dfeKill()</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 classedfeSetParametro("msg", "0") // 0=Não exibir mensagens em tela 1=ExibirdfeExecuta()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 cadastradascontaPadrao = 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 cadastradasdfeKill() 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>
|}''(*) Parâmetros obrigatórios'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.
==Nota==
Apesar de ser possível usar os parâmetros com seus nomes longos sem espaços (ex: ArquivoAuxiliar), para economizar o buffer da linha de comando o integrador deve optar por utilizar os parâmetros em sua forma abreviada (ex: au). Exemplos da mesma chamada ao UniDANFE, com parâmetros escritos em sua forma longa e abreviada:
::* ...\UniDANFE.exe arquivo=“1232378213276.xml” arquivoauxiliar=“746647467474.xml” email=“[email protected]
::* ...\UniDANFE.exe a=“1232378213276.xml” au=“746647467474.xml” e=“[email protected]
==Veja também==
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/Formato da chamada ao UniDANFEArquivosDLL|Formato da chamada ao Quais arquivos do UniDANFEsão necessários para funcionar a DLL?]]* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/Exemplos de chamada ao UniDANFE em diversas linguagensGerar documento auxiliar|Exemplos Parâmetros de chamada ao UniDANFE em diversas linguagensgeração, impressão e distribuição do DFE]]* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/Lista completa dos comandos de integração|Lista completa dos comandos de integração]]* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|O XML Auxiliar]]* [[Manuais:UniDANFE/Integrando o UniDANFE ao sistema ERP/TAGS de uso livre|TAGS de uso livre no próprio XML do Documento Fiscal Eletrônico]]
3 257
edições

Menu de navegação