Objeto Unidanfe
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Objeto Unidanfe
Link com falha, mas cheguei na página de instalação.
O manual é de algum sonhador, que partiu de uma máquina já com tudo configurado, ou.... de alguém que não tem a menor idéia do que fez, ou .... alguém que vai receber pra dar suporte.
A parte de Harbour parou aqui, não há mais nada a acrescentar.
Só chamou a atenção o "xharbour (versão paga)", nada demais, apenas chamou a atenção.
O problema é a DLL, vai ter que pedir suporte lá, ou ver com alguém que use.
O manual é de algum sonhador, que partiu de uma máquina já com tudo configurado, ou.... de alguém que não tem a menor idéia do que fez, ou .... alguém que vai receber pra dar suporte.
A parte de Harbour parou aqui, não há mais nada a acrescentar.
Só chamou a atenção o "xharbour (versão paga)", nada demais, apenas chamou a atenção.
O problema é a DLL, vai ter que pedir suporte lá, ou ver com alguém que use.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Alexandre Silva
- Usuário Nível 3

- Mensagens: 376
- Registrado em: 26 Mar 2007 00:16
- Localização: Itapema - SC
Objeto Unidanfe
Obrigado
Se tiver alguma informacao repasso
Se tiver alguma informacao repasso
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Objeto Unidanfe
Pra mim, o manual deveria ter ao menos referência à instalação do Net Framework.
Ou talvez precise instalar TODO UNIDFE além da DLL.
E talvez a DLL só faça a ponte intermediária entre os dois, e nada mais.
Como o manual não menciona porr.. nenhuma.... por adivinhação fica difícil.
Ou talvez precise instalar TODO UNIDFE além da DLL.
E talvez a DLL só faça a ponte intermediária entre os dois, e nada mais.
Como o manual não menciona porr.. nenhuma.... por adivinhação fica difícil.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Objeto Unidanfe
Só lembrando:
uninfe é em NET, o que obriga a instalar NET.
A DLL.... provavelmente é do tipo que fica de intermediária entre win32 e NET, porque isso de CreateObject() não existe pra NET.
Então.... suponho que a DLL seja só uma parte do conjunto, e por isso mencionei do manual ser pra máquina já configurada com algo mais, que não diz lá.
uninfe é em NET, o que obriga a instalar NET.
A DLL.... provavelmente é do tipo que fica de intermediária entre win32 e NET, porque isso de CreateObject() não existe pra NET.
Então.... suponho que a DLL seja só uma parte do conjunto, e por isso mencionei do manual ser pra máquina já configurada com algo mais, que não diz lá.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Objeto Unidanfe
Olhem isso pessoal
Você que programa em xHarbour, esta é para você.
Nesta quinta-feira (29/05/2022), às 9h, DLL Unimake.DFe com xHarbour na prática.
Integre seu ERP ou PDV para envio dos documentos fiscais eletrônicos (Nfe, Nfce, Cte, MDFe, NFSe, etc.) com a DLL Unimake.Dfe.
Vamos falar e praticar sobre:
- Instalando a DLL para uso na linguagem xHarbour;
- Consumindo o serviço "Consultar Status do Serviço da NFe";
- Consumindo o serviço "Consultar Situação da NFe".
Seja muito mais produtivo na integração com os documentos fiscais eletrônicos (NFe, NFCe, CTe, CTeOS, MDFe, GNRE, NFSe, etc.).
Link para participação:
https://youtu.be/YwQgMJmhNVA
Participe e compartilhe.
Você que programa em xHarbour, esta é para você.
Nesta quinta-feira (29/05/2022), às 9h, DLL Unimake.DFe com xHarbour na prática.
Integre seu ERP ou PDV para envio dos documentos fiscais eletrônicos (Nfe, Nfce, Cte, MDFe, NFSe, etc.) com a DLL Unimake.Dfe.
Vamos falar e praticar sobre:
- Instalando a DLL para uso na linguagem xHarbour;
- Consumindo o serviço "Consultar Status do Serviço da NFe";
- Consumindo o serviço "Consultar Situação da NFe".
Seja muito mais produtivo na integração com os documentos fiscais eletrônicos (NFe, NFCe, CTe, CTeOS, MDFe, GNRE, NFSe, etc.).
Link para participação:
https://youtu.be/YwQgMJmhNVA
Participe e compartilhe.
- jairfab
- Usuário Nível 3

