Ir para conteúdo
  • Cadastre-se

hleorj

Moderadores
  • Total de ítens

    1.304
  • Registro em

  • Última visita

  • Days Won

    9

Tudo que hleorj postou

  1. Adicionado suporte as propriedades: CasasDecimais.Tag, CasasDecimais._Mask_qCom e CasasDecimais._Mask_vUnCom , CasasDecimais._qCom , CasasDecimais._vUnCom Novos campos para o suporte ( sDisplayFormat , iFormato, Mask_qCom, Mask_vUnCom ) em cdsParametros Alguns campos mudaram o tipo de Float para String; Criadas as DAnfes que darão suporte acima( todas com a terminação de _Dc.fr3 ( decimal ): DANFePaisagem_Basic_Dc.fr3 DANFePaisagem_Dc.fr3 DANFeRetrato_Basic_Dc.fr3 DANFeRetrato_Dc.fr3 DANFeRetratoFS_Basic_Dc.fr3 DANFeRetratoFS_Basic_Dc.fr3 Nas danfes mudanças na formatação de campos para aceitar a separação de numeral para ficar de acordo como o exemplo; De : 33235,00 Para : 33.325,00 ou De : 33235,00 Para : 33.325,0000 Configurando o novo suporte Resultado dos ajustes Segue unit e danfes para testes Report.rar == Atenção fazer teste exaustivos antes de colocar em produção ==
  2. Configurando a Solução para resolver o problema acima.
  3. Segue as unit's para teste; Favor seguir o compactado . Fortes.rar
  4. Daniel , estou desenvolvendo um outra solução , no componente ja temos toda a solução do problema. Existe a Propriedade : CasasDecimais ( Tag , _Mask_qcom, _Mask_vUnCom , _qcom, _vUnCom ) fIFormatacao = Tag ( 0 ou 1 ) FCasasDecimaisqCom = _qcom FCasasDecimaisvUnCom =_vUnCom fMask_qCom = _Mask_qcom fMask_vUnCom = _Mask_vUnCom cdsItens.FieldByName('QTDE').AsString := FormatQuantidade( Prod.qCom); cdsItens.FieldByName('VALOR').AsString := FormatValorUnitario( Prod.vUnCom); Function TfrlDANFeRLRetrato.FormatQuantidade( dValor : Double ) : String; begin case fIFormatacao of 0 : Result := FormatFloatBr( dValor , format(sDisplayFormat, [FCasasDecimaisqCom, 0])); 1 : Result := FormatFloatBr( dValor , fMask_qCom); end; end; Function TfrlDANFeRLRetrato.FormatValorUnitario( dValor : Double ) : String; begin case fIFormatacao of 0 : Result := FormatFloatBr( dValor , format(sDisplayFormat, [FCasasDecimaisvUnCom, 0])); 1 : Result := FormatFloatBr( dValor , fMask_vUnCom); end; end; Testando ..a solução; Em Danfe Fast Report teremos a mesma solução um pouco diferente mas aregra sera a mesma Function TACBrNFeFRClass.FormatQuantidade( dValor : Double ) : String; begin case FDANFEClassOwner.CasasDecimais.tag of 0 : Result := FormatFloatBr( dValor , format(sDisplayFormat, [FDANFEClassOwner.CasasDecimais._qCom, 0])); 1 : Result := FormatFloatBr( dValor , FDANFEClassOwner.CasasDecimais._Mask_qCom); end; end; Function TACBrNFeFRClass.FormatValorUnitario( dValor : Double ) : String; begin case FDANFEClassOwner.CasasDecimais.tag of 0 : Result := FormatFloatBr( dValor , format(sDisplayFormat, [FDANFEClassOwner.CasasDecimais._vUnCom, 0])); 1 : Result := FormatFloatBr( dValor , FDANFEClassOwner.CasasDecimais._Mask_vUnCom); end; end;
  5. Gostei do seu sDisplayFormat .. vai QUASE com uma ideia de refatoração para Danfe Fast Report. onde teremos a correção da formatação dos milhares e decimais; Segue imagem de teste com erros nos campos ( valor total , Base , Valor icms ); se fosse alterado os tipo ( integer ) CasasDecimais._qCom := 4 CasasDecimais._vUnCom := 10; para String; CasasDecimais._qCom := '###,###,###,##0.0000###'; CasasDecimais._vUnCom := '###,###,###,##0.00000######'; Talvez seja uma solução , mas....( Façam seus comentários para ajudar na tomada de decisão )
  6. Danfe em Fortes Segue unit para testes Danfe Fortes para os casos acima ACBrNFeDANFeRL.pas ACBrNFeDANFeRLPaisagem.pas ACBrNFeDANFeRLRetrato.dfm ACBrNFeDANFeRLRetrato.pas ACBrNFeDANFeRLClass.pas ACBrNFeDANFeRLPaisagem.dfm
  7. Segue para testes; Nova propriedade fQuebraLinhaEmVeiculos : Boolean; Novo tratamento em ManterVeiculos para os casos acima. ACBrNFeDANFEFR.pas ACBrNFeDANFEFRDM.pas
  8. Regis , não pode ser criada uma propriedade para controlar o ManterVeiculo ? Para este caso de quebrar ou não. Não esqueça que existe o ManterVeiculo na Danfe, em Fortes Report também. Exemplo : Function TACBrNFeFRClass.ManterVeiculos( inItem: integer ) : String; Var sQuebraLinha : String; begin Result := ''; { detalhamento especifico de veículos } with FNFe.Det.Items[inItem].Prod do begin if veicProd.chassi > '' then begin // Criar a propriedade no componente bQuebraLinha if bQuebraLinha then sQuebraLinha := ';' else sQuebraLinha := ' - ' //---------------- Result := sQuebraLinha; Result := Result + ACBrStr('TIPO DE OPERAÇÃO: ' + VeiculosTipoOperStr( veicProd.tpOP ) ) + sQuebraLinha; Result := Result + ACBrStr('CHASSI: ' )+ veicProd.chassi + sQuebraLinha; Result := Result + ACBrStr('CÓDIGO DA COR: ' )+ veicProd.cCor + sQuebraLinha; Result := Result + ACBrStr('NOME DA COR: ') + veicProd.xCor + sQuebraLinha; Result := Result + ACBrStr('POTÊNCIA DO MOTOR: ') + veicProd.pot + sQuebraLinha; Result := Result + ACBrStr('CILINDRADAS: ') + veicProd.Cilin + sQuebraLinha; Result := Result + ACBrStr('PESO LÍQUIDO: ') + veicProd.pesoL + sQuebraLinha; Result := Result + ACBrStr('PESO BRUTO: ' )+ veicProd.pesoB + sQuebraLinha; Result := Result + ACBrStr('NÚMERO DE SÉRIE: ') + veicProd.nSerie + sQuebraLinha; Result := Result + ACBrStr('COMBUSTÍVEL: ' + VeiculosCombustivelStr( veicProd.tpComb ) ) + sQuebraLinha; Result := Result + ACBrStr('NÚMERO DO MOTOR: ') + veicProd.nMotor + sQuebraLinha; Result := Result + ACBrStr('CAP. MÁX. TRAÇÃO: ') + veicProd.CMT + sQuebraLinha; Result := Result + ACBrStr('DISTÂNCIA ENTRE EIXOS: ') + veicProd.dist + sQuebraLinha; Result := Result + ACBrStr('ANO DO MODELO: ' )+ IntToStr(veicProd.anoMod) + sQuebraLinha; Result := Result + ACBrStr('ANO DE FABRICAÇÃO: ') + IntToStr(veicProd.anoFab) + sQuebraLinha; Result := Result + ACBrStr('TIPO DE PINTURA: ') + veicProd.tpPint + sQuebraLinha; Result := Result + ACBrStr('TIPO DE VEÍCULO: ' + VeiculosTipoStr( veicProd.tpVeic ) )+ sQuebraLinha; Result := Result + ACBrStr('ESPÉCIE DO VEÍCULO: ' +VeiculosEspecieStr( veicProd.espVeic )) + sQuebraLinha; Result := Result + ACBrStr('VIN (CHASSI): ' + VeiculosVinStr( veicProd.VIN ) )+ sQuebraLinha; Result := Result + ACBrStr('CONDIÇÃO DO VEÍCULO: ' +VeiculosCondicaoStr( veicProd.condVeic)) + sQuebraLinha; Result := Result + ACBrStr('CÓDIGO MARCA MODELO: ') + veicProd.cMod + sQuebraLinha; Result := Result + ACBrStr('CÓDIGO COR DENATRAN: ' +VeiculosCorDENATRANSTr( veicProd.cCorDENATRAN )) + sQuebraLinha; Result := Result + ACBrStr('CAP.MÁXIMA DE LOTAÇÃO: ') +IntToStr(veicProd.lota) + sQuebraLinha; Result := Result + ACBrStr('RESTRIÇÃO: ' +VeiculosRestricaoStr( veicProd.tpRest ) )+ ';'; end; end; end;
  9. O mesmo erro na versão em Lasarus .
  10. Seja bem vindo ao mundo open-source. Espero que seje feliz na sua empreitada.
  11. Obrigado
  12. C:\Delphi Files\Componentes - DXE10\Acbr\Fontes\ACBrComum\ACBrUtil.pas(3365) Warning: W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit. C:\Delphi Files\Componentes - DXE10\Acbr\Fontes\ACBrDFe\ACBrDFeWebService.pas(377) Error: E2003 Undeclared identifier: 'ACBrStrToUTF8'
  13. Post Somente as AcbrNfeDanfeRLClass, AcbrNfeDanfeRLRetrato, AcbrNFEDanfeClass e AcbrNfeDanfeRL; Atualize elas para ficar compativel com svn, Ficou dificil de entender;
  14. Pq nao usa as feitas em FastReport ?
  15. Qual danfe q apresenta este erro de impressão em duplicidade ?
  16. No xml_primeira_parcela_avista ..esta sendo informado as Tag Fatura e Duplicata.. ao mesmo tempo. Verifique o que deseja no seu sistema.
  17. Teste de Impressão no Demo com a Danfe - Fast Report ( DANFeRetrato.Fr3 ). Impressão da Danfe na aplicação em produção.
  18. hleorj

    Erro ao compila demo nfe

    Apos Atualização; O Campo Prod.nItemPed foi modificado o tipo. Antes era Integer passou para String; Ocasionando erro de compilacao do demo nfe. De trvwNFe.Items.AddChild(NodeItem,'nItemPedido=' +InToStr(Prod.nItemPed)) ; Para trvwNFe.Items.AddChild(NodeItem,'nItemPedido=' +Prod.nItemPed) ;
  19. 1 - Danfe´s com impressão dos devidos campos,. Estará fora do padrão . 2 - Danfe´s do componente não saem impressos os devidos campos. Você pode alterar as Danfe´s para atender as suas necessidades. conforme o manual de integração.
  20. Segue Link : http://www.receita.fazenda.gov.br/Legislacao/Resolucao/2007/CGSN/Resol10.htm § 5º Na hipótese de devolução de mercadoria a contribuinte não optante pelo Simples Nacional, a ME e a EPP farão a indicação no campo "Informações Complementares", ou no corpo da Nota Fiscal Modelo 1, 1-A, ou Avulsa, da base de cálculo, do imposto destacado, e do número da Nota Fiscal de compra da mercadoria devolvida, observado o disposto no art. 10.
  21. Bom dia, Também é comum, em notas de devolução de uma empresa do Simples Nacional para uma empresa do regime normal, que se preencha a Base de Cálculo e Valor do ICMS, a fim de a empresa do regime normal creditar novamente o imposto. Nesse caso usamos o CSOSN 900, e preenchemos os campos do ICMS normal, sem ICMS ST. Com essa alteração, o ICMS será mostrado no DANFE? Empresas enquadradas o regime de simples nacional NÃO fazem destaque da base de cálculo do ICMS e o valor do ICMS , assim como a taxa do IPI e valor do IPI conforme a LEI do Simples Nacional. Entre em contato com o contador para tomar ciência dos procedimento de devolução.
  22. Leia o manual de integração. e verifique o padrão da DANFE.
  23. Mas um pouco delayed http://blogs.embarcadero.com/abauer/2009/08/25/38894 http://www.drbob42.com/examine/examinC1.htm
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...