Customização do conteúdo dos campos apresentados na finalização da O.S.
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||
Segmento: | Manufatura | ||||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||||
Rotina: |
| ||||||
Chamados Relacionados | MNG-2862 | ||||||
País(es): | Todos | ||||||
Banco(s) de Dados: | Todos | ||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
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() |
Exemplo
#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