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

De unimake
Ir para: navegação, pesquisa
(Criou página com '__NOTITLE__ ==Métodos da DLL dfe.dll== Essa é a forma normal que os sistemas ERP usarão para gerar o Documento Auxiliar. O UniDANFE deve ser ex...')
 
 
(100 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
__NOTITLE__
 
__NOTITLE__
==Métodos da DLL dfe.dll==
+
==Métodos da UNIDANFE_DFE.DLL==
  
Essa é a forma normal que os sistemas ERP usarão para gerar o [[Manuais:UniDANFE/Termos|Documento Auxiliar]]. O UniDANFE deve ser executado com a passagem de alguns parâmetros que o orientarão como se comportar.
+
Essa é a forma mais elegante que os sistemas ERP usarão para gerar o [[Manuais:UniDANFE/Termos|Documento Auxiliar]].  
  
Cada parâmetro é descrito a seguir, e devem ser utilizados no formato parametro=conteúdo, sem qualquer espaço entre o parâmetro, o sinal de igualdade e o conteúdo do mesmo. Os parâmetros cujo conteúdo possa conter espaços (ex: nome de pastas e/ou arquivos) devem estar entre aspas, no formato parametro=“conteúdo completo com espaços”.  
+
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"
!Parâmetro
+
!Método
!Abrev
+
!Parâmetros
! style="width: 45%"|Descrição
+
!Descrição
 
!Exemplos
 
!Exemplos
 +
!Retorno
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|Arquivo*
+
|DFEINIT
|a
+
|(STRING Ação)
|Nome completo do arquivo XML do [[Manuais:UniDANFE/Termos|Documento Fiscal Eletrônico]], CC-e ou Cancelamento, gerado pelo ERP, incluindo todo o caminho para encontrá-lo. Esse arquivo deve ser o XML de distribuição já autorizado pela SEFAZ (procNFe, procCTe, procMDFe, procEventoNFe, etc).  
+
Ação a ser executada.
|..\unidanfe.exe a="c:\minha pasta\0101010101010-procNFe.xml"
+
|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.
  
|- style="vertical-align:top;"
+
|dfeInit("dfe")
|Tipo
 
|t
 
|Indica ao UniDANFE qual o tipo do XML passado pelo parâmetro “arquivo”. As opções válidas são:
 
:* “danfe”, “nfe” ou “nf-e”
 
:* “ds” ou “danfesimplificado”
 
:* “nfce” ou “nfc-e”
 
:* “dacte”, “ct-e” ou “cte”
 
:* “dacteos”, “ct-e os” ou “cteos”
 
:* “damdfe”, “mdf-e” ou “mdfe”
 
:* “cce” (para CC-e de NF-e)
 
:* “ccdse” ou “ccds-e” (para CC-e de NF-e - Simplificada)
 
:* “ccte” (para CC-e de CT-e).
 
:* “sat” ou “cfe” ou “cf-e”
 
  
Se omitido esse parâmetro, o UniDANFE abrirá o arquivo XML para saber do que se trata, ocasionando um pequeno atraso no processamento. Além disso, no caso de CC-e de NF-e, não há como identificar pelo XML se o mesmo se refere a DANFE simplificado ou não.
+
dfeInit("configurar")
|...\unidanfe.exe a="c:\minhapasta\01010101010-procNFe.xml" t=nfe
 
  
...\unidanfe.exe a="c:\minhapasta\01010101010-procNFe.xml" t=ds
+
dfeInit("emails")
  
...\unidanfe.exe a="c:\minhapasta\01010101010-procNFe.xml" t=nfce
+
dfeInit("licencas")
  
...\unidanfe.exe a="c:\minhapasta\01010101010-procCTe.xml" t=cte
+
dfeInit("download_licenca")
  
...\unidanfe.exe a="c:\minhapasta\01010101010-procMDFe.xml" t=mdfe
+
dfeInit("exportarconfiguracao")
  
...\unidanfe.exe a="c:\minhapasta\CFe01010101010.xml" t=sat
 
  
|- style="vertical-align:top;"
+
|
|Arquivo
 
 
 
Auxiliar
 
|au
 
|Nome completo do arquivo [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|XML auxiliar]], incluindo todo o caminho para encontrá-lo. No [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|XML auxiliar]] existem TAGS complementares para o UniDANFE, com algumas personalizações. Se esse parâmetro não for passado, o UniDANFE procurará, na mesma pasta do XML principal, um outro arquivo XML com o mesmo nome, precedido do texto “aux-”. Se encontrar tal arquivo, o usará como auxiliar, sem a necessidade de passar seu nome na linha de comando.
 
