Ir para conteúdo
  • Cadastre-se

hleorj

Moderadores
  • Total de ítens

    1.303
  • Registro em

  • Última visita

  • Days Won

    9

Posts postados por hleorj


  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

    Usandofast.png

     

     

    Resultado dos ajustesFast_conf.thumb.png.751ca11fed27a7814ad0

    Segue unit e danfes para testes

    Report.rar

    == Atenção fazer teste exaustivos antes de colocar em produção ==

  2. 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;

  3. 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 );

    TestedeMilhares_e_decimas_Fast_Report.th

    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 ) :)

     

     

     
    • Curtir 1
  4. 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;

  5. 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) ;

     

     

    O mesmo erro na versão em Lasarus .

  6. 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'

  7. Caro hleorj, atualmente estou utilizando para visualização do DANFE o "ACBrNFeDANFeRL".

    Juliomar, fiz a atualização do FortesReport para revisão atual "85" mas o problema ainda persiste. Até tentei debugar para tentar localizar o problema, mas até agora sem sucesso.
    Reportarei esse problema ao Marcio e qualquer novidade posto aqui.

    Sei que o problema não tem nada haver com o ACBr. Pois fiz um relatório para testes (projeto novo) utilizando apenas o componente "FortesReport" a qual também apresentou o mesmo problema.

    Grato

    Pq nao usa as feitas em FastReport ? 

  8. Bom dia André,

    Poderia por gentileza anexar o pacote do Rave. Atualmente estou utilizando o FortesReport  mas o mesmo está com um problema no número de copias. Ex: Caso eu peça 2 copias, está sendo impresso 4, se eu pedir 3 está imprimindo 9 copias.

    Caso esse pacote do Rave funcione como antes (Trunk1) irei utilizá-lo por enquanto, pois meus clientes estão reclamando bastante desse problema.

    Qual danfe q apresenta este erro de impressão em duplicidade ? 

  9. 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) ;

  10. Só para esclarecer...

    Nos sistemas dos nobres colegas, também não estão imprimindo os valores referentes so ICMS ST no DANFE ?

     

    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.

  11. 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.

  12. Bom dia,

    Os campos obrigatórios e demais padrões do DANFE estão definidos no "Manual de Orientações do Contribuinte". 

    http://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=33ol5hhSYZk=

     

    Bom dia Dércio,

    Fiz uma alteração no DANFE em Quick Report, agora quando for Simples Nacional em vez de imprimir a BC do ICMS e valor do ICMS vai imprimir a BC ICMS ST e o valor do ICMS ST.

    Detalhe essa alteração foi feita no DANFE que esta disponível no repositório Trunk2.

    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. 

     

×
×
  • 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...