Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.046
  • Registro em

  • Última visita

  • Days Won

    758

Tudo que Daniel Simoes postou

  1. A atribuição dos eventos é feita por código, para manter a compatibilidade com D7 Veja no inicio do FormCreate ACBrSAT1.OnGetsignAC := GetsignAC; ACBrSAT1.OnGetcodigoDeAtivacao := GetcodigoDeAtivacao; Você pode usar a IDE para programar diretamente o Evento.. não há problema em usar dessa forma...
  2. Olá @Datacaixa, não há Exception na hora de validar, porque a validação de Schema da NFe não prevê esse erro que estamos tratando nesse tópico... Na verdade a validação de Schema não pegará vários Erros possíveis no documento da NFe, e muito menos as Validações existentes nas regras de negócio da NFe... O ACBr gera o "Alerta", abaixo quando ele monta o XML... Alertas: Campo:Código NCM - Tamanho maior que o máximo permitido [000334764] Campo:Código NCM - Conteúdo inválido O ACBr remonta o XML, quando ele é carregado, de um arquivo, ou String... Observe que o método TNotasFiscais.LoadFromString tem um parâmetro AGerarNFe que por padrão é True... function TNotasFiscais.LoadFromString(const AXMLString: String; AGerarNFe: Boolean): Boolean; Esse método chamará a rotina "Writer" do ACBr, que irá gerar o Alerta do NCM, no método procedure TNFeW.GerarDetProd(const i: Integer); de pcnNFeW.pas Você poderia tentar capturar esse Alerta, no momento em que está gerando o XML... Mas observe que um Alerta pode não ser necessariamente, um erro... ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromString(AXML, True); if ACBrNFe1.NotasFiscais.Items[0].Alertas <> '' then ShowMessage('Alertas: '+ACBrNFe1.NotasFiscais.Items[0].Alertas); Voltando a minha consideração inicial desse tópico... Creio que você precise construir as suas próprias rotinas de validação de Cadastro de Produtos... e chamar elas, a cada produto Criado/Alterado e também a cada Produto Vendido, e não permitir a venda de um Produto com erro no cadastro...
  3. Seguindo a dica do Renato, rodando a Validação do XML no Demo do ACBrNFe, podemos ver que ele não fere a Validação do Schema, e apenas retornar "Alertas"...
  4. Leia esse (ultimo) Post, relacionado ao assunto: No meu entendimento, você só precisará informar a entidade onde o PIX foi depositado, ou seja, na Conta do próprio recebedor...
  5. Por favor anexe um XML que reproduza o problema
  6. Acho que achei... estava enferrujado.. Veja esse trecho dos fontes... if not NotaEhValida then begin FErroValidacao := ACBrStr('Falha na validação dos dados da nota: ') + IntToStr(NFe.Ide.nNF) + sLineBreak + FAlertas; FErroValidacaoCompleto := FErroValidacao + sLineBreak + Erro; raise EACBrNFeException.CreateDef( IfThen(Configuracoes.Geral.ExibirErroSchema, ErroValidacaoCompleto, // <--------- AQUI ----------- ErroValidacao)); end; end; Então acho que basta ligar "Configuracoes.Geral.ExibirErroSchema"
  7. Peguei... desculpe, foi falha de interpretação minha... Eu acredito que o componente deva retornar o erro completo... ( a LibXML2 retorna para nós esse erro ) Vou ver no código e com os "universitários", se há alguma propriedade ou configuração, para exibição do erro completo
  8. A TMS tem um componente bacana para isso: https://www.tmssoftware.com/site/planner.asp
  9. Qual Linguagem de programação e IDE, você usa ?
  10. Essa msg será disparada em um Exception, então você pode capturar ela em blocos Try/Except... Talvez uma estratégia melhor do que exibir essa msg ao usuário, seja capturar ela e gravar em um Log, que poderia ser analisado com calma pelo suporte após o relato de erro...
  11. Qual a sua linguagem de programação ? Já testou algum dos Demos do ACBr ? http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/ O ideal é estudar os fontes do Demo, antes de tentar implementar no seu código
  12. Essa msg de erro vem da LibXML2... Observe que a msg cita problemas no campo NCM, que esta faltando... As msgs de erro da LibXML2, vem em Inglês... você poderia fazer rotinas de conversão do texto inglês para o Português Mas definitivamente não é uma boa estratégia depender as msgs de erro de validação de Schema para informar o usuário no PDV... Esses erros nem deveriam existir no momento da emissão... O sistema deveria fazer essas validações no momento do cadastro, ou pelo menos evitar que um itens com problemas no cadastro sejam vendidos
  13. Parece correto... mas mande várias linhas ao mesmo tempo... ao invés de uma a uma... ficará bem mais rápido... Ou seja use: https://acbr.sourceforge.io/ACBrLib/POS_Imprimir.html e pule de linhas com a tag </lf>, tudo no mesmo buffer de String Esse tópico tem muitas dicas sobre o ACBrPosPrinter:
  14. https://github.com/ElginDeveloperCommunity/Impressoras/wiki/Windows-Prolific-2023
  15. @Jairo Rodrigo, o TEF não faz a impressão das vias... Ele devolve o "espelho" dos cupons, para a própria aplicação, fazer a impressão... Se você for parceiro de distribuição em TEF, do Projeto ACBr, eu recomendo usarmos o Discord, para suporte mais ágil https://discord.gg/acbr https://projetoacbr.com.br/tef/
  16. Ainda não... Mas estamos vendo como podemos viabilizar isso
  17. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  18. Creio que faltou você informar algum item na Faixa de Datas... Exemplo: with valor do begin original := StrToFloatDef(edCobVValor.Text, 0); multa.modalidade := TACBrPIXValoresModalidade(cbCobVMultaModalidade.ItemIndex); multa.valorPerc := StrToFloatDef(edCobVMultaValor.Text, 0); juros.modalidade := TACBrPIXJurosModalidade(cbCobVJurosModalidade.ItemIndex); juros.valorPerc := StrToFloatDef(edCobVJurosValor.Text, 0); desconto.modalidade := TACBrPIXDescontoModalidade(cbCobVDescModalidade.ItemIndex); desconto.valorPerc := StrToFloatDef(edCobVDescValor.Text, 0); with desconto.descontosDataFixa.New do // <-------------- AQUI ---------- begin data := ADate; valorPerc := AVal; end; end;
  19. Experimente configurar ela como Epson Esc/Pos...
  20. no GitHub da PayGo, tem vários exemplos https://github.com/PGPagamentos?tab=repositories
  21. Você subiu a chave Publica do Certificado, em Base64, para o COMSAT ? No nosso curso, abordamos esse processo https://projetoacbr.com.br/cursos/sat-sp/ Veja essa aula... https://acbr.nutror.com/curso/d2256852f87972e5426224bd9896596f911b2b13/aula/2869092
  22. Realmente na primeira versão do Monitor, ele tinha uma nomenclatura própria... mas percebemos o erro, e agora ele é sempre compatível com as Tags conforme a especificação
  23. Creio que essa impressora não utilize nenhum dos protocolos suportados pelo ACBrETQ
  24. Provavelmente essa versão de DLL do SAT não usa StdCall e sim Cdecl...
×
×
  • 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.