Histórico da Página
...
| Produto: |
| ||||
|---|---|---|---|---|---|
| Linha de Produto: |
| ||||
| Segmento: |
| ||||
| Módulo: |
| ||||
| Função: | MNTA400, MNTA435 | ||||
| País: | Brasil |
02. DESCRIÇÃO
Descrição: | Ponto de entrada para preencher automaticamente os campos na finalização de O.S. |
Localização: | SIGAMNT: Atualizações/Controle de Oficina/Retorno O.S./Retorno SIGAMNT: Atualizações/Controle de Oficina/Retorno O.S./Retorno Mod. 2 |
Eventos: | Finalização de O.S. Retorno (NG400FIM) Finalização de O.S. Retorno Mod. 2 (fFina435) |
Programa Fonte: | MNTA400.PRX MNTA435.PRX |
Função: | NG400FIM() fFina435() |
03. DEMAIS INFORMAÇÕES
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#include "Protheus.ch"
#include "rwmake.ch"
User Function MNT40012()
//Indica se o ponto de entrada é chamado pela finalização de O.S. do MNTA435
Local lRetMod2 := IsInCallStack("Mnt435Fin")
//Variavel de contador do laço de repetição
Local nX
Local nMdo := 1
//+---------------------------------------------------------------------------------+
//| Variavel de retorno (array), deve receber o conteudo a |
//| ser usado como relação dos campos no modelo: |
//| {"TJ_DTPRINI","SToD('"+DToS(dDtIni)+"')"} |
//| Sendo: |
//| primeira posição o nome do campo que receberá o conteúdo |
//| segunda posição o conteúdo que o campo receberá (o conteúdo deve ser executavel |
//+---------------------------------------------------------------------------------+
Local aArray := {}
//Variaveis com o conteudo a ser passado para a variavel de retorno
Local dDtIni := StoD(Space(TamSx3("TJ_DTPRINI")[1]))
Local cHrIni := Space(TamSx3("TJ_HOPRINI")[1])
Local dDtFim := StoD(Space(TamSx3("TJ_DTPRFIM")[1]))
Local cHrFim := Space(TamSx3("TJ_HOPRFIM")[1])
//Variaveis utilizadas para verificação do acols, quando PE chamado pelo MNTA435
Local aHeader
Local aCols
Local nTpReg
Local nDtIni
Local nHrIni
Local nDtFim
Local nHrFim
If lRetMod2
aHeader := ParamIxb[1]
aCols := ParamIxb[2]
If Len(aHeader) > 0 .And. Len(aCols) > 0 //Verifica se o array de insumos possui conteúdo
//Pega a posição correspondente dos campos
nTpReg := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_TIPOREG"})
nDtIni := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_DTINICI"})
nHrIni := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_HOINICI"})
nDtFim := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_DTFIM"})
nHrFim := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_HOFIM"})
//Efetua a lógica para o valor a ser passado para os campos
For nX := 1 To Len(aCols)
If aCols[nX][nTpReg] == "M" .And. !aCols[nX][Len(aCols[nX])]
If nMdo == 1
dDtIni := aCols[nX][nDtIni]
cHrIni := aCols[nX][nHrIni]
dDtFim := aCols[nX][nDtFim]
cHrFim := aCols[nX][nHrFim]
Else
If DtoS(aCols[nX][nDtIni]) + aCols[nX][nHrIni] < DtoS(dDtIni)+cHrIni
dDtIni := aCols[nX][nDtIni]
cHrIni := aCols[nX][nHrIni]
EndIf
If DtoS(aCols[nX][nDtFim]) + aCols[nX][nHrFim] > DtoS(dDtFim)+cHrFim
dDtFim := aCols[nX][nDtFim]
cHrFim := aCols[nX][nHrFim]
EndIf
EndIf
nMdo++
EndIf
Next nX
EndIf
Else
//Caso não seja chamado pelo MNTA435, indica que o PE foi chamado pelo MNTA400
//Então realiza a busca na tabela de insumos ao invés do array.
dbSelectArea("STL")
dbSetOrder(4) //TL_FILIAL+TL_ORDEM+TL_PLANO+TL_TIPOREG+TL_CODIGO
dbSeek(xFilial("STL") + STJ->TJ_ORDEM + STJ->TJ_PLANO + "M" )
While !Eof() .And. STL->TL_ORDEM == STJ->TJ_ORDEM .And.;
STL->TL_PLANO == STJ->TJ_PLANO .And. STL->TL_TIPOREG == "M"
If STL->TL_SEQRELA <> "0"
If nMdo == 1
dDtIni := STL->TL_DTINICI
cHrIni := STL->TL_HOINICI
dDtFim := STL->TL_DTFIM
cHrFim := STL->TL_HOFIM
Else
If DtoS(STL->TL_DTINICI) + STL->TL_HOINICI < DtoS(dDtIni)+cHrIni
dDtIni := STL->TL_DTINICI
cHrIni := STL->TL_HOINICI
EndIf
If DtoS(STL->TL_DTFIM) + STL->TL_HOFIM > DtoS(dDtFim)+cHrFim
dDtFim := STL->TL_DTFIM
cHrFim := STL->TL_HOFIM
EndIf
EndIf
nMdo++
EndIf
dbSkip()
EndDo
EndIf
//Preenche o array de retorno com os campos e o conteúdo que receberá.
aAdd(aArray, {"TJ_DTPRINI", "SToD('"+DToS(dDtIni)+"')"})
aAdd(aArray, {"TJ_HOPRINI", "'"+cHrIni+"'"})
aAdd(aArray, {"TJ_DTPRFIM", "SToD('"+DToS(dDtFim)+"')"})
aAdd(aArray, {"TJ_HOPRFIM", "'"+cHrFim+"'"})
Return aArray |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas