Á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

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

, alterando horário de inicio e fim de utilização do insumo

.

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 para alterar automaticamente os campos de Hora Inicio e Hora Fim da realização do insumoexecutado ao realizar os insumos previstos selecionados, através do botão 'Incluir o insumo previsto', no Retorno modelo 2.

Localização:

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   := 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