Ir para conteúdo
  • Cadastre-se

OFF-DEV

Membros Pro
  • Total de ítens

    240
  • Registro em

  • Última visita

Tudo que OFF-DEV postou

  1. Obrigado José! Sim, acredito que estou usando a DLL correta, até porque ela funciona para extrair logs e ou consultar o STATUS Op. do SAT.
  2. Prezados, Estou implementando via DLL SAT o comando AssociarAssinatura e tenho algumas dúvidas: 1) Ao olhar a documentação no wiki, https://acbr.sourceforge.io/ACBrMonitor/SATAssociarAssinatura.html , ela não deixa muito claro como os cnpjs devem ser passados e quais na ordem correta, a única coisa que aparece no parâmetro do CNPJ é "1111111111111111111111111111". Ali sempre vai ser CNPJ-SH + CNPJ-Emitente? Pergunto isso porque este tópico aqui deixou em dúvida se eu devo sempre passar estes 2 CNPJs juntos no mesmo parâmetro ou terá algum caso que não....... 2) Estou testando o comando passando o CNPJ SOFTWAREHOUSE + CPNJ EMITENTE JUNTOS, mais o SignAC SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT, para efeito de teste apenas, porém ele congela minha aplicação. O efeito esperado era este mesmo já que ele não aceita este SignAC aí? Não deveria retornar algum tipo de erro no caso? Atenciosamente Leandro S.
  3. Obrigado Rafael, Realmente algum problema de DLLs Hell aqui, eu baixei tudo novamente da página do acbr e descompactei uma a uma e atualizei o diretório x64 novamente, agora está funcionando, entrou na tela inicial e não apresentou -3. Muito obrigado Rafael e Antônio! Abraços..
  4. Em debug aqui, na inicialização da DLL já ocorre um InternalError como pode ser visualizado. O diretório x64 está lá com as DLLs. O que eu fiz: 1-voltei a copia origianl 2-joguei as DLLs em ACBrLib/x64 3-Executei Tem alguma coisa aqui que está impedindo o carregamento......
  5. Coloquei exatamente como você colocou em ACBrLib/x64 as mesmas bibliotecas. E deu o mesmo erro que citei lá em cima. Ao que parece não é problema em carregar as DLLs, elas estão sendo encontradas corretamente como antes. o problema é o retorno deste método abaixo que é -3. public void ConfigGravarValor(ACBrSessao eSessao, string eChave, object value) { if (value == null) return; var method = GetMethod<Delegates.NFE_ConfigGravarValor>(); var propValue = ConvertValue(value); var ret = ExecuteMethod(() => method(libHandle, ToUTF8(eSessao.ToString()), ToUTF8(eChave), ToUTF8(propValue))); CheckResult(ret); } Se ele não tivesse encontrando o método na DLL, o exception seria de outro tipo, mas não é isso?.... CheckResult não trata ret=-3, apenas manda um exception pra cima .... protected void CheckResult(int ret) { if (ret >= 0) return; var message = GetUltimoRetorno(); switch (ret) { case -6: throw new DirectoryNotFoundException(message); case -5: throw new FileNotFoundException(message); default: throw new ApplicationException(message); } }
  6. Prezado Antonio, obrigado por postar, Sim, assisti estes vídeos algumas vezes já, e foi através dele que cheguei no svn do ACBr.PDV do Rafael, meu problema é que ao tentar executar o demo, ele não funciona pois vem já preparado só para MT, disparando o erro citado no checkresult. No vídeo não explica como resolver o problema do demo dele usando MT, ou se quer como minimamente preparar-se para rodar o ACBr.PDV com MT, apesar de está referenciado com estas libs... OU não era para rodar corretamente com MT mesmo? Vlw
  7. Prezados, Baixei o ACBr.PDV criado pelo Rafael pelo SVN, ao tentar executá-lo pelo VS2019 ocorre um ApplicationException na função CheckResult(int ret) de um retorno não tratado : mensagem 5. O Stack é esse: > ACBrLib.Core.dll!ACBrLib.Core.ACBrLibHandle.CheckResult(int ret) Line 401 C# ACBrLib.NFe.dll!ACBrLib.NFe.ACBrNFe.ConfigGravarValor(ACBrLib.Core.ACBrSessao eSessao, string eChave, object value) Line 256 C# ACBr.PDV.exe!ACBr.PDV.CaixaPDV.CaixaPDV() Line 51 C# ACBr.PDV.exe!ACBr.PDV.FrmMain.FrmMain_Shown(object sender, System.EventArgs e) Line 50 C# [External Code] ACBr.PDV.exe!ACBr.PDV.Program.Main() Line 19 C# OBS1: Como baixei e rodei, aparentemente está rodando as libs MT como padrão, dando este erro. OBS2: Retirando as bibliotecas MT e colocando as Single Thread, funciona sem problemas. OBS3: Baixei as ultimas versões das DLLs MT do SAT e atualizei, porém o erro continua. Alguém sabe como resolver isso? Desde já agradeço Leandro S.
  8. Pois é, e quanto àqueles arquivos como schemas ou as pastas de ENVIO ou VENDA, só criar diretórios em separados no próprio servidor e não terei problemas? Também estou refletindo o aspecto segurança deste tipo de implementação já que terei uma url de acesso a diversas informações de XML e configurações, talvez isso não seja legal, ainda mais no contexto de LGPD de hoje....
  9. Valkeu BigWings!! Funcionou, ele passou a usar o nome que eu informei no parâmetro, mas agora fiquei com uma dúvida, se já parto para o MT ou só renomeio o acbrlib.ini... ? Abraços
  10. Olá Antonio, obrigado pela resposta, Minha aplicação não é web, é winform c# e rede. Não sei se entendi direito, a ideia seria subir uma DLL na memória do servidor a cada terminal na rede ? Atenciosamente
  11. Prezados, Iniciei um projeto aqui de porte de algumas aplicações de PDV que usam o ACBRMonitorPlus para a ACBRLibSAT.DLL, mas estou com a seguinte dúvida ao estudar o componente: - O Arquivo ACBRLib.ini me parece que centraliza as configurações de modelos do SAT, Codigo de Ativacao e nome DLL,etc. Minha aplicação funciona em rede distribuída onde alguns nodos podem funcionar como PDV1 e PDV2. Se eu tiver 2 modelos de SAT diferentes e tentar configurá-los, a ACBRLibSat irá gravar usando sempre o mesmo nome arquivo , o ACBRLib.INI. Isso vai dar problema já que uma configuração sobrescreverá a outra quando forem feitas. Qual a melhor alternativa para poder trabalhar com a DLL e mais de um equipamento SAT em rede: TEm como eu mudar o nome do arquivo ACBRLib.ini ? Ou é possível eu passar os parâmetros diretamente para a LIB sem precisar do ACBRLIB.Ini? Atenciosamente Leandro S.
  12. Segundo https://portal.fazenda.sp.gov.br/servicos/sat ATENÇÃO - Continuidade do layout 0.07 Informamos que não há previsão para interrupção no uso do layout 0.07. Permanecem sendo aceitos apenas os layout 0.07 e 0.08.
  13. Ahhh, com este comando de setar a seção facilita tudo, ele não tinha no manual .chm que vem com o instalador, por isso não achei. Valeu!!!! Acho que esclareceu bem, qquer dúvida volto noutro tópico. Abraços.
  14. OK, mas isso me deixa com mais uma dúvida, Estou usando a conexão via TCP/IP, estou passando o conteudo .ini do cupom diretamente através do comando CriarEnviarCFe para não ter necessidade de criar arquivos de envio e retorno. O número da sessão (que me parece gerado pelo ACBR neste caso) geralmente vem após o envio do comando pelo próprio canal de comunicação Stream.Read/Flush. Se ocorrer um crash na aplicação ou o PC apagar justamente ao retornar as informações de sessão e dados do cupom xml, como eu não gerei o número de sessão e sim o ACBR, como eu poderei obter qual foi o número de sessão ultimo que o ACBR usou? Ou teria como eu informar ao ACBR o número de sessão desejada antes dele enviar os dados do CFSAT via comando CriarEnviarCFe (usando TCP/IP)? Não sei se fui claro o suficiente, qquer coisa dá um toque. Abraço
  15. OK, mais uma questão quanto a isso, é possível acontecer um travamento no PC que obrigue o usuário resetar o computador no ato de tratar o número da seção de retorno, perdendo assim o seu controle podendo gerando duplicidade de cupom? Se sim, é estatisticamente desnecessário se preocupar com isso? Ou daria pra tratar também? Abraço
  16. Acho que peguei, vou dar um exemplo: Usei o comando CriarEnviarCFe: ele retornou: [ENVIO] Arquivo=C:\OFFMON\sat\Vendas\08723218000186\201912\AD35191208723218000186599000092610073614188846.xml CodigoDeRetorno=6000 NumeroSessao=858175 Resultado=858175|06000|0000|Emitido com sucesso... Comparo os valores em destaque vermelho, se eles forem iguais, sinal que o SAT processou corretamente e me devolveu o retorno correto (não preciso usar SAT.ConsultarNumeroSessao) . Se o resultado for diferente, uso o comando SAT.ConsultarNumeroSessao(858175) e aguardo o retorno. Se o comando não identificar a seção, eu descarto a operação e tento enviar o CFSAT novamente. Isso mesmo?
  17. Prezados, Estou com uma dúvida aqui sobre o comando SAT.ConsultarNumeroSessao, estou implementando uma compatibilidade com meu appcomercial usando TCP/IP e C# e gostaria de entender em quais circunstâncias eu deveria usar o referido comando? O manual diz : "Comando para efetuar a consulta pelo numero da sessão.". `Testando o comando percebo que recupero dados do cupom emitido por último somente. Abraços Leandro
  18. Seria a expansão tipográfica do destinatário da venda, um modo BOLD para o texto que ali sai. Foto em anexo vide a seta.
  19. OK, isso eu poderia fazer por aqui ou seria necessário aguardar uma nova versão do acbrmonitor?
  20. A impressão está funcionando, o problema é o bug da restrição de tamanho do xNome quando uso a tag <e> para expandir o nome na impressão do CFSAT.. Se modificasse, teríamos que pensar em como seria passado o comando para expandir o nome do cliente no CFSAT ....
  21. Acho que Entendi, o único meio de persistência da informação é o XML, para validar no SEFAZ, para imprimir, etc. Se eu não posso usar no xNome, então poderia usar em outro lugar?
  22. Então, eu não entendo bem como é a arquitetura do ACBRMonitor, mas vou relatar como ACHO que funciona, posso estar errado, vou colocar em passos aqui, me corrijam por favor em caso de erro: PASSO 1 - o arquivo .INI e a tag xNome (montado pela minha app) é lida pelo ACBRMonitor PASSO 2- o ACBR repassa a informação diretamente para o webservice do SEFAZ. PASSO 3- Aprovado, o ACBR monta o XML baseado nos dados do webservice e devolve para a minha aplicação a resposta PASSO 4- O ACBR recebe comando da minha app para imprimir na impressora com as tags expandidas passadas anteriormente no xNome Ideia: Levando em conta estes passos, porque o ACBRMonitor não trima ou remove as tags <e> e </e> apenas no PASSO 2 antes de enviar ao webservice do SEFAZ e no passo 3 ao montar o XML?
  23. Mas não é melhor simplesmente remover as tags antes do envio ao fisco e deixar só na impressão? O Sefaz não precisa receber nada com <e> ou </e>, nem tem sentido ir isso para lá.
  24. Pego diretamente do ACBrSAT. Na verdade o Fisco processa corretamente com as Tags desde que eu diminua a quantidade de caracteres do xNome. Parece que cada tag está ocupando mais de 3 ou 4 caracteres, retornando o erro de limite de caracteres atingido. Por isso que quando eu corto para 41 caracteres, o fisco aceita sem problemas com as Tags.
×
×
  • 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.