|...\unidanfe.exe a="c:\x\0101-procNFe.xml" au="c:\x\aux-0101-procNFe.xml"
 
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|Arquivo
+
|DFESETPARAMETRO
 +
|(STRING Parâmetro, STRING Valor)
 +
Parâmetro: nome ou abreviação do parâmetro a ser passado ao UniDANFE.
  
EPEC
+
Idênticos aos usados na integração via chamadas (RUN) ao UniDANFE.exe.
|ad
 
|Nome completo, incluindo todo caminho, do arquivo XML que contém as informações do registro do EPEC. A informação desse arquivo é obrigatória quando necessitar imprimir DANFE de NF-e ou DACTE de CT-e emitido em contingência EPEC antes de sua autorização. O UniDANFE não gerará o Documento Auxiliar em contingência EPEC sem conferir as informações desse arquivo XML. Após a normalização do serviço, quando o XML da NF-e ou do CT-e já contiver o protocolo de autorização de uso, esse parâmetro deixa de ser necessário.
 
|...\unidanfe.exe a="c:\x\0101-procNFe.xml" ad="c:\x\0101-dpec.xml"
 
  
|- style="vertical-align:top;"
+
Valor: valor do parâmetro
|NFe
 
|n
 
|Parâmetro utilizado apenas para impressão da Carta de Correção Eletrônica. Indica ao UniDANFE o nome completo, incluindo todo o caminho, do arquivo XML da NF-e, NFC-e, CT-e ou MDF-e que está sofrendo correção. Quando esse parâmetro é informado, o UniDANFE vai buscar informações relativas ao emitente, destinatário, remetente, expedidor, recebedor, etc., nesse arquivo XML. Quando esse parâmetro é omitido, o UniDANFE busca primeiramente em sua base de dados essas informações e, em não as localizando, procura pelo XML da NF-e/CT-e na mesma pasta do XML do evento da CC-e, nos padrões “chavedeacesso-procXXX.xml” e “chavedeacesso-XXX.xml”, onde XXX=NFe ou CTe, conforme o caso.
 
|...\unidanfe.exe a="c:\x\0101-1-procEventoNFe.xml" n="c:\x\0101-procNFe.xml"
 
  
|- style="vertical-align:top;"
+
Nota: no caso do parâmetro "arquivo", pode-se passar o conteúdo do XML ao invés do nome do arquivo.
|Configuracao
 
|c
 
|Nome da configuração que será utilizada para gerar o Documento Auxiliar. Se esse parâmetro não for passado, o UniDANFE tentará localizar a configuração ideal automaticamente. Clique aqui para conhecer os critérios de escolha automática da configuração.  
 
  
Atenção: Para esse parâmetro funcionar é necessário que a configuração passada tenha sido previamente cadastrada no UniDANFE.
+
|Passa os parâmetros de geração, impressão e distribuição do DFE.
|...\unidanfe.exe a="c:\x\0101-procNFe.xml" c=RETRATO
 
  
...\unidanfe.exe a="c:\x\0101-procNFe.xml" c=PAISAGEM
+
Deve-se escrever uma chamada à esse método para cada parâmetro a ser enviado.
  
...\unidanfe.exe a="c:\x\0101-procNFe.xml" c=APENAS_GERAR_PDF
+
|dfeSetParametro("arquivo", "c:\Unimake\Uninfe\0101010101010101010101-procNFe.xml")
  
...\unidanfe.exe a="c:\x\0101-procNFe.xml" c=APENAS_UPLOAD
+
dfeSetParametro("arquivo", "<?xml version="1.0"?><nfeProc><NFe><infNFe><ide><cUF>31</cUF>...</nfeProc>")
  
...\unidanfe.exe a="c:\x\0101-procNFe.xml" c=APENAS_EMAIL
+
dfeSetParametro("imprimir", "0")
  
...\unidanfe.exe a="c:\x\0101-procNFe.xml" c=APENAS_VISUALIZAR
+
dfeSetParametro("copias", "2")
  
