Function OX004COND()
Local nCntFor, nCntFor2
//###############################################################################
//# Sequencia para zerar condicoes calculadas e deixar apenas as digitadas #
//# caso a condicao de pagamento esteja em branco #
//###############################################################################
//
//#############################################################################
//# Ponto de Entrada para montagem do como pagar #
//#############################################################################
if ExistBlock("OX004ACP")
if !ExecBlock("OX004ACP",.f.,.f.)
Return(.f.)
Endif
Endif
if Empty(cTipPag)
aColsTmp := {}
// monta vetor temporario com as parcelas digitadas
for nCntFor := 1 to Len(oGetP004:aCols)
if !Empty(oGetP004:aCols[nCntFor,FG_POSVAR("VS9_TIPPAG","aHeaderCP")])
if !(oGetP004:aCols[nCntFor,FG_POSVAR("VS9_ENTRAD","aHeaderCP")] $ "N")
aAdd(aColsTmp,oGetP004:aCols[nCntFor])
endif
endif
next
// se nao sobrou nenhuma acrescenta um registro vazio na acols
if Len(aColsTmp) == 0
oGetP004:aCols := { Array(nUsadoE + 1) }
oGetP004:aCols[1,nUsadoE+1] := .F.
For nCntFor:=1 to nUsadoE
oGetP004:aCols[1,nCntFor]:=CriaVar(aHeaderCP[nCntFor,2])
Next
else
oGetP004:aCols :=aClone(aColsTmp)
endif
nTotParc := 0
// monta a acols e calcula o saldo
for nCntFor := 1 to Len(oGetP004:aCols)
if !(oGetP004:aCols[nCntFor,Len(oGetP004:aCols[nCntFor])])
nTotParc += oGetP004:aCols[nCntFor,FG_POSVAR("VS9_VALPAG","aHeaderCP")]
endif
next
nSaldo := nValTot-nTotParc
if VS1->(FieldPos("VS1_VALDUP")) > 0
nSaldo := nValDup-nTotParc
endif
cSaldo := Transform(nSaldo,"@E 999,999,999.99")
oSaldo:CtrlRefresh()
oGetP004:obrowse:refresh()
return .t.
endif