Mudanças entre as edições de "Manuais:UniDANFE/Integrando o UniDANFE ao ERP/MetodosDLL"
(87 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
__NOTITLE__ | __NOTITLE__ | ||
− | ==Métodos da 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]]. A DLL | + | Essa é a forma mais elegante que os sistemas ERP usarão para gerar o [[Manuais:UniDANFE/Termos|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. | ||
{| class="wikitable" | {| class="wikitable" | ||
Linha 14: | Linha 16: | ||
|DFEINIT | |DFEINIT | ||
|(STRING Ação) | |(STRING Ação) | ||
− | 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("dfe") | ||
− | |||
− | + | dfeInit("configurar") | |
− | + | ||
− | + | dfeInit("emails") | |
− | + | ||
− | + | dfeInit("licencas") | |
+ | |||
+ | dfeInit("download_licenca") | ||
+ | |||
+ | dfeInit("exportarconfiguracao") | ||
+ | |||
− | + | | | |
− | | | ||
− | |||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
|DFESETPARAMETRO | |DFESETPARAMETRO | ||
|(STRING Parâmetro, STRING Valor) | |(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 | + | 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 | 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. | |Passa os parâmetros de geração, impressão e distribuição do DFE. | ||
Linha 40: | 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("copias", "2") | ||
+ | dfeSetParametro("email", "[email protected]") | ||
+ | |||
+ | dfeSetParametro("chave", "999-123456-0") | ||
+ | |||
+ | | | ||
+ | |||
+ | |- style="vertical-align:top;" | ||
+ | |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() | ||
+ | |||
+ | | | ||
+ | |||
+ | |- style="vertical-align:top;" | ||
+ | |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 | ||
+ | |||
+ | |||
+ | |- 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 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() | ||
+ | </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 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> | ||
+ | |||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | '''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/ | + | * [[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]] |
− | * [[Manuais:UniDANFE/Integrando o UniDANFE ao 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:
|
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.