Ir para conteúdo
  • Cadastre-se

jorge andrade

Membros
  • Total de ítens

    563
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que jorge andrade postou

  1. 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,
  2. Isso eu entendi e salientei que havia excessos de comandos desnecessários, sobre gravar em tela, vc diz no próprio monitor correto. Obrigado
  3. 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()
  4. Nenhum exemplo simples? Nada? Será quem ninguém usa a etiqueta d o ACBR via monitor? Puxa! Estou frustado.
  5. 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
  6. Fiz os teste que vc postou acima com sucesso: xLib := LibLoad( "ACBrNFe32.dll" ) xRetorno := DllCall( xLib , DLL_OSAPI , "NFE_Inicializar" , xACBrLib , xSenha )
  7. 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,
  8. 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,
  9. Obrigado pela informação Juliana. Postei de forma aberta, pq em alguns fóruns não permitem UP-LOAD.
  10. 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----------------------------------------
  11. Júnior, está dando pau no acesso: 503 Service Unavailable No server is available to handle this request.
  12. 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..
  13. 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. [],
  14. 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,
  15. 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...
  16. Galera boa noite Antes que me detonem por informações repetidas, a intenção é informar, como estou sem tempo pra pesquisar, fica as desculpas. A PLAC Fat-e disponibiliza para as empresas que trabalham com antecipações de recebíveis serviços úteis para a verificação e autenticidade das NFes. Saiba mais: Foi lançada a Plataforma de Consultas da Fatura Eletrônica para Antecipações de Recebíveis dos Estados (PLAC Fat-e) no dia 13 de Dezembro em Salvador (BA), que também está sendo operacionalizada na Sefaz virtual da Bahia. O lançamento foi feito pelas Secretarias de Fazenda dos estados . Essa plataforma colabora com a redução dos juros no mercado e o aumento da oferta de crédito. Tais contribuições cooperam principalmente com as micro e pequenas empresas. A PLAC Fat-e realiza consultas e registros de informações de vendas a prazo a partir das notas fiscais eletrônicas (NFe) e consolida tais dados nas Faturas Eletrônicas (Fat-e). Além disso, a plataforma está interligada com a agenda pública do Banco Central (BC) que possui ações relacionadas ao mercado financeiro e formas de proporcionar segurança jurídica e operacional. Teste na PLAC Fat-e A Plataforma está sincronizada com as bases de dados das seguintes secretarias da Fazenda: Alagoas; Bahia; Distrito Federal; Espírito Santo; Paraíba; Piauí; Rondônia; Rio Grande do Sul; Sergipe. As Empresas do Segmento financeiro desses estados já podem fazer testes na plataforma neste link. A maioria dos estados brasileiros não estão sincronizados com a PLAC Fat-e. Porém, só durante outubro e novembro, meses que fazem parte dos testes, foram registrados mais de 50 milhões de faturas eletrônicas com um montante aproximado em R$ 244 bilhões em vendas a prazo. Como contratar o PLAC Fat-e? Apenas em janeiro de 2020 a plataforma estará disponível para o uso. É necessário que antes da sua liberação as demais secretarias da Fazenda se sincronizem com a PLAC Fat-e. Como a PLAC Fat-e funciona? Com a PLAC Fat-e, as Secretarias de Fazenda atendem a necessidade de criação das registradoras de ativos financeiros e Duplicata Eletrônica. Isso é possível porque a plataforma disponibiliza para as empresas que trabalham com antecipação de recebíveis lastreados por NFe (Duplicatas) vários serviços relacionados a verificação da autenticidade das NFes. Além disso, a PLAC Fat-e também monitora os eventos vinculados a NFe até a liquidação da operação de crédito. Assim, a plataforma ajuda as empresas em suas operações de vendas a prazo a confirmar a autenticidade de uma nota fiscal e verificar se aquela venda ocorreu. Dessa forma, através dos eventos vinculados a NFe e suas faturas, a Plataforma disponibiliza a opção de checar se o destinatário está ciente da obrigação contraída, se a mercadoria já foi encaminhada ou entregue, se houve devoluções ou sinistro na carga. O emissor da NFe também não é permitido cancelar as notas fiscais que estão vinculadas a operações de crédito, após o registro da cessão. Além disso, a PLAC Fat-e evita a apresentação de NFes repetidas, por parte do emissor, como comprovação de operações de antecipação para mais de uma instituição do sistema financeiro. Leia mais: Acompanhe o ciclo de vida de sua NFe Eventos NFe monitorados pela PLAC Fat-e Ciência da operação Conhecimento de Transporte eletrônico Manifesto Eletrônico de Documentos Fiscais (MDFe) Registro de Trânsito Físico da Mercadoria; Confirmação do Recebimento de Mercadoria Registro de operação não realizada; Registro de Desconhecimento de Operação; Aviso de Irregularidade na Operação: Carta de Correção Eletrônica: Averbação de Embarque Vantagens da Plataforma dos Estados (PLAC Fat-e) Maior segurança para as operações de antecipações de recebíveis; Disponibilização dos processos fiscais de forma centralizada; Acesso restrito; Sigilo fiscal; Conexão instantânea com os atores da operação; Redução de custos de comunicação; Redução de protestos indevidos; Capital de giro com menores taxas de juros para as empresas. Ferramentas da PLAC Fat-e Consulta: Verificação da autenticidade da NFe e recebimento do XML e eventos da NFe; Recebível em Avaliação: Monitoramento dos eventos vinculados a NFe, até as parcelas das duplicatas vencerem; Registro de Cessão de Parcela de Fat-e por IMF: Informação dada para uso exclusivo de Registradores de Ativos Financeiros; Transferência de Parcela de Fat-e por IMF: Evento de uso exclusivo de Registradora de Ativos Financeiros, para informar sobre a ocorrência de endosso de parcela da Fat-e para um novo endossatário; Envio de parcela de Fat-e para Cobrança Judicial por IMF: Evento de uso exclusivo de Registradora de Ativos Financeiros, com o objetivo de informar a transferência da parcela para cobrança judicial. Créditos: Oobj []s,
  17. Blz Ítalo, postei sem realmente sem verificar se já existia a informação e desde do dia 20/dezembro que não acesso nenhum fórum, mal leio os emails, só cuidando do figueredo pelos benditos chopp's sorvidos. ahuahauauau []s,
  18. Obrigado pela oferta Rafael. []s,
  19. Galera Boa noite Uma pergunta tosca. Alguém daqui já está usando a LIB/DLL acima nas ferramentas xHarbour/Fivewin? []s,
  20. Substituição de NFCe No dia 21 de Dezembro foi divulgada a Nota Técnica 2018.004 que cria uma nova forma de cancelamento: o Cancelamento por Substituição. Esse evento deve ser utilizado apenas quando existir outra NFCe em duplicidade, que tenha sido emitida e autorizada em contingência anteriormente e acoberte a mesma operação. O prazo da autorização não pode ser superior a 168 horas (7 dias). O novo cancelamento tem previsão para implantação em ambiente de teste até dia 25 de Fevereiro de 2019 e sua Produção iniciará a partir do dia 29 de Abril de 2019. Leia mais Créditos: OOBJ
  21. Daniel Bom dia Tentei fazer a assinatura anual 6 x 200,00, mas não aparece a opção de parcelamento. Enviei email ao Carlos sobre o mesmo assunto/motivo. Aguardo suas verificações. []s,
  22. Valeu Daniel, acabei de falar com o Carlos Bassi (O rei da carne nobre ahauauauau), vou assinar o anual. Obrigado
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...