;** FT_CUSTO *******************************************************************
;*  Calculo do Custo Unitario - NotaEC e NotaEPV                               *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 25/05/2015 por Bruno Carvalho           
;Ultima Alteracao: 16/03/2016 por Anivel Augusto Rodrigues   
;Motivo Alteracao: Novo calculo Diferencial Aliquota ICMS a partir de 01.01.2016
;Ultima Alteracao: 02/07/2016 por Kamila Gomes   
;Motivo Alteracao: Ajustes calculo DifAl ICMS e vari veis
;Ultima Alteracao: 12/07/2016 por Kamila Gomes   
;Motivo Alteracao: Ajustes calculo DifAl ICMs na ALIQ_ICMS_ORIGEM 
;Ultima Alteracao: 19/07/2016 por Kamila Gomes   
;Motivo Alteracao: Ajustes calculo DifAl ICMs quando empresa ‚ Simples nacional
;Ultima Alteracao: 27/07/2016 por Bruno Carvalho   
;Motivo Alteracao: Adicionado no GetRecord "Empresas" -> TPEMPR    ** NotaEPV play FT_CUSTO
;Ultima Alteracao: 19/10/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes devolu‡Ćo/tansferencia nĆo altera custo medio
;Ultima Alteracao: 19/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes getrecord itens
;Ultima Alteracao: 14/03/2017 por Anivel Augusto Rodrigues   
;Motivo Alteracao: Ajustes adiocina DifAl ICMs quando item de terceiro, sem ST e parametro SIM (Acrescentrar dif. de Aliq. no Custo..)
;Ultima Alteracao: 23/03/2017 por Anivel Augusto Rodrigues   
;Motivo Alteracao: Ajustes adiocina DifAl ICMs quando item de terceiro, sem ST, nao Isento.. e parametro SIM (Acrescentrar dif. de Aliq. no Custo..)
;Ultima Alteracao: 23/03/2017 por Anivel Augusto Rodrigues   
;Motivo Alteracao: Ajustes pesquia se item st=60
;Ultima Alteracao: 03/07/2017 por Anivel Augusto Rodrigues   
;Motivo Alteracao: Ajustes Gravar no NotaEI diferencial de aliquota
;Ultima Alteracao: 19/01/2018 por Anivel Augusto Rodrigues   
;Motivo Alteracao: Ajustes CST para diferencial de aliquota
;Ultima Alteracao: 01/08/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: ajustes [ICMS_Valor_Desonerado] FCP_ST_Valor]
;Ultima Alteracao: 12/08/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: ajustes diferen‡a de aliquota se bcicms=0
;Ultima Alteracao: 20/01/2021 por Anivel Augusto Rodrigues
;Motivo Alteracao: ajustes clietne confec‡Ćo +ipi no custo  

;*******************************************************************************
;* Rotina para Calculo do Custo Unitario                                       *
;*******************************************************************************
Proc Calc_Custo_Unitario()
Private VR_ICMSDB, VR_ICMSCR, VR_COFINSDB, VR_COFINSCR, VR_BASE,
        RSD_BCSUBST, RSD_VRSUBST, RSD_VRACRESC, TXPROPORC,VR_DIF_ICMS,AUX_TPITEM, 
        AUX_CFO, AUX_CODITEM, VR_ALIQICMS, VR_BCICMS, VR_PRECOTOTAL, VR_ICMS_ST,
        VR_IPI, VL_OPR, VR_DESCTOTAL, VR_FRETETOTAL, VR_SEGUROTOTAL, VR_OUTDESPTOTAL,
        TabAnt, a,b,t,i,x, REGItem, calcdif,
        vr_icms, vr_bcicms2, vr_bcicmsd, vr_icms1, vr_icms2,
        INCIDENCIA_DIF_ALIQ_ICMS,vr_icms_origem

TabAnt = Table()

VCU_SINAL_IPI       ="+"
VCU_SINAL_ICMSCR    =":"
VCU_SINAL_ICMSDB    =":"
VCU_SINAL_COFINSCR  =":"
VCU_SINAL_COFINSDB  =":"
VCU_SINAL_PIS       =":"
VCU_SINAL_AJUSTES   =":"
VCU_SINAL_ACR_DESC  ="+"

