Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Revertida da versão 3
Ponto

PE Ponto de entrada executado na realização de um dos insumos previstos.

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAMNT - Manutenção de Ativos e Gestão de Frotas

Rotina:

Rotina

Nome Técnico

MNTA435Retorno O.S. Mod. 2

Chamados Relacionados

MNG-1862                                                       

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Ponto de entrada executado ao realizar os insumos previstos selecionados, através do botão 'Incluir o insumo previsto', no Retorno modelo 2.
Programa Fonte

Localização:

MNTA435.PRX

Parâmetros:

Tipo

Descrição

ArrayLista com os campos apresentados na listagem de insumos.
ArrayLista com os registros reportados como insumos realizados.
Retorno:

Tipo

Descrição

ArrayLista com os registros reportados como insumos realizados.

 

Bloco de código
languagesql
titleExemplo do P.E. MNTB4352
linenumberstrue
#include

SIGAMNT: Atualizações/Controle de Oficina/Retorno O.S./Retorno Mod. 2

Programa Fonte:

MNTA435.PRX

 

Exemplo:

 

#include "Protheus.ch"

 #include

"rwmake.ch"

 User
Function
MNTB4352()
Local aHeader

        Local aHeader   :=
ParamIxb[1]
Local aCols
        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 nInd1 Return aCols

        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