Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 09-12-2019 em todas as áreas

  1. Cara @BigWings, vou resolveu o problema, realmente é isso, não acredito que deixei passar esse detalhe. Estou a 3 dias fazendo todos os testes possíveis e imagináveis rs. Quando não se coloca a extensão ele assume como A3, tá perfeito, tudo agora rodando liso. Obrigado a todos, pela pronta resposta e parabéns pelo projeto.
    3 pontos
  2. Acredito que funcione sim para informar o caminho do arquivo com o certificado. Mas o path informando no primeiro parâmetro tem que ser um path válido, se não for um caminho válido o ACBrMonitorPLUS vai entender como um número de série de certificado instalado no Windows. Então verifique se o arquivo informado: C:\ACBrMonitorPLUS\certificado\CERTIFICADO_ME É um arquivo existente (talvez faltou a extensão pfx?).
    3 pontos
  3. há várias dessas linhas no seu Log... 07/12/2019 10:25:54 - Unable to open file "C:\acbr\entnfe.txt" 07/12/2019 10:25:57 - EFOpenError - Unable to open file "C:\acbr\entnfe.txt" isso não é normal... Provavelmente você está criando o arquivo de entrada diretamente... e não criando-o primeiro em um arquivo temporário... Veja o Fluxo, definido no manual: https://acbr.sourceforge.io/ACBrMonitor/ACBrMonitor.html
    3 pontos
  4. 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----------------------------------------
    2 pontos
  5. Aconteceu por aqui, uma tentativa de acesso a uma unidade de rede não mapeada. Já á bastante tempo. Resolvido facilmente conferindo as unidades mapeadas para o ACBrMonitor.
    2 pontos
  6. Boa tarde, Se a nota foi rejeitada os passos são: 1. Identificar o motivo da rejeição; 2. Fazer as correções necessárias: informação no banco de dados errada ou corrigir a rotina que gera o arquivo INI, portanto correção da aplicação; 3. Gerar o arquivo INI novamente; 4. Executar o comando de envio do monitor novamente;
    2 pontos
  7. Veja esse Vídeo, do 2o Dia do ACBr
    2 pontos
  8. Olá Pointer Softwares, Você quer dizer quando a nota foi rejeitada? Se a nota for emitida e aceita você não pode corrigir a NFC-e mais. Ela não possui Carta de Correção eletrônica. Você precisa cancelá-la. Mas quando a nota é rejeitada, basta corrigir os dados e enviar novamente.
    2 pontos
  9. Também fiquei com dúvidas nesse respeito. Mas: No layout do arquivo não tem espaço para assinatura Não há no manual do desenvolvedor/usuário explicação de como assinar o arquivo Não existe aplicativo para assinar (como no caso do SPED) No documento de perguntas e respostas tem essa frase 'a transmissão é atualmente feita no portal e-CAC no serviço “Meu Imposto de Renda”, com utilização de certificado digital válido, emitido por entidade credenciada pela Infraestrutura de Chaves Públicas Brasileira (ICP-Brasil)...' Não encontrei outra informação sobre assinatura do arquivo Isso me fez crer que no momento, a assinatura é apenas na transmissão mesmo.
    2 pontos
  10. Pelo aplicativo da Daruma Tool_DR800 você configura a página de código e tabela de comandos. Estando na configuração padrão, página de código ISO8859-1 e tabela de comandos 1, eu uso pc1252 e ppEscDaruma.
    2 pontos
  11. bom dia // BTN IMPRIMIR DADMFE MDFE bRETORNO is boolean=ACBR_INICIALIZAR("ACBrMDFe32.dll","MDFE_Inicializar") IF bRETORNO=True THEN EDT_RESPOSTA=ACBR_LIMPA_LISTA("ACBrMDFe32.dll","MDFE_LimparLista") EDT_RESPOSTA+=CR+"Carregar Xml["+ACBR_CARREGARXML("ACBrMDFe32.dll","MDFE_CarregarXML",EDT_XML)+"]" gnretorno_acbr=API("ACBrMDFe32.dll","MDFE_Imprimir","",1,EDT_PROTOCOLO_MDFE,"true") EDT_RESPOSTA+=CR+"Mdfe Imprimir["+gnretorno_acbr+"]" // Comando: MDFE_Imprimir( [cImpressora], [nNumCopias], [cProtocolo], [bMostrarPreview] ); ELSE EDT_RESPOSTA="erro inicializar" END ACBR_FINALIZAR("ACBrMDFe32.dll","MDFE_Finalizar") ================================ Bom Dia Doaçao Amarildo Matos - Link da doação: https://streamelements.com/amarildo_matos/tip Bom dia, Seja bem vindos a mais uma video Aula. Essa Aula está sendo Gravada no dia 09 12 2019. Dica 2541. Método usado para imprimir o DADMFe dos Manifestos carregados. DICAS 2541 - WINDEV WEBDEV MOBILE - ACBR 189 - MDFE_Imprimir Compartilhe Canal Youtube Amarildo Matos Amarildo, desde 1990 ensinando Desenvolvimento de Sistemas, tornando sonhos em realidades. https://windevdesenvolvimento.blogspot.com/2019/12/dicas-2541-windev-webdev-mobile-acbr.html https://acbr.sourceforge.io/ACBrLib/MDFE_Imprimir.html
    2 pontos
  12. O problema é que esta configurado para NFCe e para este documento não existe o distribuição DFe, apenas para NFe.
    2 pontos
  13. Complicado, mais ambas as empresas tem seus serviços contábeis na mesma UF então seria 5102, você já viu a possibilidade de mudar apenas o endereço de entrega seguindo de uma MDF-E.
    2 pontos
  14. Infelizmente ainda não temos esta opção ela esta no roadmap, mas ainda não tem previsão para implementação.
    2 pontos
  15. @acg.net Enviei ajuste para o DANFeNFCe5_00.fr3 imprimir os descontos e acréscimos por item, rev. 18446. Favor atualizar os fontes e testar novamente.
    2 pontos
  16. Boa tarde, Ao utilizar a opção Consultar NFSe por RPS está ocorrendo o seguinte erro conforme imagem abaixo no programa ACBRNFSe_Exemplo: O problema pelo que identifiquei se encontra na procedure TNFSeW_ABRASFv2.GerarXML_ABRASF_v2 Ao tentar converter o campo "Competencia" na linha 836 usando a função Gerador.wCampoNFSe(tcDat, '#4', 'Competencia', 10, 10, 1, NFSe.Competencia, DSC_DEMI); Ocorre que o valor da variável NFSe.Competencia está vindo no formato String como '2019-12-05' o que faz aparecer o erro citado. Acho que para solucionar o problema deveria mudar a variável NFSe.Competencia para o Tipo Data ou então mudar o provedor "proSimplISSv2" para usar o tipo tcStr. Alguém pode ajudar na correção do componente? Obrigado,
    1 ponto
  17. CharInSet, delphi novo, enjoado ao aplicar build all no fonte. Possivel remoção de warning e hint ACBrNFSe.pas
    1 ponto
  18. Tente o enviar o comando: Antes do comando DistribuicaoDFe.
    1 ponto
  19. Boa tarde Anderson, Você esta misturando as coisas. No inicio da sua postagem você se refere a consulta e depois faz referencia a geração do XML do RPS. Favor anexar os XMLs gerados ao realizar a consulta.
    1 ponto
  20. Boa tarde, Juliana. Ok, entendido. Obrigado pela atenção.
    1 ponto
  21. Boa tarde. Estas alterações não estão no svn. Att.
    1 ponto
  22. 1 ponto
  23. Boa tarde Paulo, Após o envio é aconselhado que verifique se o CT-e foi autorizado ou não ou se ocorreu alguma falha de conexão. Se por ventura tenha ocorrido alguma falha de conexão, o correto é realizar uma consulta, desta forma se o CT-e foi enviado e processado com sucesso, a consulta vai atualizar o XML acrescentando o protocolo de autorização. Obs: ao realizar a consulta é prescindível que o XML do CT-e esteja carregado no componente, caso contrario a sua atualização não será realizada.
    1 ponto
  24. Boa tarde Jonathan, Você utiliza o componente ACBrCTe ou o ACBrMonitor?
    1 ponto
  25. Boa tarde Bruno, Você já verificou se não tem outra linha que esteja atribuindo o valor True a propriedade Visualizar?
    1 ponto
  26. Boa tarde a todos, Como ninguém me retornou sobre o problema da SEFAZ-MG ter resolvido o problema de gerar de forma indevida o prefixo ns0: no retorno da consulta e também mais ninguém veio relatar o problema, concluo que o problema foi sanado. Sendo assim vou dar como encerrado esse assunto.
    1 ponto
  27. Essa função chama a SetRoundMode da unit Math. Ela altera globalmente a forma como são calculados os arredondamentos, então aparentemente é algo com o Fortes Report, quando o modo está configurado como rmDown ou rmUp. Foi o que descobri nos testes. Chamando SetRondMode(rmNearest); antes de executar o método de impressão ou geração do PDF deve resolver. Ou alterando a função RoundTo5 para voltar ao modo anterior: var rm: TRoundingMode; [...] rm := GetRoundMode; try xDecimais := Copy(xValor, p + 1, Length(xValor)); if Length(xDecimais) > nCasas then begin if xDecimais[nCasas + 1] >= '5' then SetRoundMode(rmUP) else SetRoundMode(rmNearest); end; nValor := RoundTo(Valor, Casas); finally SetRoundMode(rm); end;
    1 ponto
  28. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  29. O erro estava aparecendo e agora não aparece mais.. Normalmente eu deixo postado aqui a correção do erro, mas esse eu não sei como foi corrigido, simplesmente parou de ocorrer.
    1 ponto
  30. Realmente Elton, suas pontuações fazem sentido, concordo plenamente. Principalmente no 1º ponto. " No layout do arquivo não tem espaço para assinatura". Mais uma vez, muito obrigado pelos esclarecimentos e orientações. Atenciosamente,
    1 ponto
  31. Olá Filipe, Desculpe a demora para dar um retorno. Me parece que seu código vai dar uma flexibilidade maior a essa parte dos impressos e isso é interessante. No entanto, ainda não consegui enviar a alteração. Vou te passar o que eu encontrei aqui e você pode ficar a vontade pra anexar os arquivos. Ainda está faltando os arquivos dfm e lfm da NFe (ACBrNFeDANFeRLPaisagem.dfm, ACBrNFeDANFeRLRetrato.dfm, ACBrNFeDANFeRLSimplificado.dfm, etc...); Ainda está faltando os arquivos dfm e lfm do CTe Retrato (ACBrCTeDACTeRLRetrato.dfm e ACBrCTeDACTeRLRetrato.lfm); O código que faz os ajustes de posicionamento não estão na classe. O melhor seria se sua classe fizesse os cálculos e ajustes ao invés de termos que repeti-los em cada impressão. Uma possibilidade é criar um método TExpandeLogomarca.FazAjuste que recebe todos os elementos necessários por parâmetros. Os arquivos fontes estão desatualizados. Houveram muitas alterações nas impressões na época em que seus arquivos foram enviados; Sei que com respeito a desatualização é parte porque não conseguimos analisar tudo com antecedência, mas visto que você deve ter essa implementação local, ainda continua sendo o mais qualificado pra fazer os ajustes. Se os ajustes acima forem aplicados, daria pra incluir nos fontes oficiais do projeto. Agradeço muito a sugestão e paciência.
    1 ponto
  32. Obrigado pela informação Juliana. Postei de forma aberta, pq em alguns fóruns não permitem UP-LOAD.
    1 ponto
  33. Conforme já explicamos nos tópicos anteriores... o comando não funciona da forma que você está presumindo... O que estou querendo dizer... é que modificar os fontes, demanda tempo...
    1 ponto
  34. Não precisa fazer nada diferente, apenas imprimir as dezenas CASO sejam retornadas no protocolo. Não creio que a SEFAZ vá gerar dezenas em notas de entrada, provavelmente apenas em notas de venda para consumidor final. Mas que saiba até agora a mesma não publicou nenhum decreto ou instrução sobre em que situações vão ser retornadas as dezenas ou não, apenas implantou o sistema e avisou por email. O que se sabe até agora: - Só são retornadas para pessoa física (CPF) - Tem um valor mínimo para que as dezenas sejam geradas.
    1 ponto
  35. Prezados... favor observar que modificações e melhorias nos fontes do ACBrMonitor ou dos componentes do Projeto ACBr, não seguem o SLA de respostas de tópicos... Se aderir ao SAC, tenho direito a solicitar desenvolvimento específico ? Não. Ser membro do SAC não dá o direito de solicitar o desenvolvimento de rotinas ou componentes específicos. A correção de erros sempre será a prioridade, mas antes é fundamental averiguar se o problema está realmente nos fontes do ACBr. Os usuários do SAC tem um peso maior nas decisões de quais componentes devem ser desenvolvidos ou melhorados https://www.projetoacbr.com.br/forum/sac/questoes-importantes/
    1 ponto
  36. Exatamente, onde consta isso no manual? É fácil falar que está lá e mandar os outros procurarem, se achar achou, kkkk. No meu caso é igual ao seu exemplo, o cliente é do mesmo estado e mandou entregar a mercadoria em uma obra em outro estado, mas não necessariamente precisa ser uma construtora, a empresa pode estar construindo uma filial naquele estado, por exemplo. Mas claro que poderia ser este outro exemplo do depósito. A principio a única forma encontrada, seria emitir com CFOP iniciado em 5 e mandar a mercadoria normalmente para o outro estado com esta nota, mas ainda tenho que ver a questão do MDF-e se não vai dar problema, mas pelo que lembro não tem validação quanto a isso. sim, essa é a única forma que encontramos por enquanto, emite com CFOP iniciado em 5 e manda essa nota para o outro estado, mesmo que o transporte da mercadoria seja interestadual.
    1 ponto
  37. Bom dia, no método ConsultarNFe também pode passar como parâmetro apenas a chave.
    1 ponto
  38. Como disse no tópico a anterior... esse método atualmente, apenas suporta certificados previamente instalados no Windows... e que são acessados pelo Número Série
    1 ponto
  39. Esse comando foi projetado para setar o certificado por número de série... mas creio que alguns pequenos ajustes, o @José M. S. Junior, consiga modifica-lo, para suportar o Path do arquivo PFX...
    1 ponto
  40. Blz... de qualquer forma já é uma boa notícia... obg...
    1 ponto
  41. Correção enviada ao SVN.
    1 ponto
  42. Amigo, desde o início sempre emitidos notas fiscais com nosso certificado. Para termos autorização, fizemos um pedido especial protocolado junto a Sefaz GO (no nosso caso) e apresentamos a finalidade do pedido, pois teríamos que ter uma inscrição estadual válida, porém que seria utilizada apenas no ambiente de homologação, pois como somo software house, precisamos de acesso ao ambiente de homologação da Nota Fiscal. Esse processo durou certa de uns 10 dias a sefaz respondeu que estava tudo certo e liberado a nossa inscrição para uso no ambiente de homologação.
    1 ponto
  43. Onde consta isso no manual ? Não necessariamente, a empresa pode estar fazendo uma obra por exemplo, ou ter um deposito em outro local
    1 ponto
  44. Por favor não use fontes gigantes... (Parece que você está gritando) Pela mensagem parece que você está usando um programa 64bits com DLL de 32bits (ou vice-versa)
    1 ponto
  45. Bom dia como você ja tem um equipe você não deve se enquadrar nas regras do Delphi CE mas tente negociar uma licenca professional que com certeza vai te atender super bem. o Lazarus esta muito bom mas ainda tem algumas coisas que nao tem que no delphi tem e o debug do Lazarus nao existe. na questao debug o Delphi 100x melhor. se for pra iniciar um Projeto do zero pode ir de lazarus agora migrar eu compraria a versao professional ja que voce usa zeos pra conexao.
    1 ponto
  46. Para mim é bem comum, tem um cara chamado antivirus que gosta de fazer isso. Verifique nos LOGs do AV se não está detectando o ACBrMonitor como ameaça, e inclua ele na lista de exceções.
    1 ponto
  47. @crinfo, Float é isso aí mesmo. Se quiser dar uma olhadinha nesse link, Ele explica bem detalhadinho. http://rvelthuis.de/articles/articles-floats.html#delphitypes
    1 ponto
  48. Boa tarde, obrigado pela resposta. Nós gravamos este XML somente após autorização do mesmo. Não identificamos um padrão, mas em alguns casos o XML salvo possui o protocolo de autorização e em outros não. Obrigado pela ajuda.
    1 ponto
  49. Introdução: Recebemos gentilmente da Control iD, o SAT S@T-iD, para testes. Utilizando o exemplo do ACBr: SATTeste.exe. Ambiente: Computador Notebook Dell Sistema Operacional Windows 10 64Bit atualizado (24/04/2018) Processador Intel i3-3217U 1.80GHz Memória 4 GB USB 2.0 SAT S@T-iD Certificados AC-SAT Rede 2 portas 10/100 em modo bridge Instalação do SAT: Não houve a necessidade de instalar os drivers do SAT no Windows 10. Bastou conectá-lo ao computador e o Windows fez a instalação automaticamente: Software de Ativação: O software de ativação e o manual estão disponíveis neste link: https://www.controlid.com.br/automacao-comercial/satid/ Instalação: Software de ativação: https://www.controlid.com.br/suporte/satid/satid-setup.exe Para realizar a instalação siga as etapas abaixo: Realize o download do software de ativação Com o usuário administrador, execute o instalador satid-setup.exe; Durante os passos da instalação, altere as informações conforme as suas necessidades. Em nosso ambiente mantivemos o padrão: Configuração de rede: Para configurar a rede siga os passos abaixo: Na inicialização do Ativador será exibido uma tela de boas vindas, selecione a opção SAT Ativado(1) e clique em Pular(2); Digite o código de ativação(3) para liberar o uso do Ativador. Em nosso ambiente de testes o Cód. de ativação é senha12345. Clique em Salvar(4) Selecione Configurar Rede(5) e configure de acordo com o seu ambiente. Em nosso caso mantivemos a configuração de fábrica, ou seja, como DHCP(6). Clique em Configurar(7); Para verificar se as configurações foram aplicadas, clique em Status Operacional(8) e verifique os campos de informações da rede, principalmente LAN_IP e LAN_GW(9); Ativação: O SAT que temos em mãos é destinado a ambientes de desenvolvimento, ou seja, SDK. Por padrão, um SAT SDK é ativado de fábrica. Disponibilizamos abaixo os dados para uso do SAT S@T-iD em um ambiente de desenvolvimento: Código de ativação: senha12345 CNPJ do contribuinte: 08238299000129 Inscrição Estadual do contribuinte: 149392863111 CNPJ da Software House : 16716114000172 Assinatura da Software House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Caso o seu SAT não seja de desenvolvimento, você pode ativá-lo preenchendo as informações de ativação conforme os passos abaixo: Clique em Ativar SAT(1) ==> Ativar(2? Em seguida, associar a assinatura em Associar a Assinatura(3) ==> Associar(4): Obs.: Em caso de dúvidas, o manual do fabricante deverá ser consultado. Testes usando os componentes e Demos do ACBr: Com o componente ACBrSAT, parte do projeto ACBr, podemos agregar todas as funcionalidades disponíveis no ativador do fabricante em um software particular. Para demonstrar tais funcionalidades utilizamos o SATTeste.exe, demo do ACBrSAT. O SATTeste.exe está disponível neste link: https://www.projetoacbr.com.br/forum/files/file/316-sattesteexe/ Definimos as configurações desta forma: Aba Configuração: Inicialização: satDinamico_cdecl Nome DLL: C:\SAT\dlls\ControliD\libsatidlib.dll (Veja a Nota logo abaixo) Ambiente: taHomologacao Código de Ativação: senha12345 Remover Acentos: Desabilitado Página de Código: 65001 UTF8: Habilitado Demais opções não alteramos. Nota: A DLL encontra-se disponível neste link: https://www.controlid.com.br/suporte/satid/sat_dll.zip Aba Dados Emitente: CNPJ: 08238299000129 Insc.Estadual: 149392863111 Demais opções não alteramos Aba Dados Sw.House: CNPJ: 16716114000172 Assinatura Sw.House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Aba Rede: Tipo Rede: ETHE (rede cabeada) Tipo Rede: DHCP Para aplicar as configurações de rede, clique em Inicializar(1) ==> Configurações(2) ==> Configurar Interface Rede(3). O retorno deverá ser Rede Configurada com Sucesso(4? Ativar SAT: Clique em Ativação(1) ==> Ativar SAT(2). Verifique a resposta no Log de Comandos. Em nosso caso o SAT já está ativado(3? Associar a assinatura: Clique em Ativação(1) ==> Associar Assinatura(2). Verifique se a assinatura foi registrada(3) Status operacional: Para confirmar se as etapas Ativar SAT e Associar a assinatura funcionam, clique em Consultas(1) ==> Consultar Status Operacional(2). Verifique a resposta no Log de Comandos(3? Teste de desempenho: Utilizando o SATTeste, realizamos vendas com diferentes quantidades de itens. Para cada quantidade foram emitidas 10 vendas, medido o tempo de cada uma e calculado o tempo médio. O tempo foi medido do envio da venda ao recebimento do xml, não esta sendo contabilizado o tempo de decodificação do XML de recebimento. Todos os testes foram registrados na tabela abaixo: * Quantidade máxima de itens em uma venda com o SAT é de 500. Acima dessa quantidade o SAT retorna “Erro não identificado”, o tempo calculado neste caso foi o retorno do erro. O tempo do retorno do erro não foi calculado na média total. Nota: O tempo medido nesse teste, é computado desde o início da transmissão do XML para o SAT, até a recepção do XML de venda, gerado como resposta pelo SAT. Ou seja, é uma medição diferente do que a Especificação Técnica do SAT preconiza, onde apenas o tempo de Geração do XML da venda é considerado. Sobre o equipamento: O S@T-iD chama a atenção pela aparência. Seu design é moderno, quebrando o formato “caixa quadrada” - aspecto comum na maioria dos SATs disponíveis no mercado. Ele também é pequeno, quase a metade de um SAT convencional. As luzes acompanham o layout do gabinete, informando de uma forma sutil o seu status. Na traseira do gabinete ficam as conexões de rede, energia via micro USB e o botão reset. As conexões de rede funcionam em modo “bridge” permitindo compartilhar o mesmo ponto de rede para o SAT e o computador. Sobre a utilização do equipamento: O S@T-iD se comportou no estilo “Plug-N-Play”, ou seja, bastou conectá-lo no computador e em poucos segundos o SAT estava pronto para uso no Windows 10. Durante o uso, ele funcionou de forma satisfatória. Não houveram travamentos ou lentidões. Ele não suporta rede com proxy. Ficha técnica fornecida pelo fabricante: Modelo: S@T-iD Funcionalidades: Emissão de Cupom Fiscal Eletrônico atendendo aos requisitos dos projetos SAT-CF-e Certificados Digitais: Suporta somente certificados do tipo AC-SAT Memória Interna: 1GB Interface de Rede: 02 x Ethernet 802.3 10/100 Mbps full-duplex Interface USB: 01 x USB 2.0 compatível 1.1 Bateria Interna: Alimenta Relógio Interno e Memória de Segurança >= 5 anos Sinalizações: 08 LEDs de indicação Dimensões: 36.5 mm x 90 mm x 96.9 mm (AxLxP) Peso: 100g Alimentação: USB 5V/500mA Botão Reset: Desativar o SAT e voltar as configurações de fábrica Amostras: Disponibilizamos abaixo os XMLs de uma venda e seu cancelamento: Venda – Envio: AD20180509131651-701300-env.xml Venda – Recebimento: AD35180508238299000129599000149240000915858596.xml Cancelamento – Envio: ADC35180508238299000129599000149240000915858596-env.xml Cancelamento – Recebimento: AD35180508238299000129599000149240000915858596.xml O extrato de venda(esquerda) e de cancelamento(direita) impressos:
    1 ponto
×
×
  • 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...