- Mensagens: 252
- Registrado em: 21 Mai 2007 09:43
- Localização: São Paulo, Região Leste - Suzano
Objeto Unidanfe
Gostaria de saber se vai ser abordado o e-Social ?
Outra coisa mudou a data não seria para dia 26/05/2022 amanha!
Outra coisa mudou a data não seria para dia 26/05/2022 amanha!
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Objeto Unidanfe
Jair, não trabalho com o e-Social, mas pelo que me consta a tolerância de convivência de versões expirou no último dia 22/05/2022. A partir dessa data somente dados enviados com a versão S-1.0 são aceitos.jairfab escreveu:Outra coisa mudou a data não seria para dia 26/05/2022 amanha!
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- jairfab
- Usuário Nível 3

- Mensagens: 252
- Registrado em: 21 Mai 2007 09:43
- Localização: São Paulo, Região Leste - Suzano
Objeto Unidanfe
Isto mesmo Jairo. eu já enviei vários registros nesta versão porem utilizo o componente unimake pra fazer os envio mas queria saber nesta nova modalidade de uso via dll se tem esocial também?
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Objeto Unidanfe
Vi este tópico ontem
Comecei fazer um teste hoje
Baixe estes dois instaladores em:
http://www.unimake.com.br/downloads.php
1 - DLL UniNFe
2 - DLL de geracao do Danfe
TesteDLLDFe_ValidarCertificadoA1, não funcionou, vou testar mais
CLASSE
Teste
Comecei fazer um teste hoje
Baixe estes dois instaladores em:
http://www.unimake.com.br/downloads.php
1 - DLL UniNFe
2 - DLL de geracao do Danfe
TesteDLLDFe_ValidarCertificadoA1, não funcionou, vou testar mais
CLASSE
Código: Selecionar todos
#pragma /w2
#pragma /es2
//#include 'boni_cmd.ch'
#include 'hbclass.ch'
#define __DFE_NFE_CERT_DIG__ iif(File('certificado.pfx'), Lower(PathAtual()) + 'certificado.pfx', '')
#define __DFE_NFE_CERT_SENHA__ iif(File('certificado.pfx'), '12345678', '')
#define __DFE_NFE_TBAMB__ 2
#define __DFE_NFE_CUF__ 32
#define __DFE_NFE_VERSAO__ '4.00'
CREATE CLASS DFe
CLASS VAR CertDigArq INIT __DFE_NFE_CERT_DIG__ //AS TYPE CHARACTER
CLASS VAR CertDigSenha INIT __DFE_NFE_CERT_SENHA__ //AS TYPE CHARACTER
CLASS VAR TpAmb INIT __DFE_NFE_TBAMB__ //AS TYPE NUMERIC // 1-Producao, 2-Homologacao
CLASS VAR CUF INIT __DFE_NFE_CUF__ //AS TYPE NUMERIC
CLASS VAR Versao INIT __DFE_NFE_VERSAO__ //AS TYPE CHARACTER
//VAR oDFe PROTECTED INIT NIL // [[EXPORTED | VISIBLE] | [PROTECTED] | [HIDDEN]] [READONLY | RO]
VAR ConfBasica
VAR DFeError
VAR Error
VAR Certificado
VAR CertDigSel
VAR consStatServ
VAR statusServico
VAR DanfeConf
VAR DanfeServ
METHOD New() CONSTRUCTOR
DESTRUCTOR Destroy
METHOD CarregarCertificadoA1
METHOD Status
METHOD Danfe
//ON ERROR ErrorHandler()
ENDCLASS
/*
METHOD ErrorHandler(e) CLASS DFe
Self:Error := e
RETURN Self
*/
METHOD New(nServico, sCertDigArq, sCertDigSenha) CLASS DFe
LOCAL aCert, xx
//Self:oDFe := CriaVarObjectTemp()
DEFAULT nServico TO 0 // 0=nfe status serviço, 5=Envio de evento
DEFAULT sCertDigArq TO Self:CertDigArq
DEFAULT sCertDigSenha TO Self:CertDigSenha
Self:DFeError := CreateObject("Unimake.Exceptions.ThrowHelper")
//colocar certififcado na pasta do sistema "certififcado_cliente_tal-senha.pfx", carrega automático sem precisar configurar
//EX: "certificado_teste-12345678.pfx"
IF Empty(sCertDigArq)
aCert := Directory('certificado*.pfx')
IF Len(aCert) > 0
sCertDigArq := ''
FOR xx := 1 TO Len(aCert)
sCertDigArq += (',' + Left(aCert[xx, 1], Rat('-', aCert[xx, 1]) - 1))
NEXT
sCertDigArq := SubStr(sCertDigArq, 2)
IF Len(aCert) = 1
xx := 1
ELSE
xx := Alerta('Certificados encontrados', Split(sCertDigArq, ','))
ENDIF
IF xx > 0
sCertDigArq := aCert[xx, 1]
sCertDigSenha := SubStr(aCert[xx, 1], Rat('-', aCert[xx, 1]) + 1)
sCertDigSenha := Left(sCertDigSenha, Len(sCertDigSenha) - 4)
Self:CertDigArq := sCertDigArq
Self:CertDigSenha := sCertDigSenha
ELSE
sCertDigArq := ''
ENDIF
ENDIF
ENDIF
* Criar configuração básica para consumir o serviço
Self:ConfBasica = CreateObject("Unimake.Business.DFe.Servicos.Configuracao")
Self:ConfBasica:TipoDfe := 0 // 0=nfe
Self:ConfBasica:Servico := nServico
Self:ConfBasica:CertificadoArquivo := sCertDigArq
Self:ConfBasica:CertificadoSenha := sCertDigSenha
Self:CarregarCertificadoA1()
RETURN Self
METHOD Destroy() CLASS DFe
Self:ConfBasica := NIL
Self:DFeError := NIL
Self:Error := NIL
Self:Certificado := NIL
Self:CertDigSel := NIL
Self:consStatServ := NIL
Self:statusServico := NIL
Self:DanfeConf := NIL
Self:DanfeServ := NIL
RETURN Self
METHOD CarregarCertificadoA1(sCertDigArq, sCertDigSenha) CLASS DFe
DEFAULT sCertDigArq TO Self:ConfBasica:CertificadoArquivo
DEFAULT sCertDigSenha TO Self:ConfBasica:CertificadoSenha
* Criar objeto com Certificado A1 informado
Self:Certificado := CreateObject("Unimake.Security.Platform.CertificadoDigital")
Self:CertDigSel := Self:Certificado:CarregarCertificadoDigitalA1(sCertDigArq, sCertDigSenha)
RETURN Self
METHOD Status(nTpAmb, nUf, sVersao) CLASS DFe
DEFAULT nTpAmb TO Self:tpAmb
DEFAULT nUf TO Self:CUF
DEFAULT sVersao TO Self:Versao
// Criar XML
Self:consStatServ = CreateObject("Unimake.Business.DFe.Xml.NFe.ConsStatServ")
Self:consStatServ:Versao := sVersao
Self:consStatServ:TpAmb := nTpAmb
Self:consStatServ:CUF := nUf
* Consumir o serviço
Self:statusServico := CreateObject("Unimake.Business.DFe.Servicos.NFe.StatusServico")
Self:statusServico:Executar(Self:consStatServ, Self:ConfBasica)
RETURN Self
METHOD Danfe(sArqXML, lImprimir, lVisualizar, lExecutar ) CLASS DFe
DEFAULT sArqXML TO ''
DEFAULT lImprimir TO .F.
DEFAULT lVisualizar TO .T.
DEFAULT lExecutar TO .T.
* Configuracoes
Self:DanfeConf := CreateObject('Unimake.Unidanfe.Configurations.UnidanfeConfiguration')
Self:DanfeConf:Arquivo = sArqXML
Self:DanfeConf:Imprimir = lImprimir
Self:DanfeConf:Visualizar = lVisualizar
* Executar Impressao
Self:DanfeServ = CreateObject('Unimake.Unidanfe.UnidanfeServices')
IF lExecutar .and. !Empty(Self:DanfeConf:Arquivo)
Self:DanfeServ:Execute(Self:DanfeConf)
ENDIF
RETURN Self
Código: Selecionar todos
PROCEDURE TesteDllDFe()
LOCAL oDFe, oError
BEGIN SEQUENCE WITH {|e| Break(e)}
? procline(0)
oDFe := DFe()
oDFe:New()
//TesteDLLDFe_ValidarCertificadoA1(oDFe)
TesteDLLDFe_Status(oDFe)
TesteDLLDFe_Danfe(oDFe)
RECOVER USING oError
? oError:Description
? oError:Operation
IF !Empty(oDFe:Error)
? oDFe:Error:Description
? oDFe:Error:Operation
ENDIF
? oDFe:DFeError:GetMessage()
? oDFe:DFeError:GetErrorCode()
END SEQUENCE
RETURN
PROCEDURE TesteDLLDFe_Status(oDFe)
LOCAL oError
BEGIN SEQUENCE WITH {|e| Break(e)}
oDFe:Status()
? "XML Retornado pela SEFAZ"
? "========================"
? oDFe:statusServico:RetornoWSString
?
? "Codigo de Status e Motivo"
? "========================="
? AllTrim(Str(oDFe:statusServico:Result:CStat, 5))
? oDFe:statusServico:Result:XMotivo
?
RECOVER USING oError
? oError:Description
? oError:Operation
IF !Empty(oDFe:Error)
? oDFe:Error:Description
? oDFe:Error:Operation
ENDIF
? oDFe:DFeError:GetMessage()
? oDFe:DFeError:GetErrorCode()
END SEQUENCE
RETURN
PROCEDURE TesteDLLDFe_ValidarCertificadoA1(oDFe)
Local Certificado, CertificadoSelecionado
True(oDFe)
* Criar objeto com Certificado A1 informado
Certificado := CreateObject("Unimake.Security.Platform.CertificadoDigital")
CertificadoSelecionado := Certificado:CarregarCertificadoDigitalA1(oDFe:CertDigArq, oDFe:CertDigSenha)
//? "ID do Certificado....: ", oDFe:Certificado:GetThumbPrint(oDFe:CertDigSel)
? "ID do Certificado....: ", Certificado:GetThumbPrint(CertificadoSelecionado) //oDFe:CertDigSel
? "Dados do proprietario: ", Certificado:GetSubject(CertificadoSelecionado)
? "Numero de Serie......: ", Certificado:GetSerialNumber(CertificadoSelecionado)
? "Validade Inicial.....: ", Certificado:GetNotBefore(CertificadoSelecionado)
? "Validade Final.......: ", Certificado:GetNotAfter(CertificadoSelecionado)
? "Certificado vencido?.: ", Certificado:Vencido(CertificadoSelecionado)
?
RETURN
PROCEDURE TesteDLLDFe_Danfe(oDFe)
oDFe:Danfe('.\arquivo_nfe.xml', .F./*imprimir*/, .T./*visualizar*/, .T./*executar*/)
RETURN
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000