TIT_COFINSCR        ="COFINS.."
TIT_COFINSDB        ="........"
TIT_ICMSCR          ="ICMS...."
TIT_ICMSDB          ="........"
TIT_PIS             ="PIS....."

VCU_Preco_Unitario  =BlankNum()
VCU_Desconto        =BlankNum()
VCU_Acrescimos      =BlankNum()
VCU_IPI             =BlankNum()
VCU_VR_SUBST        =BlankNum()

VCU_COFINSCR        =BlankNum()
VCU_COFINSDB        =BlankNum()
VCU_ICMSDB          =BlankNum()
VCU_ICMSCR          =BlankNum()
VCU_PIS             =BlankNum()
VCU_AJUSTES         =BlankNum()
VCU_DIF_ICMS        =BlankNum()
VCU_FRETE           =BlankNum()
VCU_SEGURO          =BlankNum()
VCU_OUTDESP         =BlankNum()
VCU_ACRE_DESC       =BlankNum()
VCU_SERVICO         =BlankNum()
VCU_DNTRIB          =BlankNum()
VCU_FCPST           =BlankNum()

VCU_BC_PrVenda      =BlankNum()
VCU_VrIndice_PrVenda=BlankNum()

VR_ICMSDB           =BlankNum()
VR_ICMSCR           =BlankNum()
VR_COFINSDB         =BlankNum()
VR_COFINSCR         =BlankNum()
VR_BASE             =BlankNum()
VR_DIF_ICMS         =BlankNum()
VR_FRETE            =BlankNum()
VR_SEGURO           =BlankNum()
VR_OUTDESP          =BlankNum()
VR_ACRE_DESC        =BlankNum()
VR_SERVICO          =BlankNum()
VR_DESCTO           =BlankNum()
VR_DNTRIB           =BlankNum()
VR_FCPST            =BlankNum()

AUX_TPITEM         = [Tipo do Item        ]
AUX_CFO            = [CFO                 ]
AUX_CODITEM        = [Codigo do Item      ]
VR_ALIQICMS        = [Aliquota de ICMS    ]
VR_BCICMS          = [ICMS_BC             ]
vr_icms            = [Valor do ICMS       ]
VR_ICMS_ST         = [ICMS_ST_Valor       ]
VR_IPI             = [Valor do IPI        ]
VR_PRECOTOTAL      = [Preco Total         ]
VR_DESCTOTAL       = [Valor Desconto Total]
VR_FRETETOTAL      = [Valor Frete Total   ] 
VR_SEGUROTOTAL     = [Valor Seguro Total  ] 
VR_OUTDESPTOTAL    = [Valor OutDesp Total ]
VR_DNTRIB          = [ICMS_Valor_Desonerado]
VR_FCPST           = [FCP_ST_Valor         ]
VRACRESC           = 0

Item_CST_ICMS   = ""
Item_CST_PIS    = ""
Item_CST_COFINS = ""
TP_CST_PIS      = "N"
TP_CST_COFINS   = "N"

ALIQ_ICMS_EMPR          = BlankNum()
VR_DIF_ICMS             = BlankNum()
INCIDENCIA_DIF_ALIQ_ICMS=""
      
UnLockRecord      
If PARAM_FTCUSTO  = "NOTAEPV"
   Then Moveto Tabela
   Else Moveto "NotaEC"
EndIf

VRMERC          = [Valor Mercadoria ]
PORC_IT_TOTAL   = (VR_PRECOTOTAL/VRMERC)*100
TXDESCTO        = ([Valor Desconto]/VRMERC)*100
TPOPER          = [Tipo de Operacao ]
TP_RATEIO_ITENS = [Inf_Rateios Itens]

If TP_RATEIO_ITENS = "1" 
   Then VR_DESCTO    =([Valor Desconto           ]*PORC_IT_TOTAL)/100
        VR_FRETE     =([Valor do Frete           ]*PORC_IT_TOTAL)/100
        VR_SEGURO    =([Valor do Seguro          ]*PORC_IT_TOTAL)/100
        VR_OUTDESP   =([Valor Despesas Acessorias]*PORC_IT_TOTAL)/100
   Else VR_DESCTO    = VR_DESCTOTAL    
        VR_FRETE     = VR_FRETETOTAL   
        VR_SEGURO    = VR_SEGUROTOTAL  
        VR_OUTDESP   = VR_OUTDESPTOTAL 
