Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Descrição:

Ponto de entrada executado na rotina de Bens Padrão (MNTA170) que realiza a gravação de dados de folder novo 

Localização:SIGAMDI: Atualizações/Controle de Oficina/Bens/Bens Padrão

Programa Fonte:

MNTA170.prx

Função:

MNTA1704()

Retorno:

NomeTipoDescriçãoObrigatório
lRetLógicoCaso as validações estejam corretas, retorna verdadeiro (.T.)X
Bloco de código
titleExemplo do Ponto de Entrada MNTA1704()
#Include 'Protheus.ch'

User Function MNTA1704()

	    Local lRet := .t.
	    Local nX,
	aHeadTPF  nYnTAREF:= NGHeader('TPF')
	nCodFam := aSCAN(oGet:aHeaderaHeadTPF,{|x| TRIM(UPPER(x[2])) == "PA0TPF_TAREFACODFAM"})
	nETAPA    nServic := aSCAN(oGet:aHeaderaHeadTPF,{|x| TRIM(UPPER(x[2])) == "PA0TPF_ETAPASERVIC"})
	nINCRE    nSeqRel := aSCAN(oGet:aHeaderaHeadTPF,{|x| TRIM(UPPER(x[2])) == "PA0TPF_INCREMSEQREL"})

	    If nOPCAO == 3 .or. nOPCAO == 4
		        dbSelectArea("PA0TPF")
		        dbSetOrder(01)
		        For nX:=1 To Len(oGet:aCols)
			            If !oGet:aCols[nX,len(oGet:aCols[nX])] .and. (!Empty(oGet:aCols[nX,nTAREFnCodFam]) .or. ;
			            !Empty(oGet:aCols[nX,nETAPAnServic]) .or. oGet:aCols[nX,nINCREnSeqRel] <> 0)
				                If (Empty(oGet:aCols[nX,nTAREFnCodFam]) .or. Empty(oGet:aCols[nX,nETAPAnServic]) .or. oGet:aCols[nX,nINCREnSeqRel] ==  0)
					                    lRet := .f.
				EndIf
			EndIf
		Next nX
		If lRetfLimpaPA0(M->TP9_CODFAM,M->TP9_TIPMOD)
			                EndIf
            EndIf
        Next nX
        If lRet
            For nX:=1 To Len(oGet:aCols)
				                If !Dbseek(xFilial("PA0TPF")+M->TP9_CODFAM+M->TP9_TIPMOD+oGet:aCols[nX,nTAREFnServic]+oGet:cValtoChar(aCols[nX,nETAPAnSeqRel])) ;
				                .and. !oGet:aCols[nX,len(oGet:aCols[nX])] .and. !Empty(oGet:aCols[nX,nTAREFnCodFam])
					                    RecLock("PA0TPF",.T.)
					PA0->PA0                    TPF->TPF_FILIAL := xFilial("PA0TPF")
					PA0->PA0_CODFAM:= M->TP9_CODFAM
					PA0->PA0_                    TPF->TPF_TIPMOD:= M->TP9_TIPMOD
					PA0->PA0_TAREFA                    TPF->TPF_CODFAM := oGet:aCols[nX,nTAREF]
					PA0->PA0_ETAPA:= oGet:nCodFam]
                    TPF->TPF_SERVIC:= aCols[nX,nETAPA]
					PA0->PA0_INCREMnServic]
                    TPF->TPF_SEQREL := oGet:aCols[nX,nINCRE]
					nSeqRel]
                    MsUnlock("PA0TPF")
				                ElseIf Dbseek(xFilial("PA0TPF")+M->TP9_CODFAM+M->TP9_TIPMOD+oGet:aCols[nX,nTAREFnServic]+oGet:cValtoChar(aCols[nX,nETAPAnSeqRel])) ;
				                .and. oGet:aCols[nX,len(oGet:aCols[nX])]
					                    RecLock("PA0TPF",.F.)
					dbDelete()
					MsUnlock("PA0")
				EndIf
			Next nX
		EndIf
		If !lRetmsginfo                    dbDelete()
                    MsUnlock("TPF")
                EndIf
            Next nX
        EndIf
        If !lRet
			MsgInfo("Alguns campos obrigatórios não foram preenchidos."+chr(13)+chr(10)+"Pasta Não Numerados.","ATENÇÃO")
		        EndIf
	    ElseIf nOPCAO = 5
	NGDBAREAORDE("PA0",1)
			dbSetOrder(4)
        If Dbseek(xFilial("PA0TPF")+M->TP9_CODFAM+M->TP9_TIPMOD)
			            While !EOF() .and. PA0TPF->PA0>TPF_CODFAM = M->TP9_CODFAM .and. PA0TPF->PA0>TPF_TIPMOD = M->TP9_TIPMOD
				                RecLock("PA0TPF",.F.)
				                DBDelete()
				                MsUnLock("PA0TPF")
				                DbSkip()
			EndDo
		EndIf
	            EndDo
        EndIf
    EndIf

Return lRet