-
Total de ítens
571 -
Registro em
-
Última visita
-
Days Won
2
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que jorge andrade postou
-
Boiei nessa amigo. Acho que não vi isso. Obrigado.
-
Pessoal Boa tarde No Monitor tenho como determinar esta opção, na Lib tem? Onde fica? Obrigado
-
Sim amigo, então, não há opção de outra pasta, pq fica baseada onde está a LIB/DLL. Pensei que tivesse outra alternativa. Obrigado []s,
-
Pessoal Boa tarde Andei fazendo algumas alterações, fique com algumas dúvidas. 1 - Arquivo de log da LIB, posso configurar e determinar o nome? 2 - Pode ser gravado em um pasta escolhida, ou somente se onde encontra o INI e/ou DLL? []s,
-
Ah! Obrigado amigo, existe muitas diferenças nas informações entre o arquivo gerado para monitor e pra Lib.
-
Obrigado amigo, mas infelizmente no manual, o qual eu recorro a tudo e sigo fielmente, não tem a resposta que preciso e nem exemplo. []s,
-
neste caso, o que pode ser? Tem algum modelo pra LIB? Posso gerar e enviar em xml? Tem exemplo? Obrigado Mandei um INI e deu este erro: Falha na validação da Mensagem do Evento: 1824 - Element '{http://www.portalfiscal.inf.br/nfe}tpEvento': '-99999' is not a valid value of the local atomic type
-
Uma dúvida. O INI que eu faço pro monitor pra fazer uma CCE é igual a LIB? no monitor faço assim? NFE.CARTADECORRECAO("[CCE] idLote=152 [EVENTO001] chNFe=35240912345678901234550010000059291000640490 cOrgao=35 CNPJ=12345678901234 dhEvento=25/09/2024 13:53:21 nSeqEvento=01 xCorrecao=CONSIDERAR: 0=Contratacao do Frete por conta do Remetente (CIF)") e o xml que gero que dá certo
-
Sr(a)s. Boa tarde Não sei se este seria o canal correto, e se alguém já se manifestou sobre o assunto, mas, venho através deste, manifestar meus sentimentos a família pelo passamento do Rubinho que, no âmbito profissional ajudou muito os parceiros Elgin, promovendo e participando de eventos, além de disponibilizar ferramentas, equipamentos e estruturas Elgin. Que deus conforte a família e os seus colegas. []s,
-
- 5
-
Isso eu entendi e salientei que havia excessos de comandos desnecessários, sobre gravar em tela, vc diz no próprio monitor correto. Obrigado
-
Júnior boa tarde e obrigado pela resposta. Neste caso, devo mesmo usar o velho esquema de ajuste in loco, com tentativas e erros, até achar o formato adequado de acordo com a impressora, modelo, fonte (A qual ainda não sei como determinar, bem provável pelo manual da impressora) escolhido. Acredito que o teste abaixo deva deixar claro isso, onde utilizei uma etiqueta qualquer e a minha intenção era somente tentar imprimir uma linha em cada etiqueta e as coordenadas devem ter truncado, pois deve ter emitido na coordenada especificada, mas em etiquetas diferentes e bem provável tb pelo tamanho do texto Segue comando utilizado, talvez com excesso de informações e aimagem. ETQ.Ativar() ETQ.IniciarEtiqueta() ETQ.Velocidade() ETQ.Modelo(4) ETQ.ModeloStr() ETQ.Temperatura() ETQ.SetUnidade(0) ETQ.DPI() ETQ.SetDPI(0) ETQ.MargemEsquerda() #AQUI DEVO DETERMINAR A MARGEM ESQUEDA INICIAL DA PRIMEIRA ETIQUETA? ETQ.ImprimirTexto(0, 3, 1, 1, 11, 11, "ETQPPLB-11" ) ETQ.Ativar() ETQ.IniciarEtiqueta() ETQ.Velocidade() ETQ.Modelo(4) ETQ.ModeloStr() ETQ.Temperatura() ETQ.SetUnidade(0) ETQ.DPI() ETQ.SetDPI(0) ETQ.MargemEsquerda() #AQUI DEVO DETERMINAR A MARGEM ESQUEDA INICIAL DA SEGUNDA ETIQUETA? ETQ.ImprimirTexto(0, 3, 1, 1, 46, 46, "ETQPPLB-46" ) ETQ.Ativar() ETQ.IniciarEtiqueta() ETQ.Velocidade() ETQ.Modelo(4) ETQ.ModeloStr() ETQ.Temperatura() ETQ.SetUnidade(0) ETQ.DPI() ETQ.SetDPI(0) ETQ.MargemEsquerda() #AQUI DEVO DETERMINAR A MARGEM ESQUEDA INICIAL DA TERCEIRA ETIQUETA ETQ.ImprimirTexto(0, 3, 1, 1, 77, 77, "ETQPPLB-77" ) ETQ.Imprimir(1,0) ETQ.Desativar()
-
Nenhum exemplo simples? Nada? Será quem ninguém usa a etiqueta d o ACBR via monitor? Puxa! Estou frustado.
-
Pessoal boa tarde Alquém tem um exemplo de emissão de etiqueta utilizando em etiquetas paralelas 40 x 25 x 2, conforme imagem: []s
-
Fiz os teste que vc postou acima com sucesso: xLib := LibLoad( "ACBrNFe32.dll" ) xRetorno := DllCall( xLib , DLL_OSAPI , "NFE_Inicializar" , xACBrLib , xSenha )
-
O amigo Brizolla, me enviou por email o seu projeto não vou disponibilizar, pq é algo particular dele, porém, se ele achar conveniente anexar aqui como contribuição, acredito que, muitos irão agradecer, pois irá contribuir e quem sabe, até desafogar um pouco as perguntas ao Sac, além da contribuição de outros com ideias e ajustes. []s,
-
Como O Rafael afirmou e eu te falei e off, vc deve usar 0 ou 1. Tente simular conforme o monitor que te serve como procedimento, onde vc pode definir antecipadamente tudo o que vc define nele. A facilidade das DLL's é que vc pode dinamicamente orientar os seus processos, independente do que supostamente vc tenha configurado no monitor e lembre que é gerado o INI (ACBrLib.ini) da LIB com as configurações, o qual vc pode carregar. Se vc enviar assim nfe:Imprimir(,,,1,,,), vc terá o preview para escolher a impressora, ou defina-a corretamente com o nome capturado do windows pela sua aplicação . []s,
-
Obrigado pela informação Juliana. Postei de forma aberta, pq em alguns fóruns não permitem UP-LOAD.
-
Pessoal boa tarde Diante da dificuldades de alguns, inclusive a minha e com a ajuda do Rafael Dias, estou disponibilizando algumas informações(Corrijam o que for necessário), que podem ajudar aos colegas e por sua vez, devem criar uma avalanche de informações para outros e que possamos fortalecer o projeto e possamos divulgar ainda mais o projeto e a adesão aos usuários SAC. Ao contrário de alguns, que apenas participam daqui com suas dúvidas e depois somem com as suas soluções, eu não faço isso, aliás, sinto-me feliz e privilegiado em poder ajudar com o meu ínfimo conhecimento, porém, feliz e satisfeito com os poucos passos no entendimento do projeto. Espero que estas informações sirvam para alguns e que estas elucidem dúvidas iniciais em relação as DLL's, sendo cada delas em suas particularidades. Ciente de que a classe e o demo (Vide link) estão a disposição no SVN http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/NFe/ , anda assim, informo aqui, para facilitar aos colegas. Mais uma vez me dirijo aos que solicitei que postassem as suas soluções e os que fazem uso do fórum para expor suas soluções de forma comercial sem nenhum retorno ao mesmo. Me desculpem, mas é uma realidade de alguns aqui. []s, //------------------------------ACBRDEMO---------------------------------. Function Main () local nfe local vendaRetorno, strIniVenda local hIni, hIniVenda LOCAL cSection LOCAL hIniData nfe := ACBrNFe():New("", "") // Sessão Chave Valor nfe := ACBrNFe():New("", "") nfe:ConfigGravarValor("Principal", "LogNivel", "4") // logParanoico nfe:ConfigGravarValor("Principal", "LogPath", "C:\WINDOWS\TEMP" ) nfe:ConfigGravarValor("NFE", "FormaEmissao", "0") nfe:ConfigGravarValor("NFE", "SalvarGer", "1") nfe:ConfigGravarValor("NFE", "ExibirErroSchema", "1") nfe:ConfigGravarValor("NFE", "RetirarAcentos", "1") nfe:ConfigGravarValor("NFE", "RetirarEspacos", "1") nfe:ConfigGravarValor("NFE", "IdentarXML", "1") nfe:ConfigGravarValor("NFE", "ValidarDigest", "0") nfe:ConfigGravarValor("NFE", "IdCSC", "000001") nfe:ConfigGravarValor("NFE", "CSC", "92052b84-e609-436c-8c27-a3922e509922") nfe:ConfigGravarValor("NFE", "ModeloDF", "0") //nfe //nfe:ConfigGravarValor("NFE", "ModeloDF", "1") //nfce nfe:ConfigGravarValor("NFE", "VersaoDF", "3") //versao 4.00 nfe:ConfigGravarValor("NFE", "AtualizarXMLCancelado", "1") nfe:ConfigGravarValor("NFE", "VersaoQRCode", "2") nfe:ConfigGravarValor("NFE", "CamposFatObrigatorios", "1") //adiiconar tag nfe:ConfigGravarValor("NFE", "TagNT2018005", "1") //0 nunca 1 producao 2 somente homologacao 3 sempre nfe:ConfigGravarValor("NFE", "Ambiente", "0") //0 producao 1 homologação nfe:ConfigGravarValor("NFE", "SalvarWS", "1") nfe:ConfigGravarValor("NFE", "Timeout", "5000") nfe:ConfigGravarValor("NFE", "TimeoutPorThread", "0") nfe:ConfigGravarValor("NFE", "Visualizar", "1") //sim nfe:ConfigGravarValor("NFE", "AjustaAguardaConsultaRet", "1") //sim nfe:ConfigGravarValor("NFE", "AguardarConsultaRet", "0") nfe:ConfigGravarValor("NFE", "IntervaloTentativas", "1000") nfe:ConfigGravarValor("NFE", "Tentativas", "5") nfe:ConfigGravarValor("NFE", "SSLType", "0") //LT_all nfe:ConfigGravarValor("NFE", "PathSalvar", "C:\WINDOWS\TEMP") nfe:ConfigGravarValor("NFE", "PathSchemas", "C:\ACBrMonitorPLUS\Schemas") nfe:ConfigGravarValor("NFE", "IniServicos", "C:\ACBrMonitorPLUS\INIS") nfe:ConfigGravarValor("NFE", "SalvarArq", "1") //ARQUIVOS DE EVENTOS nfe:ConfigGravarValor("NFE", "AdicionarLiteral", "0") nfe:ConfigGravarValor("NFE", "SepararPorCNPJ", "0") nfe:ConfigGravarValor("NFE", "SepararPorModelo", "0") nfe:ConfigGravarValor("NFE", "SepararPorAno", "0") nfe:ConfigGravarValor("NFE", "SepararPorMes", "0") nfe:ConfigGravarValor("NFE", "SepararPorDia", "0") nfe:ConfigGravarValor("NFE", "SalvarEvento", "1") nfe:ConfigGravarValor("NFE", "SalvarApenasNFeProcessadas", "1") nfe:ConfigGravarValor("NFE", "EmissaoPathNFe", "0") //por data de emissão nfe:ConfigGravarValor("NFE", "NormatizarMunicipios", "1") nfe:ConfigGravarValor("NFE", "PathNFe", "c:\windows\temp") nfe:ConfigGravarValor("NFE", "PathInu", "c:\windows\temp") nfe:ConfigGravarValor("NFE", "PathEvento", "c:\windows\temp") nfe:ConfigGravarValor("NFE", "PathArquivoMunicipios", "C:\ACBrMonitorPLUS\MunIBGE") nfe:ConfigGravarValor("NFE", "Download.PathDownload", "c:\windows\temp") nfe:ConfigGravarValor("NFE", "Download.SepararPorNome", "0") nfe:ConfigGravarValor("NFE", "IdCSRT", "") nfe:ConfigGravarValor("NFE", "CSRT", "") nfe:ConfigGravarValor("DANFE", "PathPDF", "c:\windows\temp") nfe:ConfigGravarValor("DANFE", "UsaSeparadorPathPDF", "0") nfe:ConfigGravarValor("DANFE", "Impressora", "") nfe:ConfigGravarValor("DANFE", "NomeDocumento", "") nfe:ConfigGravarValor("DANFE", "MostraSetup", "1") nfe:ConfigGravarValor("DANFE", "MostraPreview", "1") nfe:ConfigGravarValor("DANFE", "MostraStatus", "1") nfe:ConfigGravarValor("DANFE", "Copias", "") nfe:ConfigGravarValor("DANFE", "PathLogo", "c:\windows\temp") nfe:ConfigGravarValor("DANFE", "MargemInferior", "0,10") nfe:ConfigGravarValor("DANFE", "MargemSuperior", "0,00") nfe:ConfigGravarValor("DANFE", "MargemEsquerda", "0,00") nfe:ConfigGravarValor("DANFE", "MargemDireita", "0,00") nfe:ConfigGravarValor("DANFE", "ExpandeLogoMarca", "0") //0 e expande ou nao //nfe:ConfigGravarValor("DANFE", "CasasDecimais.Formato", "0,00") //nfe:ConfigGravarValor("DANFE", "CasasDecimais.MaskqCom", "0,00") //nfe:ConfigGravarValor("DANFE", "CasasDecimais.MaskvUnCom", "0,00") //nfe:ConfigGravarValor("DANFE", "CasasDecimais.qCom", "0,00") //nfe:ConfigGravarValor("DANFE", "CasasDecimais.vUnCom", "0,00") //nfe:ConfigGravarValor("DANFE", "TipoDANFE", "1") //nfe:ConfigGravarValor("DANFE", "ImprimeTotalLiquido", "") nfe:ConfigGravarValor("DFe", "ArquivoPFX", "W:\SERV\CERTIFICADO\CLIENTES\ANDERSON\RUBINO\ArquivoPFX.pfx") ///nfe:ConfigGravarValor("DFe", "DadosPFX", "") ///nfe:ConfigGravarValor("DFe", "NumeroSerie", "") nfe:ConfigGravarValor("DFe", "Senha", "XXXPASSWORD DO CERTIFICADOXXX") ///nfe:ConfigGravarValor("DFe", "FK", "") nfe:ConfigGravarValor("DFe", "VerificarValidade", "1") nfe:ConfigGravarValor("DFe", "SSLCryptLib", "1") nfe:ConfigGravarValor("DFe", "SSLHttpLib", "3") nfe:ConfigGravarValor("DFe", "SSLXmlSignLib", "4") nfe:ConfigGravarValor("DFe", "UF", "SP") nfe:ConfigGravarValor("DFe", "TimeZone.Modo", "0") nfe:ConfigGravarValor("DFe", "TimeZone.Str", "") // Salvando configurações CLEAR SCREEN ?nfe:ConfigGravar("") ?nfe:Nome ?nfe:Versao ?x1 := nfe:StatusServico //() INKEY(0) nfe := nil INKEY(0) return NIL //------------------------------CLASSE ACBRNFE---------------------------------. #include "hbclass.ch" #include "error.ch" #define DC_CALL_CDECL 0x0010 // __cdecl #define DC_CALL_STD 0x0020 // __stdcall #ifdef __XHARBOUR__ #define ACBrLIB "ACBrNFe32.dll" #define DLL_OSAPI DC_CALL_STD #else #if defined( __PLATFORM__WINDOWS ) #define ACBrLIB "ACBrNFe32.dll" #define DLL_OSAPI DC_CALL_STD #else #define ACBrLIB "libacbrnfe64.so" #define DLL_OSAPI DC_CALL_CDECL #endif #endif #define STR_LEN 256 CREATE CLASS ACBrNFe HIDDEN: VAR hHandle METHOD CheckResult(hResult) METHOD ProcessResult(buffer, bufferLen) VISIBLE: METHOD New(eArqConfig, eChaveCrypt) CONSTRUCTOR DESTRUCTOR Destroy METHOD Nome METHOD Versao METHOD ConfigLer(eArqConfig) METHOD ConfigGravar(eArqConfig) METHOD ConfigLerValor(eSessao, eChave) METHOD ConfigGravarValor(eSessao, eChave, eValor) METHOD CarregarXML(eArquivoOuXml) METHOD CarregarINI(eArquivoOuIni) METHOD ObterXml(AIndex) METHOD GravarXml(AIndex, eNomeArquivo, ePathArquivo) METHOD CarregarEventoXML(eArquivoOuXml) METHOD CarregarEventoINI(eArquivoOuIni) METHOD LimparLista() METHOD LimparListaEventos() METHOD Assinar() METHOD Validar() METHOD ValidarRegrasdeNegocios() METHOD VerificarAssinatura() METHOD GerarChave(ACodigoUF, ACodigoNumerico, AModelo, ASerie, ANumero, ATpEmi, AEmissao, ACNPJCPF) METHOD StatusServico() METHOD Consultar(eChaveOuNFe) METHOD Inutilizar(ACNPJ, AJustificativa, Ano, Modelo, Serie, NumeroInicial, NumeroFinal) METHOD Enviar(ALote, Imprimir, Sincrono, Zipado) METHOD ConsultarRecibo(ARecibo) METHOD Cancelar(eChave, eJustificativa, eCNPJ, ALote) METHOD EnviarEvento(ALote) METHOD DistribuicaoDFePorUltNSU(acUFAutor, eCNPJCPF, eultNSU) METHOD DistribuicaoDFePorNSU(acUFAutor, eCNPJCPF, eNSU) METHOD DistribuicaoDFePorChave(acUFAutor, eCNPJCPF, echNFe) METHOD EnviarEmail(ePara, eChaveNFe, aEnviaPDF, eAssunto, eMensagem, eCc, eAnexos) METHOD EnviarEmailEvento(ePara, eChaveEvento, eChaveNFe, aEnviaPDF, eAssunto, eMensagem, eCc, eAnexos) METHOD Imprimir(cImpressora, nNumCopias, cProtocolo, bMostrarPreview, cMarcaDagua, bViaConsumidor, bSimplificado) METHOD ImprimirPDF() METHOD ImprimirEvento(eArquivoXmlNFe, eArquivoXmlEvento) METHOD ImprimirEventoPDF(eArquivoXmlNFe, eArquivoXmlEvento) METHOD ImprimirInutilizacao(eArquivoXml) METHOD ImprimirInutilizacaoPDF(eArquivoXml) END CLASS METHOD New(eArqConfig, eChaveCrypt) CLASS ACBrNFe local hResult, buffer, bufferLen, oErr eArqConfig :=if(eArqConfig = nil, '', eArqConfig) eChaveCrypt:=if(eChaveCrypt = nil, '', eChaveCrypt) ::hHandle := DllLoad(ACBrLIB) if ::hHandle = nil oErr := ErrorNew() oErr:Severity := ES_ERROR oErr:Description := "Erro a carregar a dll [" + ACBrLIB + "]" Throw(oErr) endif hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Inicializar", hb_StrToUTF8(eArqConfig), hb_StrToUTF8(eChaveCrypt)) ::CheckResult(hResult) RETURN Self PROCEDURE Destroy CLASS ACBrNFe DllCall(::hHandle, DLL_OSAPI, "NFE_Finalizar") DllUnload(::hHandle) RETURN METHOD CheckResult(hResult) CLASS ACBrNFe local buffer, bufferLen, oErr if hResult >= 0 RETURN nil endif bufferLen := STR_LEN buffer := Space(bufferLen) DllCall(::hHandle, DLL_OSAPI, "NFE_UltimoRetorno", @buffer, @bufferLen) if bufferLen > STR_LEN buffer := Space(bufferLen) DllCall(::hHandle, DLL_OSAPI, "NFE_UltimoRetorno", @buffer, @bufferLen) endif oErr := ErrorNew() oErr:Severity := ES_ERROR oErr:Description := hb_UTF8ToStr(buffer) Throw(oErr) RETURN nil METHOD ProcessResult(buffer, bufferLen) CLASS ACBrNFe if bufferLen > STR_LEN buffer := Space(bufferLen) DllCall(::hHandle, DLL_OSAPI, "NFE_UltimoRetorno", @buffer, @bufferLen) endif RETURN buffer METHOD Nome CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Nome", @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD Versao CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Versao", @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD ConfigLer(eArqConfig) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ConfigLer", hb_StrToUTF8(eArqConfig)) ::CheckResult(hResult) RETURN nil METHOD ConfigGravar(eArqConfig) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ConfigGravar", hb_StrToUTF8(eArqConfig)) ::CheckResult(hResult) RETURN nil METHOD ConfigLerValor(eSessao, eChave) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ConfigLerValor", hb_StrToUTF8(eSessao), hb_StrToUTF8(eChave), @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD ConfigGravarValor(eSessao, eChave, eValor) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ConfigGravarValor", hb_StrToUTF8(eSessao), hb_StrToUTF8(eChave), hb_StrToUTF8(eValor)) ::CheckResult(hResult) RETURN nil METHOD CarregarXML(eArquivoOuXml) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_CarregarXML", hb_StrToUTF8(eArquivoOuXml)) ::CheckResult(hResult) RETURN nil METHOD CarregarINI(eArquivoOuIni) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_CarregarINI", hb_StrToUTF8(eArquivoOuIni)) ::CheckResult(hResult) RETURN nil METHOD ObterXml(AIndex) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ObterXml", AIndex, @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD GravarXml(AIndex, eNomeArquivo, ePathArquivo) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_GravarXml", AIndex, hb_StrToUTF8(eNomeArquivo), hb_StrToUTF8(ePathArquivo)) ::CheckResult(hResult) RETURN nil METHOD CarregarEventoXML(eArquivoOuXml) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_CarregarEventoXML", hb_StrToUTF8(eArquivoOuXml)) ::CheckResult(hResult) RETURN nil METHOD CarregarEventoINI(eArquivoOuIni) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_CarregarEventoINI", hb_StrToUTF8(eArquivoOuIni)) ::CheckResult(hResult) RETURN nil METHOD LimparLista() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_LimparLista") ::CheckResult(hResult) RETURN nil METHOD LimparListaEventos() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_LimparListaEventos") ::CheckResult(hResult) RETURN nil METHOD Assinar() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Assinar") ::CheckResult(hResult) RETURN nil METHOD Validar() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Validar") ::CheckResult(hResult) RETURN nil METHOD ValidarRegrasdeNegocios() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ValidarRegrasdeNegocios") ::CheckResult(hResult) RETURN nil METHOD VerificarAssinatura() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_VerificarAssinatura") ::CheckResult(hResult) RETURN nil METHOD GerarChave(ACodigoUF, ACodigoNumerico, AModelo, ASerie, ANumero, ATpEmi, AEmissao, ACNPJCPF) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_GerarChave", ACodigoUF, ACodigoNumerico, AModelo, ASerie, ANumero, ATpEmi, AEmissao, ACNPJCPF, @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD StatusServico() CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_StatusServico", @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD Consultar(eChaveOuNFe) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Consultar", hb_StrToUTF8(eChaveOuNFe), @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD Inutilizar(ACNPJ, AJustificativa, Ano, Modelo, Serie, NumeroInicial, NumeroFinal) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Inutilizar", hb_StrToUTF8(ACNPJ), hb_StrToUTF8(AJustificativa), Ano, Modelo, Serie, NumeroInicial, NumeroFinal, @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD Enviar(ALote, Imprimir, Sincrono, Zipado) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Enviar", ALote, Imprimir, Sincrono, Zipado, @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD ConsultarRecibo(ARecibo) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ConsultarRecibo", hb_StrToUTF8(ARecibo), @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD Cancelar(eChave, eJustificativa, eCNPJ, ALote) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Cancelar", hb_StrToUTF8(eChave), hb_StrToUTF8(eJustificativa), hb_StrToUTF8(eCNPJ), ALote, @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD EnviarEvento(ALote) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_EnviarEvento", ALote, @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD DistribuicaoDFePorUltNSU(acUFAutor, eCNPJCPF, eultNSU) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_DistribuicaoDFePorUltNSU", hb_StrToUTF8(acUFAutor), hb_StrToUTF8(eCNPJCPF), hb_StrToUTF8(eultNSU), @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD DistribuicaoDFePorNSU(acUFAutor, eCNPJCPF, eNSU) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_DistribuicaoDFePorNSU", hb_StrToUTF8(acUFAutor), hb_StrToUTF8(eCNPJCPF), hb_StrToUTF8(eNSU), @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD DistribuicaoDFePorChave(acUFAutor, eCNPJCPF, echNFe) CLASS ACBrNFe local hResult, buffer, bufferLen bufferLen := STR_LEN buffer := Space(bufferLen) hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_DistribuicaoDFePorChave", hb_StrToUTF8(acUFAutor), hb_StrToUTF8(eCNPJCPF), hb_StrToUTF8(echNFe), @buffer, @bufferLen) ::CheckResult(hResult) RETURN ::ProcessResult(buffer, bufferLen) METHOD EnviarEmail(ePara, eChaveNFe, aEnviaPDF, eAssunto, eMensagem, eCc, eAnexos) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_EnviarEmail", hb_StrToUTF8(ePara), hb_StrToUTF8(eChaveNFe), aEnviaPDF, hb_StrToUTF8(eAssunto), hb_StrToUTF8(eMensagem), hb_StrToUTF8(eCc), hb_StrToUTF8(eAnexos)) ::CheckResult(hResult) RETURN nil METHOD EnviarEmailEvento(ePara, eChaveEvento, eChaveNFe, aEnviaPDF, eAssunto, eMensagem, eCc, eAnexos) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_EnviarEmailEvento", hb_StrToUTF8(ePara), hb_StrToUTF8(eChaveEvento), hb_StrToUTF8(eChaveNFe), aEnviaPDF, hb_StrToUTF8(eAssunto), hb_StrToUTF8(eMensagem), hb_StrToUTF8(eCc), hb_StrToUTF8(eAnexos)) ::CheckResult(hResult) RETURN nil METHOD Imprimir(cImpressora, nNumCopias, cProtocolo, bMostrarPreview, cMarcaDagua, bViaConsumidor, bSimplificado) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Imprimir", hb_StrToUTF8(cImpressora), nNumCopias, hb_StrToUTF8(bMostrarPreview), hb_StrToUTF8(cMarcaDagua), hb_StrToUTF8(bViaConsumidor), hb_StrToUTF8(bSimplificado)) ::CheckResult(hResult) RETURN nil METHOD ImprimirPDF() CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ImprimirPDF") ::CheckResult(hResult) RETURN nil METHOD ImprimirEvento(eArquivoXmlNFe, eArquivoXmlEvento) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ImprimirEvento", hb_StrToUTF8(eArquivoXmlNFe), hb_StrToUTF8(eArquivoXmlEvento)) ::CheckResult(hResult) RETURN nil METHOD ImprimirEventoPDF(eArquivoXmlNFe, eArquivoXmlEvento) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ImprimirEventoPDF", hb_StrToUTF8(eArquivoXmlNFe), hb_StrToUTF8(eArquivoXmlEvento)) ::CheckResult(hResult) RETURN nil METHOD ImprimirInutilizacao(eArquivoXml) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ImprimirInutilizacao", hb_StrToUTF8(eArquivoXml)) ::CheckResult(hResult) RETURN nil METHOD ImprimirInutilizacaoPDF(eArquivoXml) CLASS ACBrNFe local hResult hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ImprimirInutilizacaoPDF", hb_StrToUTF8(eArquivoXml)) ::CheckResult(hResult) RETURN nil //---------------------------------------------EOF----------------------------------------
-
Abriu no IE. Obrigado
-
Júnior, está dando pau no acesso: 503 Service Unavailable No server is available to handle this request.
-
ACBrLibSat - Demo e Classe em HARBOUR e xHARBOUR
jorge andrade replied to jorge andrade's tópico in ACBrLibSAT
Não entendi? Pq vc não usa CFe que é o documento do Sat ao invés de nfe? Vc quer dizer o retorno do comando? Experimente enviar este comando: nfe:ConfigGravarValor("SAT", "ArqLog", "path do log") e nfe:ExtrairLogs("nome do arquivo). De qualquer forma vou testar este trecho que vc postou, mas seria interessante vc postar todo o processo.. -
ACBrLibSat - Demo e Classe em HARBOUR e xHARBOUR
jorge andrade replied to jorge andrade's tópico in ACBrLibSAT
Amigo bom dia. Maravilha, por favor, documente aqui a evolução, possíveis problemas e soluções para que sirvam de apoio para os demais colegas do fórum e qeum sabe possíveis melhorias na CLASSE criada pelo Rafael. [], -
ACBrLibSat - Demo e Classe em HARBOUR e xHARBOUR
jorge andrade replied to jorge andrade's tópico in ACBrLibSAT
Boa tarde amigo, Vc está usando a CLASSE desenvolvida pelo Rafael ou a DLL direta? Se for a CLASSE , além do exemplo que ele disponibilizou, para o formato INI, eu fiz alguns exemplos xHarbour usando a CLASSE, só que eu gero o XML e não arquivo INI, mas de qualquer forma vou disponibilizar alguma coisa aqui, segue abaixo: Exemplos de comando e configuração sat := ACBrSat():New("", "") sat:ConfigGravarValor("Principal", "LogNivel", "4") sat:ConfigGravarValor("SAT", "Modelo", "2") sat:ConfigGravarValor("SAT", "ArqLog", "C:\windows\temp\satlog") sat:ConfigGravarValor("SAT", "NomeDLL", "C:\ACBrMonitorPLUS\SAT\elgin\dllsat.dll") sat:ConfigGravarValor("SAT", "CodigoDeAtivacao", "123456789") sat:ConfigGravarValor("SAT", "SignAC", "SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT") sat:ConfigGravarValor("SATConfig", "ide_numeroCaixa", "3") //ide_numeroCaixa Define o numero de caixa padrão da CFe. sat:ConfigGravarValor("SATConfig", "ide_tpAmb", "0") //ide_tpAmb taProducao = 0 taHomologacao = 1 sat:ConfigGravarValor("SATConfig", "EhUTF8", "") //EhUTF8 Define se devemos utilizar codificação UTF8 ao se comunicar com o SAT. sat:ConfigGravarValor("SATConfig", "infCFe_versaoDadosEnt", "0,07") //infCFe_versaoDadosEnt Define qual será a versão do CFe utilizada.Ex.: 0,07 ou 0,08 sat:ConfigGravarValor("SATConfig", "PaginaDeCodigo", "0") //PaginaDeCodigo Define a pagina de código que se deve utilizar ao se comunicar com o SAT. sat:ConfigGravarValor("SATConfigArquivos", "PastaCFeVenda", "X:\acbr\NFESAI\AUTORIZA\59") //PastaCFeVenda Define o caminho onde será salvos os arquivos de venda. sat:ConfigGravarValor("SATConfigArquivos", "SalvarCFe","0" ) //SalvarCFe Define se será salvo o arquivo de venda. sat:ConfigGravarValor("SATConfigArquivos", "SalvarCFeCanc", "0") //SalvarCFeCanc Define se será salvo o arquivo de cancelamento. sat:ConfigGravarValor("SATConfigArquivos", "SalvarEnvio", "0") //SalvarEnvio Define se será salvo o arquivo de envio para o sat. //sat:ConfigGravarValor("SATConfigArquivos", "SepararPorCNPJ", "0") //SepararPorCNPJ Define se deverá separar os arquivos por CNPJ. //sat:ConfigGravarValor("SATConfigArquivos", "SepararPorModelo", "0") //SepararPorModelo Define se deverá separar os arquivos por modelo. //sat:ConfigGravarValor("SATConfigArquivos", "SepararPorAno", "0") //SepararPorAno Define se deverá separar os arquivos por ano. //sat:ConfigGravarValor("SATConfigArquivos", "SepararPorMes", "0") //SepararPorMes Define se deverá separar os arquivos por mês. //sat:ConfigGravarValor("SATConfigArquivos", "SepararPorDia", "0") //SepararPorDia Define se deverá separar os arquivos por dia. sat:ConfigGravarValor("SATConfig", "ide_CNPJ", "14200166000166") //ide_CNPJ Exemplo da elgin: 16716114000172 Define o padrão CNPJ do emitente da CFe. sat:ConfigGravarValor("SATConfig", "emit_IE", "144842258111") //emit_IE Define o IE padrão do emitente do CFe. //sat:ConfigGravarValor("SATConfig", "emit_IM", "inscricao municipal do emitente") //emit_IM Define o IM padrão do emitente do CFe. sat:ConfigGravarValor("SATConfig", "emit_cRegTrib","0") //emit_cRegTrib RTSimplesNacional = 0 RTRegimeNormal = 1 sat:ConfigGravarValor("SATConfig", "emit_cRegTribISSQN", "6") //emit_cRegTribISSQN RTISS MicroempresaMunicipal = 0 sat:ConfigGravarValor("SATConfig", "emit_indRatISSQN", "0") //emit_indRatISSQN Define indicador de rateio do desconto sobre subtotal entre itens sujeitos a sat:ConfigGravarValor("SATConfig", "emit_CNPJ", "16716114000172") //emit_CNPJ Exemplo da elgin: 14200166000166 Define o CNPJ padrão do emitente da CFe. sat:ConfigGravarValor("SATRede", "tipoInter", "0") //0 = infETHE sat:ConfigGravarValor("SATRede", "tipoLan", "0") sat:ConfigGravarValor("Extrato", "LarguraBobina", "302") //LarguraBobina Define a largura da bobina. sat:ConfigGravarValor("Extrato", "MargemSuperior", "2") //MargemSuperior Define a margem superior da impressão. sat:ConfigGravarValor("Extrato", "MargemInferior", "4") //MargemInferior Define a margem inferior da impressão. sat:ConfigGravarValor("Extrato", "MargemEsquerda", "2") //MargemEsquerda Define a margem esquerda da impressão. sat:ConfigGravarValor("Extrato", "MargemDireita", "2") //MargemDireita Define a margem direita da impressão. sat:ConfigGravarValor("Extrato", "Tipo", "0") //TipoDefine o tipo de impressão a ser utilizada.tpFortes = 0 tpEscPos = 1 //sat:ConfigGravarValor("Extrato", "Impressora", "nome a impressora para emissão do cupom") //Impressora Define o nome da impressora padrão a ser utilizada pela impressão. sat:ConfigGravarValor("Extrato", "ImprimeChaveEmUmaLinha", "0") //ImprimeChaveEmUma Define se deve imprimir a chave do CFe em apenas uma linha. Dll's Necessárias , a quais podem ser baixadas por qualquer usuário Sac do Acbr. ACBrSAT32.dll ACBrSAT64.dll libeay32.dll libexslt.dll libiconv.dll libxml2.dll libxslt.dll msvcr120.dll ssleay32.dll Espero que seja útil. []s, -
Pessoal boa tarde O @Rafael Dias, desenvolveu uma classe e demo da lib acima para HARBOUR, a qual estou testando e fazendo ajustes para xHARBOUR, o empenho que ele dispôs nesse projeto, é algo imensurável em termos de dedicação e conhecimento. Com isso, acredito que esta classe , deva alavancar a adesão e migração de muitos assinantes FREE para SAC, pois o uso da DLL, trará muitas vantagens para todos, com maior controle dos seus aplicativos, sombreamento de suas aplicações e quiçá , independência em relação ao MONITOR, sem contar a economia, da não necessidade de assinaturas de DLL's de terceiros por CNPJ. Logo devo repassar ao Rafael os testes e os ajustes que fiz, a fim de atender também ao xHARBOUR, que passará pelo crivo dos seus conhecimentos para análise e demais ajustes que se fizerem necessários. Estarei envolvendo usuários em geral dos grupos/fóruns de HARBOUR, xHARBOUR e FIVEWIN, assinantes ou não do ACBR no intuito da difusão desta facilidade e de agregar colaboradores. Obs: Está a caminho as demais classes de HARBOUR/xHARBOUR para ACBREMAIL, NFE e etc...
-
Fórum de Base de Conhecimento, aberto a todos
jorge andrade replied to Daniel Simoes's tópico in Notícias do ACBr
???, Isso nem é novidade, partindo do ACBR. []s,