|- style="vertical-align:top;"
+
dfeSetParametro("email", "meucliente@gmail.com")
|Email
 
|e
 
|Endereço de e-mail adicional para envio ao destinatário do Documento. Esse e-mail deve ser informado nos casos em que o XML do documento não tenha TAGS específicas para isso - como XML de CC-e e Cancelamento - ou quando deseja-se enviar o Documento para um endereço diferente. O e-mail também pode ser gerado no [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|XML auxiliar]], ao invés de passado por parâmetro.
 
| ...\unidanfe.exe a=“c:\x\0101-procNFe.xml” e=destinatario@hotmail.com
 
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” e=“[email protected],[email protected]
+
dfeSetParametro("chave", "999-123456-0")
  
|- style="vertical-align:top;"
+
|
|EmailCC
 
|ec
 
| Endereço para o qual o Documento e/ou o XML serão enviados como cópia (CC).
 
| ...\unidanfe.exe a=“c:\x\0101-procNFe.xml” [email protected] [email protected]
 
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|EmailCCO
+
|DFEEXECUTA
|eo
+
|
|Endereço para o qual o Documento e/ou o XML serão enviados como cópia oculta (CCO).
 
| ...\unidanfe.exe a=“c:\x\0101-procNFe.xml” [email protected] [email protected]
 
  
|- style="vertical-align:top;"
+
|Executa a ação.
|EnviaEmail
 
|ee
 
|Informa ao UniDANFE se o impresso gerado deverá ser enviado por e-mail ou não. 1=Sim 0=Não. Se informado, esse parâmetro se sobrepõe às configurações efetuadas no painel de controle do UniDANFE.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” ee=0
 
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” ee=1
+
Esse método deve ser chamado após a passagem de todos os parâmetros.
  
|- style="vertical-align:top;"
+
|dfeSetParametro('arquivo', 'meuarquivo.xml')
|Pasta
 
  
Configuracao
+
dfeExecuta()
|pc
 
|DEFINE a pasta local ou da rede onde o UniDANFE deve ler/gravar suas configurações. Deve ser informado o nome da pasta principal que irá abrigar as subpastas (dados, email, lic, etc) utilizadas pelo UniDANFE.
 
  
Informar apenas nos casos em que a pasta das configurações seja diferente da pasta onde o UniDANFE está instalado. Por exemplo, instala-se o UniDANFE em ''C:\UniDANFE'' mas a base de dados está em um servidor de rede, compartilhada entre todos os usuários, como ''S:\Sistemas\UniDANFE''.
+
|
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” pc=“Y:\unimake\uninfe”
 
 
 
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” pc=“\\SERVER01\G\unimake\uninfe”
 
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|Logotipo
+
|DFEGETERRO
|L
+
|
|Nome da imagem, incluindo seu caminho completo, que será usada na geração do [[Manuais:UniDANFE/Termos|Documento Auxiliar]]. Há um campo específico da interface de configuração do UniDANFE para informar esse arquivo de imagem. No entanto, em alguns casos, deseja-se utilizar uma mesma configuração para mais de uma empresa/filial. Para esses casos, pode-se passar a imagem através da linha de comando, ou informá-la no [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|XML auxiliar]].
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” L=“c:\imagens\img01.jpg”
 
  
|- style="vertical-align:top;"
+
|Retorna o erro ocorrido na geração, ou em branco se tudo correu bem.
|Visualizar
 
|v
 
| Informa ao UniDANFE se o [[Manuais:UniDANFE/Termos|Documento Auxiliar]] gerado deverá ser visualizado na tela do computador antes da impressão/envio por e-mail. 1=Sim 0=Não. Se informado, esse parâmetro se sobrepõe às configurações efetuadas no painel de controle do UniDANFE.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” v=0
 
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” v=1
+
Nota: se não for possível ler o retorno desse método, utilizar a forma de leitura de erros em arquivo.  
  
|- style="vertical-align:top;"
+
Para isso, enviar os parâmetros:
|Imprimir
 
|m
 
