Exemplo: | #INCLUDE "TOTVS.CH" //--------------------------------------------------------------------------- /*/{Protheus.doc} LJ7092 Validação da conferência
@type function @author Varejo @version P12
@param @return Logical, Retorna .T. /*/ //--------------------------------------------------------------------------- User Function LJ7092() Local aArea := GetArea() Local oFrmPag := ParamIxb[1] Local aRet := {} Local aParamBox := {} Local aCombo := {""} Local nI := 0
Private cCadastro := "Conferência de Caixa"
// -------------------------------------------------------------- // Abaixo está a montagem do vetor que será passado para a função // -------------------------------------------------------------- For nI := 1 To Len(oFrmPag:aCols) If oFrmPag:aCols[nI,5] > 0 .And. oFrmPag:aCols[nI,8] > 0 aAdd(aCombo,oFrmPag:aCols[nI,1]) EndIf Next nI
aAdd(aParamBox,{2,"Forma de pagamento para ajuste",1,aCombo,50,"",.F.}) aAdd(aParamBox,{1,"Valor",0,"@E 999,999,999.99","mv_par02>0","","",70,.T.})
If ParamBox(aParamBox,"Ajustar Valores",@aRet) Processa( {|| AltVlr(oFrmPag, aRet) }, "Alterando..." ) oFrmPag:Refresh() Endif
RestArea(aArea) Return .T.
//--------------------------------------------------------------------------- /*/{Protheus.doc} AltVlr Altera valor
@type function @author Varejo @version P12
@param @return /*/ //--------------------------------------------------------------------------- Static Function AltVlr(oFrmPag, aRet) Local nPos := aScan(oFrmPag:aCols,{|x| AllTrim(x[1]) == aRet[1]})
SLT->(DbSetOrder(1))//LT_FILIAL+LT_OPERADO+DTOS(LT_DTFECHA)+LT_FORMPG If SLT->(DbSeek(xFilial("SLT")+SLW->LW_OPERADO+DtoS(SLW->LW_DTFECHA)+oFrmPag:aCols[oFrmPag:nAt,1])) Reclock("SLT", .F.) SLT->LT_VLRDIG := 0 MsUnlock() EndIf If SLT->(DbSeek(xFilial("SLT")+SLW->LW_OPERADO+DtoS(SLW->LW_DTFECHA)+oFrmPag:aCols[nPos,1])) Reclock("SLT", .F.) SLT->LT_VLRDIG := aRet[2] MsUnlock() EndIf
oFrmPag:aCols[oFrmPag:nAt,7] := 0 oFrmPag:aCols[nPos,7] := aRet[2]
Return |