Ir para conteúdo
  • Cadastre-se

OFF-DEV

Membros Pro
  • Total de ítens

    250
  • Registro em

  • Última visita

Tudo que OFF-DEV postou

  1. Prezados, correria d+ com os projetos, mas voltei. Testei pelo ACBrLibSat Demo (era esse ?) e o mesmo erro continua..
  2. Sim, foi na hora de construir o tópico, ficou ali faltando o ". Tentei editar para arrumar, mas o forum não permite mais. Qual demo ?
  3. Salve mestres! Estou usando a API ACBrSat e o arquivo .INI com as seguintes configurações de email do locaweb: [Email] Nome=Informação sobre compra em TESTE FANTA Servidor=email-ssl.com.br Conta=lei@c Usuario=le@c Senha=JDgMTwxuGx0CMA== Codificacao=27 Porta=465 SSL=1 TLS=0 Timeout=0 Confirmacao=1 ConfirmacaoEntrega=0 SegundoPlano=0 Tentativas=1 IsHTML=1 Priority=3 Obs 1. troquei ali nomes de conta propositalmente. Obs 2. Segui as orientações que o Daniel postou aqui para configurar locaweb. Estou usando c# e chamando através da DLL o seguinte método: SatDLL.EnviarEmail(NomeArquivoXMLTemp, email1 , - Informações sobre venda", ArqPDF, "vendinha", emailAdicional, ""); Infelizmente o método me retorna um exception SMTP Error: Unable to Login e não envia nada. Fiz uma contra prova usando a API C# opensource MailKit com as mesmas configurações e enviou o email corretamente. O que será que eu fiz de errado? Abraços
  4. Entendi, mas creio que alterando o meu próprio fonte pra 0 consigo fazer os tratamentos necessários. minha maior dúvida era mesmo se voltaria 0 ou vazio.... Quanto à consulta do número de sessão, vou deixar então lá por enquanto para ver como se comporta. Valeu José!
  5. Obrigado José! É um certo desafio criar um fluxo que realmente traga segurança ao tratamento do retorno, evitando assim duplicações ou a perda do XML mesmo quando algo no hardware acontece de errado. No caso que eu expliquei, é necessário a verificação do CodigoRetorno == 0 pois na sequência eu quero usar ConsultarNumeroSessao(s) para obter o XML, caso mesmo assim eu não obtê-lo, eu descarto tudo e volto a mensagem para o operador que algo falhou e ele precisa tentar novamente. Mas isso me levou a outra dúvida, estou usando ValidarNumeroSessaoResposta=1 sempre. Mesmo se falhar a obtenção do XML com CodigoRetorno == 0 e usando ValidarNumeroSessaoResposta=1, você acha necessário ainda usar ConsultarNumeroSessao(s) para tentar obter o XML mais uma vez ou é desnecessário? Mais uma dúvida, tem como simular o CodigoRetorno voltando '0' ?
  6. Amigos, ótimo tópico, mas para ficar 100% claro, José, quando você diz 'se não tiver resposta' , isso significaria exatamente o que? Que o Retorno viriam vazios, nulos ou a string inteira de retorno seria vazia? Dependendo da resposta, a forma de identificar o problema muda e se não fizer certo pode gerar problema. Pergunto porque não tenho como simular isso já que o problema aparentemente não é simulável facilmente.... pelo menos que eu saiba... A título de exemplo, um simples IF Seria o suficiente pra atender a sua afirmação? IF Vazio ( retIni["ENVIO"]["CodigoDeRetorno"])) // não obteve resposta.... Ps. Estou usando a DLL.
  7. Sim, a DLL está funcionando, estou usando a x86, minha aplicação também x86. Testei a DLL usando o SATTEst.exe e está funcional também, retorna os mesmos status que a minha aplicação. O meu SAT já estava configurado para homologação, e já venho fazendo testes de venda nele a tempo. Qdo tentei AssociarAssinatura usando o SATTeste.Exe, ele travou também, efeito igual ao da minha aplicação.
  8. Consultando no Wiki correto da chamada do método da ACBRLib também não tem a menção a 2 CNPJs e quais seriam: https://acbr.sourceforge.io/ACBrLib/SAT_AssociarAssinatura.html
  9. 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.
  10. 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.
  11. 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..
  12. 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......
  13. 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); } }
  14. 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
  15. 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.
  16. 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....
  17. 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
  18. 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
  19. 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.
  20. 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.
  21. 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.
  22. 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
  23. 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
×
×
  • 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.