Árvore de páginas

Versões comparadas

Chave

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

PE Ponto de entrada executado na realização de todos os insumos previstos.

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAMNT - Manutenção de Ativos / SIGAGFR - Gestão de Frotas

Rotina:

Rotina

Nome Técnico

MNTA435Retorno O.S. Mod. 2

Ponto de Entrada

Descrição:

Ponto de entrada executado na realização de todos os insumos previstos, através do botão 'Incluir todos insumos previstos', no Retorno modelo 2.

Programa Fonte:

MNTA435.prx

Parâmetros:
TipoDescrição
ArrayLista com os campos apresentados na listagem de insumos.
ArrayLista com os registros reportados como insumos realizados.
Retorno:
TipoDescrição
ArrayLista com os registros reportados como insumos realizados.

 

Bloco de código
languagesql
titleExemplo do P.E. MNTB4351
linenumberstrue
#include 'Protheus.ch'

User Function MNTB4351()

    Local aHeader   := ParamIxb[1]
    Local aCols     := ParamIxb[2]
    Local nInd1  := 0

    For nInd1 := 1 To Len( aCols )

        If  GDFieldGet( 'TL_TIPOREG', nInd1, .F., aHeader, aCols ) == 'P'

            GDFieldPut( 'TL_DTINICI', dDataBase, nInd1, aHeader, aCols )
            GDFieldPut( 'TL_DTFIM'  , dDataBase, nInd1, aHeader, aCols )    
        
        EndIf

    Next nI

Return aCols

#include "Protheus.ch"

 #include "rwmake.ch"

 User Function MNTB4351()
        Local aHeader   := ParamIxb[1]
        Local aCols     := ParamIxb[2]
        Local nI
        Local nContMdo := 1
        Local nTpReg := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_TIPOREG"})
        Local nHrIni := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_HOINICI"})
        Local nHrFim := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_HOFIM" })
        Local nQuant := aScan(aHeader,{|x| Trim(Upper(x[2])) == "TL_QUANTID"})
        For nI := 1 To Len(aCols)
            If aCols[nI][nTpReg] == "M"
                If nContMdo > 1
                    cHoraI := StrTran(cHoraF, ":", ".")
                    nHoraI := Val(cHoraI) + 0.01
                    cTest := Str(nHoraI)
                    If nHoraI >= 10.00
                        nTest := Val(SubStr(AllTrim(cTest),4,2))
                    Else
                        nTest := Val(SubStr(AllTrim(cTest),3,2))
                    EndIf
                    If nTest >= 60
                        nValor := nTest - 60
                        nHoraI := nHoraI + 01.00 + (nValor/100)
                    EndIf
                    nHoraF := aCols[nI][nQuant] + nHoraI
                    cTest := Str(nHoraF)
                    If nHoraF >= 10.00
                        nTest := Val(SubStr(AllTrim(cTest),4,2))
                    Else
                        nTest := Val(SubStr(AllTrim(cTest),3,2))
                    EndIf
                    If nTest >= 60
                        nValor := nTest - 59
                        nHoraF := (nHoraF - (nValor/100)) + 01.00
                    EndIf
                    cHoraI := Str(nHoraI)
                    cHoraI := StrTran(cHoraI, ".", ":")
                    cHoraF := Str(nHoraF)
                    cHoraF := StrTran(cHoraF, ".", ":")
                    If nHoraI >= 10.00
                        cHoraI := AllTrim(cHoraI)
                    Else
                        cHoraI := "0"+AllTrim(cHoraI)
                    EndIf
                    If nHoraF >= 10.00
                        cHoraF := AllTrim(cHoraF)
                    Else
                        cHoraF := "0"+AllTrim(cHoraF)
                    EndIf
                    aCols[nI][nHrIni] := cHoraI
                    aCols[nI][nHrFim] := cHoraF
                EndIf
                cHoraF := aCols[nI][nHrFim]
                nContMdo++
            EndIf
        Next nI
    Return
aCols