Ir para conteúdo
  • Cadastre-se

Renato Chiari

Membros
  • Total de ítens

    115
  • Registro em

  • Última visita

Tudo que Renato Chiari postou

  1. Boa tarde, Na verdade esse cliente fez confusão, o que eles vão precisar é da NFS-e e não da NF-e. De qualquer forma obrigado pelos esclarecimentos.
  2. Renato Chiari

    Dúvidas NF-e em MG

    Boa tarde, Vamos implantar nosso software emissor da NF-e em um novo cliente de MG, será nosso primeiro cliente em MG, gostaria de confirmar se existem alguma particularidade quanto a NF-e em Minas, algo que funcione diferente de SP e que eu precise me atentar. Vi aqui pelos Mapas Fiscais que lá existe o PAF-ECF, até onde sabemos não implica em nada com a NF-e, esta informação está correta? Agradeço a ajuda e dicas que possam me dar.
  3. É exatamente isso que você disse @Juliomar Marchetti olhando a norma da ABNT no link que o @Daniel Simoes postou, o valor correto deve ser mesmo o 244,36, confesso que não sabia da regra que o 5 só pode ser arredondado "pra cima" caso o número seguinte a ele for >= 0, ou se o número anterior a ele (casa que será mantida) for ímpar, sendo assim 244,365 de acordo com a ABNT deve ficar 244,36, pra mim que o 5 sempre era arredondado "pra cima", rs. Sendo assim, meu sistema estava arredondando da forma correta desde o início... E realmente o erro está na API da prefeitura que nesse caso exigia o arredondamento "pra cima". Muito obrigado pela atenção de vocês! @bylaardt muito boa a sua dica de sempre primeiro multiplicar e depois dividir!
  4. Boa tarde Daniel, não conhecia a RoundABNT. Porém testando com ela houve o mesmo problema, mas consegui o arredondamento correto utilizando o SimpleRoundTo fazendo uma alteração no meu código, antes o cálculo era feito da seguinte maneira: Servico.Valores.ValorIss := SimpleRoundTo(Servico.Valores.BaseCalculo * (Servico.Valores.Aliquota / 100), -2); Notei que existe uma diferença de tipos de dados entre as propriedades BaseCalculo e Aliquota, a BaseCalculo é do tipo Currency, já a Aliquota é do tipo Double, resolvi testar atribuindo o valor da Aliquota a uma variável do tipo Currency e realizar o cálculo usando a variável criada, ficando da seguinte maneira: aliqIss := Servico.Valores.Aliquota; Servico.Valores.ValorIss := SimpleRoundTo(Servico.Valores.BaseCalculo * (aliqIss / 100), -2); Desta forma o arredondamento ficou correto, porém usando a função RoundABNT com esse mesmo procedimento da variável o arredondamento insistiu em ficar errado, debugando ela vi que o problema ocorre no mesmo momento em que a fração é separada do valor. Acredito que o problema ocorreu por existir essa diferença de tipos de valores reais onde cada um dos tipos (Currency e Double) possuem precisões diferentes. Esse é um daqueles probleminhas chatos de se resolver e que não entendemos ao certo o motivo, mas fica aqui a maneira que consegui contornar caso alguém passe pelo mesmo problema. Obrigado pelo retorno EMBarbosa, vou dar uma olhada no artigo que você passou. Abraço!
  5. Boa tarde, hoje passei por um problema de arredondamento em um cálculo de ISS, consegui resolver com uma "gambiarra" que encontrei na internet, rs, mas gostaria de entender o motivo do problema, vou explicar melhor. Um cliente estava emitindo uma nota de serviço onde o valor do serviço prestado era de R$ 11.000,00 e a alíquota do ISS era de 2,2215%. Calculando o ISS ficaria da seguinte maneira: 11000,00 * (2,2215 / 100) = 244,365 Até aí tudo certo, o problema está na hora de arredondar o valor o ISS para 2 casas decimais, o correto nesse caso seria ficar 244,37, porém as funções do Delphi arredondam para 244,36 e essa diferença no arredondamento gerou rejeição na hora da emissão da nota. Utilizava a função SimpleRoundTo para arredondar, e até mesmo tentando fazer algo "na mão" não resolvia o problema, consegui o resultado esperado com a seguinte função que encontrei na internet (que em partes é parecida com a SimpleRoundTo: function ArredondaNumero(Valor:Extended;Decimais:Integer):Extended; var Factor, Fraction: Extended; begin Factor := IntPower(10, Decimais); Valor := StrToFloat(FloatToStr(Valor * Factor)); Result := Int(Valor); Fraction := Frac(Valor); if Fraction >= 0.5 then Result := Result + 1 else if Fraction <= -0.5 then Result := Result - 1; Result := Result / Factor; end; A "gambiarra" que faz essa função retornar o resultado esperado está na linha "Valor := StrToFloat(FloatToStr(Valor * Factor));", onde o valor é convertido para String e depois retornado para Float, se retiro as conversões e atribuo o cálculo diretamente na variável "Valor" o arredondamento fica errado. Debugando é possível perceber que na linha em que é extraída a fração do valor "Fraction := Frac(Valor);" a fração não vem a correta que seria "0,5", e sim "0,49999999999789", por isso o problema no arredondamento. Fiz testes usando variáveis dos tipos Double e Extended e em ambas o problema ocorre; Alguém já passou por isso ou saberia me dizer o motivo do problema? Utilizo o Delphi Seattle.
  6. Deu certo Luis, era isso mesmo, não tinha me atentado a esta propriedade. Valeu, obrigado!
  7. Bom dia, Gostaria de uma orientação, de alguém que já passou pelo problema abaixo ou sabe como proceder Temos um cliente que emitiu um CT-e de forma incorreta, ele indicou que o tomador do frente era o Remetente, porém o correto seria o Destinatário, o problema é que perceberam o erro quando já não era mais possível cancelar este CT-e para assim emitir um novo com a correção. Portanto o Remetente emitiu o evento de "Prestação de Serviço em Desacordo" e agora pelo que entendi cabe a transportadora (nosso cliente) emitir um CT-e de Anulação e depois um de Substituição corrigindo a informação incorreta. Estou implementando pois até então não tínhamos a opção de "Anulação" em nosso sistema, fazendo testes em ambiente de homologação a emissão da Anulação ocorreu sem problemas, porém ao emitir o documento de Substituição estou recebendo a seguinte rejeição: "A indicação do tomador do CT-e de substituição deve ser igual a do CT-e substituído", de acordo com a mensagem da rejeição eu não posso alterar a indicação do tomador, mas como então posso fazer o documento de Substiuição? Nesse caso o cliente deve emitir somente a Anulação e um novo documento do tipo "Normal" com a indicação do tomador correta? Desde já, obrigado!
  8. Tentei atualizar a Midas e nada. Fiz até um novo projeto só para testar com um DBEdit ligado a um ClientDataSet sem conexão com BD, apenas trabalhando em memória e o problema ocorre, sinal que não tem nada relacionado com o BD apenas entre DBEdit/ClientDataSet. Inclusive testei a Midas de duas formas, usando a dll registrada e apenas adicionando MidasLib aos uses.
  9. Fiz um teste aqui, No evento "onChange" do DBEdit o valor é "Ã", em seguinda no evento "onChange" do Field no Client Data Set o valor já é "A".
  10. Mas também ocorre no Seattle. O estranho é que somente nesta máquina, em outra máquina do cliente não ocorre, e esta outra máquina utiliza a máquina que apresenta o problema como servidor do BD. Eu acho que deve ser alguma coisa no Windows.
  11. Boa tarde a todos, Estou tento problemas de acentuação com uma máquina Windows 7 de um cliente. Temos 2 softwares rodando nesta máquina, um Delphi 7 com Firebird 1.5 e o outro Delphi Seattle com Firebird 2.5. No Delphi 7 os acentos são substituídos por uma espécie de pipe |, inclusive em locais onde o texto não vem do banco de dados, como o caption do CheckCox e títulos do DBGrid. No Delphi Seattle ocorre mais nos dados vindos do BD, o estranho que se eu digito um à em um DBEdit ligado a um ClientDataSet ele aparace normalmente (A com o til), porém quando o foco sai do campo o "til" é removido ficando somente "A". O idioma do Windows está configurado como português e a conexão com o banco de dados (utilizo DBExpress) está com o Server Charset WIN1252. Se eu pego o banco e o executável e jogo em outra máquina funciona perfeitamente. Alguém já teve algum problema assim?
  12. Então, geralmente os que acontecem são contas do Outlook/Hotmail e Gmail, mas esses são usados por 90% dos nossos clientes. Quanto aos destinatários na maioria exite apenas 1, algumas notas são enviadas para 2 ou 3 cópias, mas acredito que não seria isso que ira caracterizar spam. Faz sentido, pois no assunto vai informando que esta sendo enviada uma nota fiscal, muitos vírus vem desta forma, rsrs. Mas o estranho é que em alguns clientes que emitem bastante nunca tiveram problemas, esta semana um criou uma nova conta no Outlook para o envio, e após cerca de 7 e-mails enviados a conta já foi bloqueada.
  13. Problema resolvido! O pessoal da Fiorilli analisou o XML e identificou o problema, eu estava passando o valor da tag "CodigoCnae" da seguinte forma: "0105", e o servidor deles remove o 0 a esquerda, ficando assim: "105", com isso o arquivo XML acabava ficando diferente do envidado, gerando a inconsistência na assinatura. Aí que percebi que na verdade não devo passar nada na tag "CodigoCnae", somente a tag "ItemListaServico", isso para a Fiorilli. Obrigado pela ajuda de todos!
  14. Bom dia, Gostaria de saber como vocês fazem quanto ao envio dos documentos fiscais por e-mail aos destinatário. Aqui configuramos o próprio e-mail do cliente para realizar o envio, daí cada um possui um provedor, Outlook, Hotmail, GMail, Uol. Na maioria dos casos funciona muito bem, porém em alguns clientes após um tempo de uso o provedor bloqueia este envio por entender que possam ser spam, algumas vezes conseguimos desbloquear mas após mais um tempo de uso o bloqueio volta. O que me indicariam? Qual provedor ou serviço de e-mail vocês trabalham? Desde já, obrigado!
  15. Então, no início eu realmente não tinha feito este cadastro, entrei em contato com eles e fizeram o nosso cadastro com o CNPJ do certificado que estou usando, no caso o da empresa em que trabalho, porém o problema continuou, continuei o contato com eles via e-mail mas sem sucesso. Vou tentar contato novamente com eles via telefone e trago o retorno aqui.
  16. Acabei esquecendo de anexar os arquivos XML... Segue o de envio e o de retorno. 1-env-lotS.xml 1-recS.xml
  17. Sim, é justamente no Demo onde estou fazendo os testes, tentei mandar em produção para o provedor de minha cidade e tive o mesmo erro.
  18. Boa tarde, Estou fazendo testes de emissão da NFS-e no ambiente de homologação da Fiorilli, porém estou recebendo o erro E172 - Arquivo enviado com erro na assinatura. Mais alguém já teve este problema?
  19. Bom dia, Estou implementando o MDF-e 3.00a, porém percebi que a impressão do DAMDFE com o Fortes Report está saindo sem o QR-Code, existe alguma configuração que devo fazer (lembrando que no XML a tag qrCodMDFE está sendo gerada corretamente), ou o novo layout ainda não foi implementado no componente?
  20. Renato Chiari

    ACBrETQ

    Depois de apanhar durante algumas horas, resolvi com o procedimento acima, valeu!
×
×
  • 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.