Árvore de páginas

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