
magnosystem
Membros Pro-
Total de ítens
162 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que magnosystem postou
-
Boa tarde pessoal. Meu certificado digital está vencendo no dia 18/06. Renovei meu certificado e gostaria de adicioná-lo no cadastro da minha empresa (software house) no portal fiscal eletrônico do SAT. Consigo entrar no site do SGRSAT mas quando acesso a opção SOFTWARE HOUSE >>> CADASTRO DA EMPRESA >>> ALTERAR o site fica processando até cair. O caminho para eu cadastrar este novo certificado é este mesmo ? Alguém já passou por este problema ?
-
[off topic] Problemas na validação de arquivos xml na ANVISA
um tópico no fórum postou magnosystem Dúvidas Gerais sobre o ACBr
Caros parceiros programadores. Quem trabalhar com SNGPC e puder entrar em contato in-private eu agradeceria. Parece que a ANVISA não está validando ENTRADAS quando estas tem SAÍDAS no mesmo arquivo xml. Grato Marcelo G. Nogueira. -
Tratamento para envio de nfc-e offline
magnosystem replied to magnosystem's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Acho que eu usei a expressão errada. Eu pensava que modo assíncrono e offline fossem a mesma coisa e não é. Quando eu falei que para driblar isto é só se trabalhar totalmente online, o que é inviável, visto que pode o cliente estar sem internet, ou totalmente offline o que eu não sei se pode. Então Regys quando eu disse inviável trabalhar somente no modo síncrono, entenda, trabalhar somente no modo online. -
Tratamento para envio de nfc-e offline
magnosystem replied to magnosystem's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Neste caso eu acho que não tem jeito. Pois se a nota chegou e você não teve retorno e emitiu a nota em contigencia e o cliente saiu com a chave de contigencia, não há o que fazer. Isso só tem como evitar se você trabalhar somente de modo síncrono o que é totalmente o inviável no ponto de venda ou totalmente de modo assincrono o que eu não sei se é permitido. Acho que como a nfce ainda esta engatinhando talvez surja uma maneira de resolver. Hoje não vejo como. -
Tratamento para envio de nfc-e offline
magnosystem replied to magnosystem's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
NFCE.NotasFiscais.Items[0].NFe.Ide.tpEmis := teNormal; NFCE.NotasFiscais.Items[0].NFe.Ide.xJust := ''; NFCE.NotasFiscais.Items[0].NFe.Ide.dhCont := 0; Try NFCE.NotasFiscais.GerarNFe; NFCE.NotasFiscais.Assinar; NFCE.NotasFiscais.Validar; NFCE.Enviar(NFCE.NotasFiscais.Items[0].NFe.Ide.nNF, False, true); Except //exceção muda para pegar o cstat em seguida. End; //cstat = 204 nota já existe com mesmo número e mesma chave. if NFCE.WebServices.Enviar.cStat = 204 then //marca a flag da nota como enviada. Acabei passando o código errado. Se for 204 ela já foi enviada com mesmo número e chave. Portanto, só marcar no seu banco de dados como enviada. Se for 539, isso que dizer que a nota com esse número já foi enviada com uma chave diferente. Aí você altera a chave, como mostra as primeiras linhas e tenta enviar de novo. Se retornar 204, é porque realmente ela já tinha sido enviada. Aí você marca a flag de enviada no seu banco de dados. -
Arquivo Dief. Como Gerar, Quais Movimentações?
magnosystem replied to Andre_e's tópico in ACBrSintegra/ACBrPAF
Eu acabei de desenvolver o acbrdief. Está funcionando corretamente na geração dos arquivos. Todavia ao validar o arquivo aparece: Registro PAF-ECF Nº Serie DR0812BR000000326375 - 01/07/2015 - Sem registro de Leitura Z na DIEF Já tentei com todos os registros R1 a R7 e também só com o R1, R4 e R5. Enfim, já fiz várias alternâncias. Se alguém tiver um arquivo do DIEF validado e sem erro para anexar eu agradeceria ou qualquer outra dica. ARQUIVO_DIEF_072015.TXT -
Tratamento para envio de nfc-e offline
um tópico no fórum postou magnosystem NFC-e - Nota Fiscal do Consumidor Eletrônica
Bom pessoal, tenho visto muitos comentários aqui no fórum a respeito de como tratar a emissão online / offline da nfc-e. Eu tenho feito assim, e por enquanto tem dado certo. Se alguém tiver alguma experiência e quiser postar aqui seria de muita utilidade. Eu divido em duas etapas: a primeira etapa é o envio da nota offline e a segunda etapa seria o descarregamento (envio) das notas que ficaram offline. Na primeira etapa eu faço o envio usando a rotina normal NFCE.ENVIAR colocando o comando de envio dentro de um bloco try except end. Ficaria mais ou menos assim: Try Rotina de envio de nota Except On E: Exception do if (pos('requisição não enviada', LowerCase(E.Message)) <> 0) or (pos('tempo limite', LowerCase(E.Message)) <> 0) then // Gerar a nota de forma offline end; O erro "requisição não enviada" ocorre quando o cliente está sem internet, já o erro "tempo limite" ocorre quando tem internet mas houve problema de conexão durante o envio. Portanto se ocorrer estes dois erros você emite o nfce offline e grava para posterior envio. Uma nota importante: Ao enviar o componente acbr já vai estar carregado com os dados da nota. Portanto antes de fazer o envio offline altere as seguintes propriedades do componente: NFCE.NotasFiscais.Items[0].NFe.Ide.tpEmis := teoffline; NFCE.NotasFiscais.Items[0].NFe.Ide.xJust := 'Problemas técnicos no envio do cupom eletrônico'; NFCE.NotasFiscais.Items[0].NFe.Ide.dhCont := now; NFCE.NotasFiscais.GerarNFe; NFCE.NotasFiscais.Assinar; NFCE.NotasFiscais.Validar; Feito isto faça o envio offline. Vamos agora a segunda etapa. Enviar os cupons que foram emitidos offline. Da mesma forma você vai fazer o envio em um bloco protegido do try except end como no exemplo acima. Try Rotina de envio de nota Except On E: Exception do if (pos('requisição não enviada', LowerCase(E.Message)) <> 0) or (pos('tempo limite', LowerCase(E.Message)) <> 0) then // Não vai fazer nada, pois o cupom já foi emitido if pos('duplicidade', LowerCase(E.Message)) <> 0 then // tratar duplicidade. end; Para tratar a duplicidade eu fiz da seguinte maneira: Pesquisei o código retornado pelo componente (NFCE.WebServices.Enviar.cStat). Se retornar o código 204 é porque por algum motivo (sabe-se lá qual) a sua nota já foi enviada e está no sefaz com o mesmo número e chave que você está enviando. Neste caso basta colocar uma flag de enviada nesta nota e pronto. Se retornar o código 539 é porque tem uma nota com o mesmo número e chave diferente. Aí que está o pulo do gato. Isso provavelmente ocorreu porque você guardou esta nota para enviar posteriormente quando teve um erro de "Tempo Limite Atingido". A sua nota foi enviada mas você não recebeu o retorno devido a problemas na conexão. E porque a diferença da chave ? Justamente porque você fez alteração (conforme exemplo acima) na propriedade tpemis. Tem um campo da chave nfce que vai com o valor 1 quando emitida online e 9 quando emitida offline, portanto quando você alterou o tipo de emissão automaticamente alterou a chave. Então você faz o seguinte procedimento: NFCE.NotasFiscais.Items[0].NFe.Ide.tpEmis := teNormal; NFCE.NotasFiscais.Items[0].NFe.Ide.xJust := ''; NFCE.NotasFiscais.Items[0].NFe.Ide.dhCont := 0; Try NFCE.NotasFiscais.GerarNFe; NFCE.NotasFiscais.Assinar; NFCE.NotasFiscais.Validar; NFCE.Enviar(NFCE.NotasFiscais.Items[0].NFe.Ide.nNF, False, true); Except //exceção muda para pegar o cstat em seguida. End; if NFCE.WebServices.Enviar.cStat = 100 then //cstat = 100 nota foi enviada e aceita //marca a flag da nota como enviada. Bom, fica aí a minha dica e se puder postem sugestões sobre como otimizar esse tratamento online / offline. -
Epson TM-T20 imprimir DANFe NFCe
magnosystem replied to andersonh's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Também estou com o mesmo problema em um cliente. Será que teremos que fazer ajustes no arquivo fr3? -
Estou com o mesmo problema amigo. Ainda não sei como vou fazer.
-
Estou com o mesmo problema. Entretanto copie as dll's citadas e ainda não resolveu. Tá difícil. Uso Delphi XE5 + Windows 10 64 bits + Acbr do Trunk 2 Detalhe importante: Estou instalando em um computador recém adquirido portanto nunca foi instalado o acbr e por este motivo não tem vestígios do trunk 1.
-
Erro No Evento Quandovenderitem Do Acbrvirtualnfce
magnosystem replied to magnosystem's tópico in ACBrSerial
Obrigado pela resposta. Pois é. Eu não consegui achar um exemplo do acbr com o componente acbrecfvirtualnfce. Tem algum que já vem com o componente. Se sim, onde fica ??? -
Pessoal bom dia. Eu tinha começado a desenvolver nfce e já estava até imprimindo cupom usando o ecfvirtual. Parei uns tempos e voltei agora e para tal atualizei os fontes do acbr. Desde então está aparecendo a mensagem "Acess Violation at Address 004099B6 in module MagnoPDV" O interessante é que seu eu não colocar nenhum código no evento QuandoVenderItem do AcbrVirtualNFCe o erro desaparece, todavia, fica faltando os parâmetros de ncm e alguns outros e o envio é recusado pelo webservice. Mas basicamente é isto. Basta eu colocar um comando no evento (teste colocando apenas Det.Prod.ncm) que já dá erro. O fonte que está dentro do evento é o abaixo: procedure TPDV.ECFVirtualNFCeQuandoVenderItem(Det: TDetCollectionItem); begin Det.nItem := Datacliente.TBAuxVendas.FieldByName('ITEM').AsInteger; With Det.Prod do Begin cProd := Datacliente.TBAuxVendas.FieldByName('CODIGOPRODUTO').AsString; if Datacliente.ValidaEAN(Datacliente.TBAuxVendas.FieldByName('CODIGOPRODUTO').AsString) then cEAN := Datacliente.TBAuxVendas.FieldByName('CODIGOPRODUTO').AsString else cEAN := ''; xProd := Datacliente.TBAuxVendas.FieldByName('PRODUTO').AsString; With Datacliente.QEXEC do Begin sql.Clear; sql.Add('SELECT NCM FROM PRODUTOS WHERE CODIGO = ' + QuotedStr(Datacliente.TBAuxVendas.FieldByName('CODIGOPRODUTO').AsString)); open; End; if Datacliente.QEXEC.FieldByName('NCM').AsTrimString = '' then NCM := '99999999' else NCM := Datacliente.QEXEC.FieldByName('NCM').AsTrimString; if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Substituição Tributária' then CFOP := '5403' else CFOP := '5102'; qCom := Datacliente.TBAuxVendas.fieldbyname('QUANTIDADE').AsCurrency; if Trim(Datacliente.TBAuxVendas.fieldbyname('UNIDADE').AsString) = '' then uCom := 'UN' else uCom := Datacliente.TBAuxVendas.fieldbyname('UNIDADE').AsString; vUnCom := Datacliente.TBAuxVendas.fieldbyname('VALORUNITARIO').AsCurrency; vDesc := Datacliente.TBAuxVendas.fieldbyname('DESCONTO').AsCurrency; vProd := Datacliente.TBAuxVendas.fieldbyname('SUBTOTAL').AsCurrency; vOutro := 0; indRegra := irTruncamento; end; With Det.Imposto.ICMS do Begin if Datacliente.TBPadrao.FieldByName('SPEDREGIMETRIBUTARIO').AsString = 'SN' then Begin if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Substituição Tributária' then CSOSN := csosn500 else if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Isenta' then CSOSN := csosn300 else if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Não Tributada' then CSOSN := csosn400 else Begin CSOSN := csosn102; orig := oeNacional; pICMS := Datacliente.TBAuxVendas.FieldByName('ALIQUOTA').AsCurrency; vICMS := Datacliente.TBAuxVendas.FieldByName('VALORICMS').AsCurrency; End; End else Begin if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Substituição Tributária' then CST := cst60 else if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Isenta' then CST := cst40 else if Datacliente.TBAuxVendas.FieldByName('TRIBUTACAO').AsString = 'Não Tributada' then CST := cst41 else Begin CST := cst00; pICMS := Datacliente.TBAuxVendas.FieldByName('ALIQUOTA').AsCurrency; vICMS := Datacliente.TBAuxVendas.FieldByName('VALORICMS').AsCurrency; End; End; End; end;
-
Estranho. Eu tive o mesmo problema com o cliente. A impressora trava e tem que reiniciar o programa. O log é exatamente igual este. Impressora ELGIN. O estranho é que eu atualizei o acbr algum tempo atrás e fiz as modificações para homologação do PAF. Segundo o cliente, o erro começou quando eu atualizei a versão para o meu PAF atual. Resolvi então voltar a versão anterior do programa (antes de atualizar o acbr) e até agora o erro parou. Será que foi coincidência ou houve alguma mudança recente no acbr que possa estar causando este erro com a impressora elgin ???
-
O remobjects tem conflito com o ACBR devido aos dois usarem o pacote SYNAPSE. Depois de quebrar um pouco a cabeça no final de semana, descobri uma maneira de contornar isto. Deixei este post aqui pois pode ser útil para outras pessoas. Para correta instalação tem que primeiro instalar o ACBR. Depois de instalar o ACBR instalar os 3 módulos do REMOBJECTS (no meu caso tenho o REMOBJECTS, HYDRA e DATA ABSTRACT). Abrir o pacote SYNAPSE do REMOBJECTS no DELPHI e excluir os arquivos .PAS da pasta SYNAPSE que ficam na parte CONTAINS do pacote. Adicionar o pacote SYNAPSE do ACBR na pasta REQUIRES do pacote do REMOBJECTS. Feito isto, os dois componentes funcionarão normalmente.
-
Fiz a atualização, mas o erro persiste. O ACBR gera a seguinte mensagem: "Erro ao apagar o arquivo C:\TEF_DIAL\REQ\INTPOS.001". Eu debuguei e vi que foi no ACBRTEFD.Inicializar quando ele apaga os arquivos das pastas. O estranho é que o arquivo fica preso ao Gerenciador TEF e não ao meu PDV. Ou seja, se eu fechar o TEF eu consigo apagar o arquivo. Sem fechar o TEF, mesmo entrando na pasta REQ o windows não deixa. Aí fiz o seguinte: fechei o TEF, apaguei o arquivo da pasta REQ e comentei a função WRITETOTXT e descomentei a antiga. Pronto funcionou. Estranho, mas parece que esta função está gerando o arquivo INTPOS de uma forma que o Gerenciador ao ler deixa ele preso e impossibilita de excluir.
- 10 replies
-
Oi Patrícia. No meu sistema, independente do cliente ter TEF ou não, sempre quando perde a conexão com a impressora, aparece esta pergunta: IMPRESSORA NÃO RESPONDE. TENTAR NOVAMENTE SIM OU NÃO. Quando o usuário responde NÃO, o sistema fecha. Pois veja, se é um sistema fiscal que só funciona com a impressora fiscal e o usuário opta por não tentar mais a conexão com a impressora não há porque o sistema continuar aberto. Sabendo disto vamos à lógica: Quando a conexão com a impressora cai, o sistema vai perguntar se quer tentar novamente. Enquanto o usuário responder SIM e a impressora não responder o sistema vai exibir a pergunta. Quando o usuário responder que não quer tentar novamente, o sistema enviará um NCN para a última transação não confirmada e como eu disse anteriormente, o sistema irá ser fechado. Após fechar o sistema, o usuário só vai conseguir reabri-lo após restabelecer a conexão com a impressora. E ao reestabelecer a conexão o sistema efetua o cancelamento pendente e imprime o comprovante. Espero ter sabido explicar. Qualquer dúvida posta aí.
-
Em primeiro lugar, gostaria de agradecer ao projeto ACBR. Recentemente fiz minha homologação para TEF DISCADO usando o componente. A homologação foi sem problemas. Teve só dois fatos que gostaria de deixar registrado. 1 - No meu computador o foco funcionou sem problemas, já no computador do homologador não funcionou. O que fiz para resolver foi colocar um componente TTIMER no form que exibe as mensagens do TEF com intervalo 200 e no evento ONTIMER coloquei o seguinte comando: Self.bringtofront; Self.setfocus; 2 - O travamento de teclado do ACBRTEFD só funcionou perfeitamente com a propriedade TRAVARMOUSETECLADO do ACBRECF setado para false. No mais tudo OK. Muito obrigado aos desenvolvedores do ACBR.
-
Bem após inúmeras pesquisas, formatações, reinstalações de windows sem conseguir resolver o erro, enfim, consegui achar o caminho das pedras. No meu caso, toda vez que eu fechava o delphi dava o erro da ntdll. Bastava eu abrir o delphi e já fechar que dava o erro. Eu nunca esquentei a cabeça até que comecei fazer testes com TEF usando o ACBRTEFD + o pin pad e o programa travava direto com erro da ntdll. Fica a dica aí para quem estiver passando por isso. Basta copiar as dll's da pasta OPENSSL que fica na pasta DLLS do projeto ACBR para a pasta WINDOWS\SYSTEM32. Valeu a todos pelas dicas.
-
Sim, atualizei pelo SVN e instalei o ACBR do zero.
-
Já reinstalei o windows 7 32 e não sei mais o que fazer. Está dando este erro. Alguém já tem a solução ???
-
Windows Xp. Testei no meu notebook e com windows xp também e funcionou. No computador desktop não funciona.
-
Estou passando por um problema no mínimo estranho. Quando executo o demo do ACBR ou meu programa pela IDE do DELPHI consigo fazer qualquer operação com NFE. Agora se compilo o programa e abro diretamente o executável qualquer operação com NFE me retorna o seguinte erro: An error ocurred in the secure channel support. Já testei no WEBSERVICE de MG e SP e o erro ocorre em ambos. O erro ocorre tanto com meu programa como com o DEMO DO ACBR. O certificado que estou utilizando é um token da SERPRO.