| Informa ao UniDANFE se o [[Manuais:UniDANFE/Termos|Documento Auxiliar]] deve ser impresso automaticamente ou não. 1=Sim 0=Não. Se informado, esse parâmetro se sobrepõe às configurações efetuadas no painel de controle do UniDANFE.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” v=0 m=1  // imprimir sem visualizar
 
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” v=1 m=0  // visualizar sem imprimir
+
dfeSetParametro("saidaerros", "A") -> desvia a saída de erros para arquivo
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” v=0 m=0  // envia e-mail sem visualizar ou imprimir
+
dfeSetParametro("arquivoerro", arquivo) -> define o arquivo de erros que deverá ser criado caso algum erro aconteça.
  
|- style="vertical-align:top;"
+
|dfeExecuta()
|Impressora
 
|i
 
|Informa em qual impressora o Documento deve ser impresso. Aceita os valores “padrao", “selecionar” ou “<nome completo da impressora>”; se informado o valor “padrao", o impresso será enviado para a impressora padrão do computador; se informado “selecionar”, uma tela será exibida ao usuário antes da impressão, para que este selecione a impressora correta; se informado o nome de uma impressora instalada, o UniDANFE imprimirá o [[Manuais:UniDANFE/Termos|Documento]] nessa impressora.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” i=“\\SERVER\HPLASERJET1001”
 
  
|- style="vertical-align:top;"
+
  IF dfeGetErro() = ""
|Copias
+
      MESSAGE("O documento auxiliar foi gerado com sucesso!")
|p
+
  ELSE
|Informa ao UniDANFE quantas cópias devem ser impressas do [[Manuais:UniDANFE/Termos|Documento]] gerado.
+
      MESSAGE(dfeGetErro())
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” v=0 i=1 p=3    // imprimir 3 cópias, sem visualizar
+
  END
  
|- style="vertical-align:top;"
+
|STRING
|PastaPDF
 
  
(Plus)
 
|pp
 
|Informa ao UniDANFE a pasta onde devem ser gravados os arquivos [[Manuais:UniDANFE/Termos|PDF]] com a imagem do [[Manuais:UniDANFE/Termos|Documento Auxiliar]] gerado pelo sistema, quando para isso configurado. Esse parâmetro sobrepõe a pasta definida na configuração do UniDANFE. A pasta informada nesse parâmetro deve existir previamente. O nome do [[Manuais:UniDANFE/Termos|PDF]] será criado respeitando-se as regras definidas na configuração do UniDANFE.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” pp=“c:\meus_pdfs”
 
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|NomePDF
+
|DFEKILL
 +
|
 +
|Finaliza a ação, liberando a memória utilizada.
 +
|dfeKill()
 +
|
  
(Plus)
+
|}
|np
 
|Instrui o UniDANFE como deve ser o nome do arquivo [[Manuais:UniDANFE/Termos|PDF]] com a imagem do [[Manuais:UniDANFE/Termos|Documento Auxiliar]] gerado pelo sistema, quando para isso configurado. Esse parâmetro sobrepõe a regra de construção do nome definida na configuração do UniDANFE. Pode ser passado apenas o nome ou o nome incluindo o caminho completo (pastas). Nesse caso, o caminho (pasta) já deve existir previamente.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” np=“c:\meus_pdfs\01010101010.pdf”
 
  
|- style="vertical-align:top;"
 
|Imagem
 
  
Adicional
+
'''Exemplos:'''
|ia
 
|Nome completo, incluindo o caminho, de uma imagem para ser impressa no rodapé da seção “DADOS ADICIONAIS”, dentro do quadro “Informações Complementares”. Válido apenas para impressão do DANFE de NF-e em orientação RETRATO.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” ia=“c:\imagens\info.bmp”
 
  
|- style="vertical-align:top;"
+
* Gerar documento auxiliar:  
|Altura
 
  
Imagem
+
<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>
  
Adicional
+
* Exibir a interface de configuração do UniDANFE:
|iaa
+
<pre>
|Altura, em milésimos de polegadas, com que a imagem adicional vai ser impressa. Essa altura será adicionada ao quadro “Dados Adicionais”. Se omitido, o valor padrão 1000 (aproximadamente 25mm) é assumido. Válido apenas para impressão do DANFE em orientação RETRATO.
+
dfeInit("configurar")
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” ia=“c:\imagens\info.bmp” iaa=650
+
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
|- style="vertical-align:top;"
+
* Exibir a interface de e-mails enviados:
|Saida
+
<pre>
 +
