LJ7092 - Ajuste dos Dados na Conferência de Caixa

Descrição:

Este Ponto de Entrada , quando criado, apresenta um botão adicional na tela de Conferência de Caixa, permitindo alterar os dados de fechamento.

Eventos:

Este Ponto de Entrada será executado após pressionar a opção Ajustar, presente na tela de Conferência de Caixa.
Não há retorno na função, e a manipulação será no aCols de dados de conferência que é passado para o Ponto de entrada em PARAMIXB.

Programa Fonte:

LOJA057

Parâmetros:

NomeTipoDescrição
ParamIxb[1]Array

aCols de dados de conferência

Retorno:

Não há

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