EndIf
VR_ACRE_DESC = ([Valor Acrescimos_Desctos ]*PORC_IT_TOTAL)/100
VR_SERVICO   = ([Valor Servico            ]*PORC_IT_TOTAL)/100

Switch
  Case IsBlank([Valor Acrescimos_Desctos ]) : VCU_SINAL_ACR_DESC   =":"
  Case [Valor Acrescimos_Desctos ]>0        : VCU_SINAL_ACR_DESC   ="+"
  Case [Valor Acrescimos_Desctos ]<0        : VCU_SINAL_ACR_DESC   ="-"
EndSwitch

VL_OPR=(VR_PRECOTOTAL-VR_DESCTO)+VR_IPI+VR_ICMS_ST+VR_FRETE+VR_SEGURO+VR_OUTDESP

GetRecord "\\Sistemas\\Estoque\\Itens" AUX_CODITEM To REGItem
If RetVal
 Then Item_CST_PIS   =REGItem["PIS_CST"]
      Item_CST_COFINS=REGItem["COFINS_CST"]
      Item_CST_ICMS  =REGItem["Tipo Tributacao"]
      
      If Item_CST_COFINS<>""
         Then TP_CST_PIS   =Checa_CST("COFINS","S",Item_CST_COFINS)
      EndIf
      If Item_CST_PIS<>""
         Then TP_CST_COFINS=Checa_CST("PIS","S",Item_CST_PIS)
      EndIf    
EndIf

GetRecord "\\Sistemas\\Cadastro\\Empresas" [Codigo da Empresa] To EMPRESA 
If RetVal
  Then UFEMP  = EMPRESA["UF Empresa"]
       TPEMPR = EMPRESA["Tipo da Empresa"] 
  Else UFEMP  = ""
       TPEMPR = "??"  
EndIf

If [UF]<>UFEMP and UFEMP<>""
  Then GetRecord "\\Sistemas\\Vendas\\Estados" UFEMP To UFEMPR
       If RetVal
         Then ALIQ_ICMS_EMPR = UFEMPR["Aliquota de ICMS"]
       EndIf
EndIf

;--- ICMS C lculo Diferencial de Aliquota -------------------------------------- 
calcdif                   = false

If ( substr(AUX_CFO,1,3)      ="255" And     ; 255.. uso, consumo e imobilizado
     Search(SubStr(Item_CST_ICMS,2,2),"40,41,50,60")=0 )
    or
   ( substr(AUX_CFO,1,3)      ="235" And     ; aquisi‡Ćo de servi‡o de transporte
    [Tipo de Operacao]        ="A")          ; Aplica‡Ćo Direta
   Then 
        calcdif=true
        INCIDENCIA_DIF_ALIQ_ICMS="1" ; tributo fiscal
   Else 
        If AUX_TPITEM="T" And Search(SubStr(Item_CST_ICMS,2,2),"40,41,50,60")=0 and PARAM_ACRES_DIF_ALIQ_CUST = "S"   
          Then 
               calcdif=true          
               INCIDENCIA_DIF_ALIQ_ICMS="2" ; sem tributo fiscal s˘ no custo do item
       endif    
endif    

If calcdif
   Then if VR_ALIQICMS>0  ;aliquota do item
           Then 
                ALIQ_ICMS_ORIGEM=VR_ALIQICMS
                bc_icms_difaliq =VR_BCICMS
                vr_icms_origem  =vr_icms
                
                if bc_icms_difaliq<=0 then bc_icms_difaliq=VL_OPR endif 
           else
                GetRecord "\\Sistemas\\Vendas\\Estados" [UF] to reg_uf
                If RetVal
                   Then ALIQ_ICMS_ORIGEM=reg_uf["Aliquota de ICMS"]
                   else ALIQ_ICMS_ORIGEM=0
                EndIf
                If ALIQ_ICMS_ORIGEM<=0
                   then MSG=    "O Estado de ["+[UF]+"], sem % ICMS para//"
                        MSG=MSG+"calculo do diferencial de alˇquota.                   // //"
                        MSG=MSG+"Verificar no cadastro de Estados a sua alˇquota//"
                        MSG=MSG+"interestadual !                                "
                        Mensagem(MSG)
                EndIf
           
                bc_icms_difaliq=VL_OPR
                vr_icms_origem = Round((bc_icms_difaliq * ALIQ_ICMS_ORIGEM)/100,2) 
        endif          
        If ALIQ_ICMS_ORIGEM>0 And ALIQ_ICMS_ORIGEM<ALIQ_ICMS_EMPR
           then 
                switch
                  case [Data de Entrada]<DateVal("01.01.2016") Or substr([Tipo do Documento],1,2)="CT":
                    vr_dif_icms=Round((bc_icms_difaliq*(ALIQ_ICMS_EMPR-ALIQ_ICMS_ORIGEM))/100,2)  
                  
                  otherwise:
                    vr_bcicms2 = bc_icms_difaliq-vr_icms_origem
                    vr_bcicmsd = Round(vr_bcicms2 / (1-(ALIQ_ICMS_EMPR/100)),2)
                
                    vr_icms1   = Round((vr_bcicmsd * ALIQ_ICMS_EMPR) /100,2)
                    vr_icms2   = Round((bc_icms_difaliq * ALIQ_ICMS_ORIGEM) /100,2)
                    
                    vr_dif_icms=vr_icms1-vr_icms2
                
                endswitch
        EndIf 
