Árvore de páginas

Versões comparadas

Chave

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

Este Ponto de Entrada é Válido a partir da Release 11.8

Adição e alteração de campos na geração de movimentos interno através da rotina de Abastecimentos internos

Chamada de relatório especifico do cliente ou mesmo padrão para a impressão de Ordem de Serviço.

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

MNTA420

Ordem de Serviço Corretiva

Rotina(s) envolvida(s)

Nome Técnico

MNTA295

Distribuição de S.S.

MNTA410Ordem de Serviço Manual

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

 
Ponto de entrada chamado após a geração de uma Ordem de Serviço, tem o objetivo de fazer a chamada de um relatório específico do cliente ou mesmo padrão para a impressão da Ordem de Serviço que foi inclusa.

Localização:

SIGAMNT: Atualizações/Ordens de Serviço/Corretiva

Eventos:

Geração de Ordem de Produção (MNTUTIL)

Programa Fonte:

MNTUTIL

MNTA420.PRX

Função:

NGMOVSD3

NGIMPOS()

Retorno:

Nome

Tipo

Descrição

Obrigatório

aFields

lRet

Array

Lógico

Retorna

o array com os campos que serão passados para o Execauto de geração de movimento interno

verdadeiro ou falso para a execução e barra o processo.

Sim

 

Bloco de código
languagesql
titleExemplo
:
NGIMPOS
#include
'protheus.ch'
#include 'parmtype.ch'

User Function NGMOVSD3()

Local aFields := aClone(Paramixb)
Local nPos

// Alterando o valor de um campo já passa na geração de OP
If ( nPos := aScan(aFields, {|x| x[1] == 'D3_DOC' }) ) > 0
    aFields[nPos][2] := GetSxENum("SD3", "D3_DOC")
EndIf
Return aFields
 "rwmake.ch"

User Function NGIMPOS()

    If Type("ParamIxb") == "A"
        dbSelectArea("STJ")
        cOldAlias  := Alias()
        nOldIndex  := IndexOrd()
        nRegImpSTJ := Recno()

        If MsgYesNo("Deseja Imprimir a O.S.?","ATENCAO")
            aMATSX1 := {{'01',ParamIxb[1]},;
            {'02',Replicate('Z',Len(stj->tj_plano))},;
            {'07',Space(Len(stj->tj_ccusto))},;
            {'08',Replicate('Z',Len(stj->tj_ccusto))},;
            {'09',Space(Len(stj->tj_centrab))},;
            {'10',Replicate('Z',Len(stj->tj_centrab))},;
            {'11',Space(Len(stj->tj_codarea))},;
            {'12',Replicate('Z',Len(stj->tj_codarea))},;
            {'13',ParamIxb[2]},;
            {'14',ParamIxb[2]},;
            {'15',Dtoc(ParamIxb[3])},;
            {'16',Dtoc(ParamIxb[3])}}

            If ExistBlock("MNTIMPOS")
                ExecBlock("MNTIMPOS",.F.,.F.,ParamIxb)
            Else
                MNTR675(.F.,,,,,aMATSX1)
            Endif

        EndIf
        dbSelectArea(cOldAlias)
        dbSetOrder(nOldIndex)
        dbGoto(nRegImpSTJ)

    Else
        MsgInfo("Não será possível imprimir a ordem de serviço devido a"+chr(13);
        +"problema na passagem de parâmetro para a função de impressão"+chr(13);
        +"(Ponto de entrada NGIMPOS)"+chr(13)+chr(13);
        +"Consulte o suporte...","NÃO CONFORMIDADE")
    EndIf

Return .T.