dfeInit("emails")
 +
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
Erros
+
* Enviar os e-mails da pasta "A Enviar":
|s
+
<pre>
| DEFINE onde devem ser geradas as possíveis mensagens de erro do sistema. V=vídeo A=Arquivo. Útil para os casos em que a impressão e envio por e-mail do [[Manuais:UniDANFE/Termos|Documento Auxiliar]] seja configurada para ser executada automaticamente sem a intervenção de usuários. Se SaidaErros=A e o parâmetro ArquivoErros for omitido, ArquivoErros será o mesmo nome do XML acrescido da extensão “.err”.
+
dfeInit("envia_email")
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” s=V
+
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” s=A
+
* Exibir a interface de gerenciamento de licenças:
 +
<pre>
 +
dfeInit("licencas")
 +
dfeExecuta()
 +
dfeKill()
 +
</pre>
  
|- style="vertical-align:top;"
+
* Fazer o download de uma licença pela chave:
|Arquivo
+
<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>
  
Erros
 
|ae
 
|DEFINE o nome do arquivo que vai receber os erros ocorridos durante a geração do [[Manuais:UniDANFE/Termos|Documento Auxiliar]], se houver.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” s=A ae=“c:\erros\meus_erros.txt”
 
  
|- style="vertical-align:top;"
+
* Exportar todas as configurações do UniDANFE:
|Remetente
+
<pre>
|r
+
dfeInit("exportarconfiguracao")
|E-mail ou apelido do remetente de e-mail que deve ser utilizado para o envio do [[Manuais:UniDANFE/Termos|Documento]] por e-mail. O remetente deve estar previamente cadastrado no sistema mesmo quando este parâmetro contiver um endereço eletrônico (e-mail) pois outras informações são necessárias para o envio do e-mail, como servidor SMTP, porta, senha, etc. É possível cadastrar remetentes informando o CNPJ do emitente no campo “Apelido” para que o mesmo seja selecionado automaticamente. Consulte a seção “Configurando as Contas de Remetentes” para maiores detalhes. É possível informar o remetente também no[[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|XML auxiliar]] ou nas TAG´s de uso livre. 
+
dfeExecuta()
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” r=FATURAMENTO
+
dfeKill()
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” r=nfe@gmail.com
+
    => c:\unidanfe\tmp\UniDANFE_config.xml
 +
</pre>
  
|- style="vertical-align:top;"
 
|Ignorar
 
  
Email XML
+
* Consultar as contas de e-mail cadastradas no UniDANFE:
|iex
+
<pre>
|Instrui o UniDANFE a ignorar endereços de e-mail dos destinatários presentes nos arquivos XML do [[Manuais:UniDANFE/Termos|Documento]] e no XML auxiliar. Os valores aceitos são:
+
dfeInit("info")
:* "0” = não ignora nenhum dos e-mails presentes nos XMLs;
+
totalContas = dfeGetParametro("TotalContasEmail")  // Retorna o número total de contas cadastradas
:* “1” – ignora a TAG <email> presente no XML do Documento Fiscal;
+
contaPadrao = dfeGetParametro("ContaEmailPadrao")  // Retorna um XML com as informações da conta de e-mail padrão
:* “2” – ignora os e-mails informado na TAG <obsCont> do XML do Documento Fiscal, atributos Email_Destinatario, Email_CC e Email_CCO;
+
contasEmail = dfeGetParametro("ContasEmail")      // Retorna um XML com as informações de todas as contas de e-mail cadastradas
:* “3” – ignora os e-mails informados no [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|XML auxiliar]], nas TAGs <EmailDest>, <EmailCC> e <EmailCCO>
+
dfeKill()
  
NOTA 1: com exceção do valor “0”, todos os outros podem ser combinados num mesmo parâmetro.
+
Formato do XML retornardo para "ContaEmailPadrao" e "ContasEmail":
  
NOTA 2: o valor “2” não se aplica à emissão de CC-e.
+
- Sucesso:
  
|...\UniDANFE.exe a=0101010.xml iex=1
+
<?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>
  
...\UniDANFE.exe a=0101010.xml iex=23
+
- Erro:
  
...\UniDANFE.exe a=0101010.xml iex=13
+
<?xml version="1.0" encoding="iso-8859-1"?>
 +
<info>
 +
  <erro>string, mensagem de erro</erro>
 +
