Ponto de Entrada
Descrição: | O ponto de entrada ATF060GRV grava dados adicionais na rotina de Transferências de Ativos de filiais diferentes. |
Localização: | Movimentos/Transferência |
Observação | Este ponto de entrada ao ser posicionado na tabela SN4 grava as tabelas SN3 e SN4. |
Eventos: | Informe o Título da rotina |
Programa Fonte: | ATFA060.PRX |
Retorno: | Nulo |
Exemplo:
#Include "PROTHEUS.CH" #include "FWMVCDEF.CH"
User Function ATF060GRV()
Local aArea := GetArea()
Local aAreaSN4 := SN4->(GetArea())
Local oModel := ParamIXB[1]
Local oAtivo := Nil
Local oSaldo := Nil
Local aSaveLine := {}
Local nLinAtivo := 0
Local nLinSaldo := 0
//Dados do bem
Local dDataTrans := SToD("")
Local cFilDest := ""
Local cFilOrig := ""
Local cBem := ""
Local cItem := ""
Local cData := ""
//Dados do tipo de saldo
Local cTipoSld := ""
Local cSeq := ""
Local lAux := .T.
//Obtem o submodelo.
oAtivo := oModel:GetModel("GridFNR")
oSaldo := oModel:GetModel("GridFNS")
//Guarda a posição das linhas
aSaveLine := FwSaveRows()
//Efetua laço nos bens a serem transferidos
For nLinAtivo := 1 to oAtivo:Length()
oAtivo:GoLine(nLinAtivo)
cFilDest := oAtivo:GetValue("FNR_FILDES")
cFilOrig := oAtivo:GetValue("FNR_FILORI")
dDataTrans := oAtivo:GetValue("FNR_DATA")
cBem := oAtivo:GetValue("FNR_CBAORI")
cItem := oAtivo:GetValue("FNR_ITEORI")
cData := oAtivo:GetValue("FNR_DATA")
//Efetua laço nos saldos do bem posicionado
For nLinSaldo := 1 To oSaldo:Length()
oSaldo:GoLine(nLinSaldo)
cTipoSld := oSaldo:GetValue("FNS_TIPO")
cSeq := oSaldo:GetValue("FNS_SEQ")
DbSelectArea("SN4")
SN4->(DbSetOrder(1)) //N4_FILIAL+N4_CBASE+N4_ITEM+N4_TIPO+DTOS(N4_DATA)+N4_OCORR+N4_SEQ
If SN4->(DbSeek(xFilial("SN4",cFilOrig)+cBem+cItem+cTipoSld+DTOS(cData)+"04"+cSeq))
RecLock("SN4",.F.)
SN4->N4_XTESTE := "Alteração na SN4 realizada"
SN4->(MsUnLock())
MsgAlert(SN4->N4_XTESTE)
Endif
Next nLinSaldo
Next nLinAtivo
//Restaura a posição das linhas
FwRestRows(aSaveLine)
RestArea(aAreaSN4)
RestArea(aArea)
Return