EndIf  
   
VRACRESC = VR_FRETE+VR_SEGURO+VR_OUTDESP+VR_ACRE_DESC+VR_SERVICO+VR_DIF_ICMS

UnLockRecord
Moveto TabAnt
[Preco Total        ] = VR_PRECOTOTAL
If PARAM_FTCUSTO  = "NOTAEPV"
   Then [Valor Desconto Total]=NDecimal((VR_PRECOTOTAL*TXDESCTO)/100,5)
EndIf
[INCIDENCIA DIF_ALIQ_ICMS]=INCIDENCIA_DIF_ALIQ_ICMS
[VALOR DIF_ALIQ_ICMS     ]=vr_dif_icms

If Not TipoItem_ControlaEstoque(AUX_TPITEM) or
   TPOPER="A" Or
   TPOPER="D" Or
   TPOPER="T"
   Then VSD_I_Preco_Venda   =BlankNum()
        VSD_I_Preco_VendaI  =BlankNum()

        if TPOPER="D" Or
           TPOPER="T"
           then return
        endif        
   
        If [Quantidade]>0
           Then Divisor_Custo=[Quantidade]
           Else Divisor_Custo=1
        EndIf

        [Custo Medio Unitario]=[Preco Total         ]-VR_DESCTO
        [Custo Medio Unitario]=[Custo Medio Unitario]+[Valor Acrescimo Total]+[ICMS_ST_Valor]+[Valor do IPI]
        [Custo Medio Unitario]=[Custo Medio Unitario]-[ICMS_Valor_Desonerado]+[FCP_ST_Valor         ]
        [Custo Medio Unitario]=NDecimal(([Custo Medio Unitario]/Divisor_Custo),5)
        VSD_I_Custo_Unitario=[Custo Medio Unitario]
        Return
EndIf

if sys_cliente_confec="" and (AUX_TPITEM="M" Or AUX_TPITEM="E") And TPOPER="C"
   Then VCU_SINAL_IPI=":"
EndIf

If PARAM_CALC_COFLUCR="S"
   Then TIT_COFINSDB        = "COFINS/DB"
        VCU_SINAL_COFINSDB  = "+"
        If PARAM_USA_COFINS_DBCR="S" And TP_CST_COFINS = "C"
           Then TIT_COFINSCR       = "COFINS/CR"
                VCU_SINAL_COFINSCR = "-"
        EndIf

        TIT_ICMSCR      ="ICMS/CR.."
        VCU_SINAL_ICMSCR="-"
        TIT_ICMSDB      ="ICMS/DB.."
        VCU_SINAL_ICMSDB="+"                
   Else If PARAM_CCE_SUBICMS="S" 
           Then TIT_ICMSCR      ="ICMS/CR.."
                VCU_SINAL_ICMSCR="-"
        EndIf
        If PARAM_CCE_SUBCOFINS="S" And TP_CST_COFINS = "C"
           Then TIT_COFINSCR      ="COFINS/CR"
                VCU_SINAL_COFINSCR="-"
        EndIf
EndIf

