Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 30-03-2015 em todas as áreas

  1. Pessoal, A quem se interessar, seque abaixo função para realizar o arredondamento ABNT (Arredondamento utilizado no ECF) Escrevi na linguagem Harbour, mas, basta apenas trocar os comandos para converter para qualquer outra linguagem (Se precisarem de ajuda na conversão, é só postar aqui, que tentarei ajudar) FUNCTION Round_ABNT(nValor,nDecimais) LOCAL nRetorno:=nValor, cDecimais:=SubStr(Str(nValor),At('.',Str(nValor))+1), nSubsequente:=nDecimais+1 if nDecimais<1 RETURN Int(nRetorno) endif if Len(cDecimais) <= nDecimais RETURN nRetorno endif if SubStr(cDecimais,nSubsequente,1)>'5' .or. SubStr(cDecimais,nSubsequente,1)<'5' //Se a casa decimal SUBSEQUENTE for DIFERENTE de 5 nRetorno:=Round(nValor,nDecimais) //ARREDONDA elseif SubStr(cDecimais,nSubsequente,1)=='5' //Se a casa decimal SUBSEQUENTE for IGUAL a 5 if Mod(Val(SubStr(cDecimais,nDecimais,1)),2) <> 0 //Se a casa decimal que será CONSERVADA, for IMPAR nRetorno:=Round(nValor,nDecimais) //ARREDONDA else //se a casa decimal que será CONSERVADA, for PAR if Val(SubStr(cDecimais,nSubsequente+1,1)) > 0 //Se APÓS a casa decimal SUBSEQUENTE, houver ALGUM algarismo MAIOR que ZERO nRetorno:=Round(nValor,nDecimais) //ARREDONDA else //Se APÓS a casa decimal SUBSEQUENTE, não houver NENHUM outro algarismo ou TODOS forem iguais a ZERO nRetorno:=Truncate(nValor,nDecimais) //TRUNCA (Esse é o único momento em que o "arredondamento ABNT" se diferencia do "arredondamento normal") endif endif endif RETURN nRetorno FUNCTION Truncate(nValor,nDecimais) LOCAL nRetorno:=nValor, cDecimais:=SubStr(Str(nValor),At('.',Str(nValor))+1) if nDecimais<1 RETURN Int(nRetorno) endif if Len(cDecimais) <= nDecimais RETURN nRetorno endif nRetorno:=Val( Str(Int(nValor))+'.'+SubStr(cDecimais,1,nDecimais) ) RETURN nRetorno Nos vários testes que fiz aqui, funcionou muito bem, se encontrarem algum bug, favor, reportar aqui... Obrigado! Espero ter contribuído, Abraços, Reginaldo
    1 ponto
  2. Boa tarde, Quando eu alimento o "CorpoEmail" do AcbrMail e seleciono um arquivo para anexar, ele não envia o anexo para emails do Gmail: CorpoEmail := 'Teste e-mail'; ACBrMail1.AddAttachment('C:\Relatório.PDF','Relatório'); ACBrMail1.Send; Mas se eu alimentar assim sem o "CorpoEmail" o anexo vai normal: ACBrMail1.AddAttachment('C:\Relatório.PDF','Relatório'); ACBrMail1.Send; Acontece apenas quando eu encaminho o email para um destinatário do gmail, quando eu enviei para o meu pago ele recebeu o corpo e o anexo tambem. Alguém já passou por isso? Obrigado
    1 ponto
  3. 6.3 - Mostre respeito pelo modo de escrever. Escreva de modo claro, gramaticalmente e semanticamente correto. Não escreva TUDO EM MAIÚSCULAS. Isso é lido como se estivesse gritando e é considerado rude.
    1 ponto
  4. Pelo que sei, quando a nf de referencia é uma nota eletronica, que contem chave de acesso, como referencia deve informar apenas a chave de acesso, ou seja, não tem que preencher os outros dados, como Ano mês, cnpj, serie, modelo, etc.
    1 ponto
  5. Boa tarde Thiago, Sim, você me passou, preciso agora arrumar um tempo para analisar o que foi feito e remover o que consta nos fontes e não é utilizado.
    1 ponto
  6. Já respondi, olhe lá e me retorne.
    1 ponto
  7. Amigos estou tendo um erro ao tentar fazer homologação, e sempre esta dando este erro. Erro: '|' Is Not A Valid Integer Value Estou usando o comando: NFe.CriarNFeSefaz(D:/SISPS_arquivos/Nfe/Txt/243 NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL.txt) E estou com o ACBrNFeMonitor2 0.8.12.3 Abaixo segue arquivo txt que estou fazendo os teste. Fico no aguardo 244 NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL.txt
    1 ponto
  8. Amigo, está faltando a pasta "acbr\Fontes\ZLibExGZ" configurada no Delphi. No Delphi 7 vá no menu "Tools", opção "Environment Options", na aba "Library" clique em "Library Path" e adicione o caminho desta pasta. Caso utilize o ACBrInstall ele fará essa configuração automaticamente.
    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.