</info>
  
...\UniDANFE.exe a=0101010.xml iex=123
 
  
|- style="vertical-align:top;"
+
</pre>
|DELETE
 
|DL
 
|Instrui o UniDANFE se este deve deletar (excluir) os arquivos XML envolvidos na geração do [[Manuais:UniDANFE/Termos|Documento Auxiliar]] após o término do processo. 1=Sim 0=Não. Se passado o valor “1”, os XML´s serão excluídos no final. Qualquer outro valor instrui o UniDANFE a não remover qualquer arquivo XML.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” DL=1
 
  
|- style="vertical-align:top;"
 
|Imprimir
 
  
Produtos
+
'''32/64 bits'''
|iqp
 
|Informa ao UniDANFE se o impresso gerado deverá conter a seção/divisão “Detalhe” dos produtos. Específico para DANFE de NFC-e e extrato SAT. 1=Sim 0=Não.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” iqp=0
 
  
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” iqp=1
+
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.
 
 
|- style="vertical-align:top;"
 
|ITT
 
|itt
 
|Indica ao sistema se deve imprimir ou não o Valor Aproximado de Tributos (Lei da Transparência Fiscal) no quadro de totais do [[Manuais:UniDANFE/Termos|Documento Auxiliar]]. 1=Sim 0=Não.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” itt=0
 
 
 
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” itt=1
 
 
 
|- style="vertical-align:top;"
 
|ITTP
 
|ittp
 
|Indica ao sistema se deve imprimir ou não o Valor Aproximado de Tributos (Lei da Transparência Fiscal) no quadro de produtos/servidos do [[Manuais:UniDANFE/Termos|Documento Auxiliar]]. 1=Sim 0=Não.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” ittp=0
 
 
 
...\unidanfe.exe a=“c:\x\0101-procNFe.xml” ittp=1
 
 
 
|- style="vertical-align:top;"
 
|Texto
 
 
 
Marca
 
 
 
Dagua
 
|tmd
 
|Texto a ser impresso como marca d´água do documento.
 
|
 
 
 
|- style="vertical-align:top;"
 
|Cor
 
 
 
Marca
 
 
 
Dagua
 
|cmd
 
|Cor do texto a ser impresso como marca d´água do documento.
 
|
 
 
 
|- style="vertical-align:top;"
 
|PosY
 
 
 
Marca
 
 
 
Dagua
 
|ymd
 
|Posição inicial (vertical) da impressão do texto de marca d´água.
 
|...\unidanfe.exe a="001.xml" tmd="Texto para a marca d´água" cmd="#cc0000" ymd=180
 
 
 
|- style="vertical-align:top;"
 
|Cancelada
 
|cc
 
|Esse parâmetro indica ao UniDANFE se este deve imprimir a palavra “CANCELADA” no corpo do [[Manuais:UniDANFE/Termos|Documento Auxiliar]], na diagonal. 1=Sim 0=Não
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” CC=1
 
 
 
|- style="vertical-align:top;"
 
|Texto
 
 
 
Diagonal
 
|td
 
|Texto a ser impresso na diagonal, no corpo do Documento. Aceita qualquer texto e quando informado, sobrepõe qualquer outro texto definido pelo sistema.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” TD=”Texto para ser impresso”
 
 
 
|- style="vertical-align:top;"
 
|Pasta Local
 
QRCode (Plus)
 
|plq
 
|Pasta local ou da rede para onde a imagem do QR Code gerada deve ser copiada.
 
|...\unidanfe.exe t=nfce a=“c:\x\0101-procNFe.xml” plq=”c:\meu_erp\imagens\qrcode”
 
 
 
|- style="vertical-align:top;"
 
|Comprovante
 
 
 
TEF<n>
 
|ct<n>
 
|Nome do arquivo, incluindo o caminho completo, dos arquivos de texto cujo conteúdo deverão ser impressos no final do DANFE de NFC-e e Extrato SAT, onde <n> é um número de 1 a 9. Pode-se utilizar arquivos textos normais, cujo conteúdo será integralmente impresso, ou os próprios arquivos de resposta de venda gerados pelos sistemas de transmissão de TEF.
 
|...\unidanfe.exe a=“c:\x\0101-procNFe.xml” t=NFC-e ct1=tef001.res ct2=tef002.res
 
 
 