Switch
  Case IsBlank([Valor Acrescimos_Desctos]) : VCU_SINAL_AJUSTES   =":"
  Case [Valor Acrescimos_Desctos]>0        : VCU_SINAL_AJUSTES   ="+"
  Case [Valor Acrescimos_Desctos]<0        : VCU_SINAL_AJUSTES   ="-"
EndSwitch

If AUX_TPITEM="T" And TPOPER="C" And PARAM_CCE_SUBPIS="S" And TP_CST_PIS = "C"
   Then TIT_PIS       = "PIS/CR..."
        VCU_SINAL_PIS = "-"
EndIf

[Custo Medio Unitario]=[Preco Total]-VR_DESCTO
If [Quantidade]>0
   Then Divisor_Custo=[Quantidade]
   Else Divisor_Custo=1
EndIf

If PARAM_CALC_COFLUCR="S" 
   Then
        [Custo Medio Unitario]=[Custo Medio Unitario]+VRACRESC
        [Custo Medio Unitario]=[Custo Medio Unitario]+[ICMS_ST_Valor        ]
        [Custo Medio Unitario]=[Custo Medio Unitario]+[Valor do IPI         ]
        [Custo Medio Unitario]=[Custo Medio Unitario]-[ICMS_Valor_Desonerado]
        [Custo Medio Unitario]=[Custo Medio Unitario]+[FCP_ST_Valor         ]
        [Custo Medio Unitario]=NDecimal(([Custo Medio Unitario]/Divisor_Custo),5)
        
        If TP_CST_COFINS = "C"
           Then VR_BASE  =[Custo Medio Unitario]+(([Custo Medio Unitario]*PARAM_TAXA_LUCRATIV)/100)
                VR_COFINSDB=(VR_BASE*PARAM_TAXA_COFINS)/100
        EndIf

        If SYS_CODIGO_CLIENTE="0117" And SubStr(Directory(),1,1)="V"
           Then VR_COFINSDB=0
        EndIf

        [Custo Medio Unitario]=[Custo Medio Unitario]+VR_COFINSDB

        If PARAM_USA_COFINS_DBCR="S" And TP_CST_COFINS = "C"
           Then VR_BASE=NDecimal((([Preco Total]-VR_DESCTO)/Divisor_Custo),2)
                VR_COFINSCR=(VR_BASE*PARAM_TAXA_COFINS)/100
                [Custo Medio Unitario]=[Custo Medio Unitario]-VR_COFINSCR
        EndIf

        VR_BASE  =[Custo Medio Unitario]+(([Custo Medio Unitario]*PARAM_TAXA_LUCRATIV)/100)
        VR_BASE  =VR_BASE-((VR_BASE*VSD_I_RD_ICMS_SAIDA)/100)
        VR_ICMSDB=(VR_BASE*VSD_I_TX_ICMS_SAIDA)/100

        If SYS_CODIGO_CLIENTE="0117" And SubStr(Directory(),1,1)="V"
           Then VR_ICMSDB=0
        EndIf

        [Custo Medio Unitario]=[Custo Medio Unitario]+VR_ICMSDB
        
        VCU_ICMSCR     =([Valor do ICMS])/Divisor_Custo
        [Custo Medio Unitario]=[Custo Medio Unitario]-VCU_ICMSCR

        VCU_COFINSDB   =VR_COFINSDB
        VCU_COFINSCR   =VR_COFINSCR
        VCU_ICMSDB     =VR_ICMSDB   

   Else 
        [Custo Medio Unitario]=[Custo Medio Unitario]-[ICMS_Valor_Desonerado]
        [Custo Medio Unitario]=[Custo Medio Unitario]+[FCP_ST_Valor         ]
        [Custo Medio Unitario]=NDecimal(([Custo Medio Unitario]/Divisor_Custo),5)
        If PARAM_CCE_SUBICMS = "S"
           Then VCU_ICMSCR  =([Valor do ICMS])/Divisor_Custo
                [Custo Medio Unitario]=[Custo Medio Unitario]-VCU_ICMSCR
        EndIf
        If PARAM_CCE_SUBCOFINS = "S" And TP_CST_COFINS = "C"
           Then VR_BASE     =NDecimal((([Preco Total]-VR_DESCTO)/Divisor_Custo),2)
                VCU_COFINSCR=(VR_BASE*PARAM_TAXA_COFINS)/100           
                [Custo Medio Unitario]=[Custo Medio Unitario]-VCU_COFINSCR
        EndIf
        [Custo Medio Unitario]=[Custo Medio Unitario]+((VRACRESC+[ICMS_ST_Valor])/Divisor_Custo)
