Árvore de páginas

Este ponto de entrada habilita o botão Copiar, para permitir o usuário fazer uma cópia da Ordem de Serviço selecionada no browse.

Linha de Produto:

Microsiga Protheus.

Segmento:

Manufatura

Módulo:

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

Rotina:

MNTA420

Chamados Relacionados

MNG-5112

País(es):

Todos.

Banco(s) de Dados:

Todos.

Sistema(s) Operacional(is):

Todos.

Ponto de Entrada

Descrição:

Ponto de entrada que habilita o botão Copiar, para permitir o usuário fazer uma cópia da Ordem de Serviço selecionada no browse.

Programa Fonte:

MNTA420.prx

Função:

MNTA420S()

Exemplo PE MNTA420S
#INCLUDE "PROTHEUS.CH"


User Function MNTA420S()
    Local nInd    := 0
    Local aInsumo := {}
    Local aNewOs  := {}
    Local cInsOS  := ParamIXB[1]
    Local cInsPl  := ParamIXB[2]
    
    dbSelectArea("STL")
    dbSetOrder(1)
    If dbSeek(xFilial("STL")+cInsOS+cInsPl)
        Do While !EoF() .And. STL->TL_ORDEM == cInsOS .And. STL->TL_PLANO = cInsPl
            aAdd(aInsumo, {STL->TL_TAREFA,;
                STL->TL_TIPOREG  ,; //02
                STL->TL_CODIGO   ,; //03
                STL->TL_QUANREC  ,; //04
                STL->TL_QUANTID  ,; //05
                STL->TL_UNIDADE  ,; //06
                STL->TL_DESTINO  ,; //07
                STL->TL_DTINICI  ,; //08
                STL->TL_HOINICI  ,; //09
                STL->TL_DTFIM    ,; //10
                STL->TL_HOFIM    ,; //11
                STL->TL_LOCAL    ,; //12
                STL->TL_TIPOHOR  ,; //13
                STL->TL_USACALE  ,; //14
                STL->TL_CUSTO    ,;
                STL->TL_SEQTARE  ,})
            
            dbSelectArea("STL")
            dbSkip()
        EndDo
    EndIf

    dbSelectArea("STJ")
    dbSetOrder(1)
    dbSeek(xFilial("STJ")+cInsOS+cInsPl)
    aNewOs := NGGERAOS('C', STJ->TJ_DTORIGI, STJ->TJ_CODBEM, STJ->TJ_SERVICO, ,'N', 'N', 'N', STJ->TJ_FILIAL, "P")

    If Type('aNewOs[1][1]') <> 'N'
        For nInd := 1 To Len(aInsumo)
            dbSelectArea( "STL" )
            STL->(RecLock("STL",.T.))
            STL->TL_FILIAL  := xFilial('STL')
            STL->TL_ORDEM   := aNewOs[1][3]
            STL->TL_PLANO   := cInsPl
            STL->TL_TAREFA  := aInsumo[nInd][1]
            STL->TL_DTINICI := aInsumo[nInd][8]
            STL->TL_HOINICI := aInsumo[nInd][9]
            STL->TL_DTFIM   := aInsumo[nInd][10]
            STL->TL_HOFIM   := aInsumo[nInd][11]
            STL->TL_TIPOREG := aInsumo[nInd][2]
            STL->TL_CODIGO  := aInsumo[nInd][3]
            STL->TL_QUANREC := aInsumo[nInd][4]
            STL->TL_QUANTID := aInsumo[nInd][5]
            STL->TL_UNIDADE := aInsumo[nInd][6]
            STL->TL_DESTINO := aInsumo[nInd][7]
            STL->TL_LOCAL   := aInsumo[nInd][12]
            STL->TL_SEQRELA := "0  "
            STL->TL_TIPOHOR := aInsumo[nInd][13]
            STL->TL_USACALE := If(Empty(aInsumo[nInd][14]),"N",aInsumo[nInd][14])
            STL->TL_CUSTO   := aInsumo[nInd][15]
            STL->TL_SEQTARE := aInsumo[nInd][16]
            MsUnlock("STL")
        Next nInd

        MsgAlert("Incluido a OS " + aNewOs[1][3], "Atenção")
    Else
        MsgAlert(aNewOs[1][2], "Atenção")
    EndIf

Return Nil