|- style="vertical-align:top;"
 
|Imprimir
 
 
 
Apenas
 
 
 
Comprovante
 
 
 
TEF
 
|iact
 
|Indica ao sistema que deverão ser impressos apenas os comprovantes TEF passados na lista anterior (ct1  a ct9), não sendo impresso o DANFE/Extrato. 1=Sim 0=Não
 
 
 
NOTA 1: quando esse parâmetro é informado com o valor “1”, apenas a visualização e/ou impressão é realizada, não sendo executadas outras operações como enviar e-mail, gerar pdf, salvar xml, etc. Nesse caso pode-se omitir o parâmetro “arquivo”.
 
 
 
|...\unidanfe.exe a= t=NFC-e ct1=tef001.res ct2=tef002.res iact=1
 
 
 
|- style="vertical-align:top;"
 
|D
 
|d
 
|Força o UniDANFE a executar em uma edição específica (FREE ou Plus).
 
 
 
NOTA 1: ao usar o parâmetro edição=Plus, é necessário ter a licença correspondente para que a geração funcione como desejado.
 
|...\UniDANFE.exe arquivo=0100202020202.xml d=FREE
 
 
 
 
 
|- style="vertical-align:top;"
 
|Anexo
 
|Anexo
 
|Passa arquivos externos para serem anexados ao mesmo e-mail enviado ao destinatário do [[Manuais:UniDANFE/Termos|Documento Fiscal]] (ex: PDF com boletos).
 
 
 
NOTA 1: são permitidos no máximo cinco arquivos anexos externos em um mesmo e-mail.
 
|...\UniDANFE.exe arquivo="12313123213.xml" anexo1="c:\pasta\arquivo1.ext" anexo2="y:\xyxyxy.txt" ...
 
 
 
|-
 
!colspan="4"|Exemplos
 
|-
 
|colspan="4"|...\UniDANFE.exe t=nfe a=“c:\unimake\uninfe\nfe000100-nfe.xml” au=“c:\unimake\uninfe\nfe000100danfe.xml” configuracao=PAISAGEM [email protected] L=“c:\img\filial001.jpg”
 
|-
 
|colspan="4"|...\UniDANFE.exe T=nfe a=“\\meuservidor\c\pasta_xml\0102012.xml” pc=“x:\unimake\uninfe” L=”c:\imagens\logotipo_filial_001.jpg” v=0 i=1 p=2 [email protected]
 
|-
 
|colspan="4"|...\UniDANFE.exe T=cce A=“c:\minhapasta\010101010101-01-procEventoNFe.xml” N=“c:\minhapasta\010101010101-procNFe.xml”
 
|-
 
|colspan="4"|...\UniDANFE.exe T=cte A=“c:\minhapasta\010101010101-procCTe.xml”
 
|-
 
|colspan="4"|...\UniDANFE.exe T=nfe a=“c:\unimake\uninfe\nfe000100-nfe.xml” c=RETRATO
 
|-
 
|colspan="4"|...\UniDANFE.exe t=nfe a=“c:\unimake\uninfe\nfe000100-nfe.xml” c=SEM_IPI
 
|-
 
|colspan="4"|...\UniDANFE.exe t=nfe a=“c:\unimake\uninfe\nfe000100-nfe.xml” [email protected] [email protected]
 
|-
 
|colspan="4"|...\UniDANFE.exe t=nfe a=“c:\unimake\uninfe\nfe000100-nfe.xml” cc=1 DELETE=1
 
|}
 
''(*) Parâmetros obrigatórios''
 
  
==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==
 
==Veja também==
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/Formato da chamada ao UniDANFE|Formato da chamada ao UniDANFE]]
+
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/ArquivosDLL|Quais arquivos do UniDANFE são necessários para funcionar a DLL?]]
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/Exemplos de chamada ao UniDANFE em diversas linguagens|Exemplos de chamada ao UniDANFE em diversas linguagens]]
+
* [[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/Lista completa dos comandos de integração|Lista completa dos comandos de integração]]
+
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP|Integrando o UniDANFE ao sistema ERP]]
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/XML auxiliar|O XML Auxiliar]]
 
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/TAGS de uso livre|TAGS de uso livre no próprio XML do Documento Fiscal Eletrônico]]
 

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