EndIf

VCU_VR_SUBST=NDecimal(([ICMS_ST_Valor]/Divisor_Custo),5)    

If PARAM_CCE_SUBPIS = "S" And TP_CST_PIS = "C"
   Then VR_BASE    =NDecimal((([Preco Total]-VR_DESCTO)/Divisor_Custo),2)
        VCU_PIS    =(VR_BASE*PARAM_TAXA_PIS)/100           
        [Custo Medio Unitario]=[Custo Medio Unitario]-VCU_PIS
EndIf

If VCU_SINAL_IPI="+"
   Then VCU_IPI                = [Valor do IPI ]/Divisor_Custo
        [Custo Medio Unitario] = [Custo Medio Unitario]+VCU_IPI
EndIf
[Custo Medio Unitario]=[Custo Medio Unitario]+[Valor Acrescimos_Desctos]
[Custo Medio Unitario]=NDecimal([Custo Medio Unitario],5)

If PARAM_FTCUSTO = "NOTAEC"
   Then If INC_COMPRA
           Then Return
        EndIf   
EndIf

If [Quantidade]>0
   Then VCU_Preco_Unitario=[Preco Unitario]
   Else VCU_Preco_Unitario=[Preco Total]+[Valor Desconto Unitario]+(VR_DESCTO/Divisor_Custo)
EndIf
VCU_Desconto   =[Valor Desconto Unitario]+(VR_DESCTO/Divisor_Custo)
VCU_Acrescimos =VRACRESC/Divisor_Custo

VCU_DIF_ICMS  = VR_DIF_ICMS/Divisor_Custo 
VCU_FRETE     = VR_FRETE/Divisor_Custo    
VCU_SEGURO    = VR_SEGURO/Divisor_Custo   
VCU_OUTDESP   = VR_OUTDESP/Divisor_Custo  
VCU_ACRE_DESC = VR_ACRE_DESC/Divisor_Custo
VCU_SERVICO   = VR_SERVICO/Divisor_Custo  

VCU_DNTRIB    = VR_DNTRIB/Divisor_Custo
VCU_FCPST     = VR_FCPST/Divisor_Custo

VCU_AJUSTES    =[Valor Acrescimos_Desctos]
VCU_BC_PrVenda =BlankNum()
VCU_VrIndice_PrVenda=BlankNum()

VSD_I_Custo_Unitario = [Custo Medio Unitario]                                                          
VSD_I_Ct_Unitario    = NDecimal(((VSD_I_Custo_Unitario*Divisor_Custo)/VSD_I_Quantidade_Convertida),5)

If Not IsBlank(VSD_I_Indice_PrVenda) And PARAM_ATTAB_PRECO="S"
   Then If PARAM_BCPV_SUBICMS="S"
           Then If PARAM_CCE_SUBICMS="S"
                   Then VCU_BC_PrVenda = VSD_I_Custo_Unitario
                   Else VCU_BC_PrVenda = VSD_I_Custo_Unitario-VCU_ICMSCR
                EndIf
           Else If PARAM_CCE_SUBICMS="S"
                   Then VCU_BC_PrVenda = VSD_I_Custo_Unitario+VCU_ICMSCR
                   Else VCU_BC_PrVenda = VSD_I_Custo_Unitario
                EndIf
        EndIf
        VCU_VrIndice_PrVenda=(VCU_BC_PrVenda*VSD_I_Indice_PrVenda)/100
        VSD_I_Preco_Venda = Round(VCU_BC_PrVenda+VCU_VrIndice_PrVenda,2)
        VSD_I_Preco_VendaI= Round(((VSD_I_Preco_Venda*Divisor_Custo)/VSD_I_Quantidade_Convertida),2)
   Else VSD_I_Preco_Venda = BlankNum()
        VSD_I_Preco_VendaI= BlankNum()
EndIf
UnLockRecord

EndProc ; Calc_Custo_Unitario()

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
If Not IsAssigned(PARAM_FTCUSTO)
   Then Mensagem("N„o h  configura‡„o parametrizada do CUSTO UNITARIO!")
        Return
EndIf   

Calc_Custo_Unitario()
