Á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

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 com situação de liberada, 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

Programa Fonte:

MNTA420.PRX

Função:

NGIMPOS()

Retorno:

Nome

Tipo

Descrição

Obrigatório

lRet

Lógico

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

Sim

 

Bloco de código
languagesql
titleExemplo NGIMPOS
#include "rwmake.ch"

User Function NGIMPOS()

	Local ic    := 0
	Local cPerg := PadR("MNT675",Len(Posicione("SX1", 1, "MNT675", "X1_GRUPO")))
    
	If Type("ParamIxb") == "A" 
		
        dbSelectArea("STJ") 
		
        cOldAlias  := Alias() 
		
        nOldIndex  := IndexOrd() 
		
        nRegImpSTJ := Recno()

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

        

			For ic := 1 To Len(aMATSX1) 
				dbSelectArea("SX1") 
				dbsetOrder(1) 
				dbSeek(cPerg+aMATSX1[ic][1])
				RecLock("SX1",.F.)
				SX1->X1_CNT01 := aMATSX1[ic][2] 
				MsUnlock("SX1") 
			Next ic

			If ExistBlock("MNTIMPOS") 
				
                ExecBlock("MNTIMPOS",.F.,.F.,ParamIxb) 
			Else 
				MNTR675(.f.) 
			EndIf

		EndIf 
		dbSelectArea(cOldAlias) 
		dbSetOrder(nOldIndex) 
		
            Else
                MNTR675(.F.,,,,,aMATSX1)
            Endif

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

	Else 
		    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.