Versões comparadas

Chave

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

MATA094 -

...

Liberación de

...

documentos MVC

ProdutoProducto:

Microsiga Protheus 

VersõesVersiones:

A partir da Versão 12

OcorrênciaOcurrencia:

Rotina Automática Rutina automática - MATA094

AmbienteEntorno:

SIGACOM - Compras

DescriçãoDescripción:

Rotina Rutina automática no en el modelo MVC 

Passo Paso a passopaso:

Bloco de código
languagejava
titleExemplo Ejemplo de rotina rutina automática MATA094
linenumberstrue
#INCLUDE 'RWMAKE.CH'
#INCLUDE 'TBICONN.CH'
#INCLUDE 'PROTHEUS.CH'
#INCLUDE #INCLUDE 'FWMVCDEF.CH'

User Function MyExec094()

	Local oModel094 := Nil 		//-- Objeto que receberárecibirá oel modelo dade la MATA094
	Local cNum 		:= "PMSA02" //-- RecebeRecibe oel número dodel documento aque serse avaliadoevaluará
	Local cTipo 	:= "PC" 	//-- RecebeRecibe oel tipo dodel documento aque serse avaliadoevaluará
	Local cAprov 	:= "000003" //-- RecebeRecibe oel código dodel aprovadoraprobador dodel documento
	Local nLenSCR 	:= 0 		//-- ControleControl de tamanhotamaño de campo dodel documento
	Local lOk 		:= .T. 		//-- ControleControl de validaçãovalidación ey commit
	Local aErro     := {}       //-- RecebeRecibe msg de erroerror de processamentoprocesamiento

    //-- InicializaInicia oel ambienteentorno
	PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" USER "Administrador" PASSWORD "*" MODULO "COM"
	
	nLenSCR := TamSX3("CR_NUM")[1] //-- ObtemObtiene tamanhotamaño dodel campo CR_NUM
	DbSelectArea("SCR")
	SCR->(DbSetOrder(3)) //-- CR_FILIAL+CR_TIPO+CR_NUM+CR_APROV

	If SCR->(DbSeek(xFilial("SCR") + cTipo + Padr(cNum, nLenSCR) + cAprov))

		//-- Códigos de operaçõesoperaciones possíveisposibles:
		//--	"001" // Liberado
		//--	"002" // EstornarRevertir
		//--	"003" // Superior
		//--	"004" // Transferir Superior
		//--	"005" // RejeitadoRechazado
		//--	"006" // BloqueioBloqueo
		//--	"007" // VisualizacaoVisualización 

		//-- SelecionaSelecciona ala operaçãooperación de aprovaçãoaprobación de documentos
		A094SetOp('001')

		//-- CarregaCarga oel modelo de dadosdatos ey selecionaselecciona ala operaçãooperación de aprovaçãoaprobación (UPDATE)
		oModel094 := FWLoadModel('MATA094')
		oModel094:SetOperation( MODEL_OPERATION_UPDATE )
		oModel094:Activate()

		//-- Valida oel formulárioformulario
		lOk := oModel094:VldData()

		If lOkIf lOk
			//-- SeSi validouvalidó, gravagraba oel formulárioformulario
			lOk := oModel094:CommitData()
		EndIf

		//-- AvaliaEvalua erroserrores
		If !lOk
			//-- Busca oel ErroError dodel Modelo de DadosDatos
			aErro := oModel094:GetErrorMessage()
			     
			//-- MontaElabora oel Textotexto que seráse mostrará mostradoen nala telapantalla
			AutoGrLog("Id dodel formulárioformulario de origemorigen:" + ' [' + AllToChar(aErro[01]) + ']')
			AutoGrLog("Id dodel campo de origemorigen: "     + ' [' + AllToChar(aErro[02]) + ']')
			AutoGrLog("Id dodel formulárioformulario de erroerror: "  + ' [' + AllToChar(aErro[03]) + ']')
			AutoGrLog("Id dodel campo de erroerror: "       + ' [' + AllToChar(aErro[04]) + ']')
			AutoGrLog("Id dodel erroerror: "                + ' [' + AllToChar(aErro[05]) + ']')
			AutoGrLog("MensagemMensaje dodel erroerror: "          + ' [' + AllToChar(aErro[06]) + ']')
			AutoGrLog("MensagemMensaje de dala soluçãosolución:"        + ' [' + AllToChar(aErro[07]) + ']')
			AutoGrLog("Valor atribuídoatribuido: "           + ' [' + AllToChar(aErro[08]) + ']')
			AutoGrLog("Valor anterior: "            + ' [' + AllToChar(aErro[09]) + ']')

			//-- MostraMuestra ael mensagemmensaje de Erroerror
			MostraErro()
		EndIf

		//-- DesativaDesactiva oel modelo de dadosdatos
		oModel094:DeActivate()

	Else
		MsgInfo("Documento nãono encontrado!", "MyExec094")
	EndIf
    
    //-- Finaliza oel ambienteentorno
    RESET ENVIRONMENT

Return Nil
Bloco de código
languagejava
titleExemplo Ejemplo de estorno reversión para a rotina la rutina MATA094
linenumberstrue
#INCLUDE 'RWMAKE.CH'
#INCLUDE 'TBICONN.CH'
#INCLUDE 'PROTHEUS.CH'

User Function MyExec094()

	Local cNum 		:= "PMSA02" //-- RecebeRecibe oel número dodel documento aque serse avaliadoevaluará
	Local cTipo 	:= "PC" 	//-- RecebeRecibe oel tipo dodel documento aque serse avaliadoevaluará
	Local cAprov 	:= "000003" //-- RecebeRecibe oel código dodel aprovadoraprobador dodel documento
	Local nLenSCR 	:= 0 		//-- ControleControl de tamanhotamaño dedel campo dodel documento
	Local lOk 		:= .T. 		//-- ControleControl de validaçãovalidación ey commit
	
    //-- InicializaInicia oel ambienteentorno
	PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" USER "Administrador" PASSWORD "*" MODULO "COM"
	
	nLenSCR := TamSX3("CR_NUM")[1] //-- ObtemObtiene tamanhotamaño dodel campo CR_NUM
	DbSelectArea("SCR")
	SCR->(DbSetOrder(3)) //-- CR_FILIAL+CR_TIPO+CR_NUM+CR_APROV

	If SCR->(DbSeek(xFilial("SCR") + cTipo + Padr(cNum, nLenSCR) + cAprov))

		lOk := A094VldEst()
 
        If lOk
            MsgInfo("OEl documento "+cNum+" foise estornadorevertió comcon sucessoéxito.")
        Else
            MsgInfo("OcorreuOcurrió umun erroerror aoal estornarrevertir oel documento "+cNum)
        EndIf

	Else
		MsgInfo("Documento¡Documento nãono encontrado!", "MyExec094")
	EndIf
    
    //-- Finaliza oel ambienteentorno
    RESET ENVIRONMENT

Return Nil
Bloco de código
languagejava
titleExemplo Ejemplo de rejeição rechazo para a rotina la rutina MATA094
linenumberstrue
#INCLUDE 'TBICONN.CH'
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'

User Function MyExec094()        
    Local oModel094 := Nil                    //-- Objeto que receberárecibirá oel modelo dade la MATA094
    Local cNum      := "000000000000001"      //-- RecebeRecibe oel número dodel documento aque serse avaliadoevaluará
    Local cTipo     := "CT"                   //-- RecebeRecibe oel tipo dodel documento aque serse avaliadoevaluará
    Local cAprov    := "000003"               //-- RecebeRecibe oel código dodel aprovadoraprobador dodel documento
    Local cJustif   := "RejeiçãoRechazo de contrato" //-- RecebeRecibe ala justificativajustificación para rejeiçãorechazo
    Local nLenSCR   := 0                      //-- ControleControl de tamanhotamaño dedel campo dodel documento
    Local lOk       := .T.                    //-- ControleControl de validaçãovalidación ey commit
    Local aErro     := {}                     //-- RecebeRecibe msg de erroerror de processamentoprocesamiento

    //-- InicializaInicia oel ambienteentorno
    PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" USER "Administrador" PASSWORD "*" MODULO "COM"

    nLenSCR := TamSX3("CR_NUM")[1] //-- ObtemObtiene tamanhotamaño dodel campo CR_NUM
    DbSelectArea("SCR")
    SCR->(DbSetOrder(3)) //-- CR_FILIAL+CR_TIPO+CR_NUM+CR_APROV

    If SCR->(DbSeek(xFilial("SCR") + cTipo + Padr(cNum, nLenSCR) + cAprov))

        //-- Códigos de operaçõesoperaciones possíveisposibles:
        //-- "001" // Liberado
        //-- "002" // EstornarRevertir
        //-- "003" // Superior
        //-- "004" // Transferir Superior
        //-- "005" // RejeitadoRechazado
        //-- "006" // BloqueioBloqueo
        //-- "007" // VisualizacaoVisualización

        //-- SelecionaSelecciona ala operaçãooperación de rejeiçãorechazo de documentos
        A094SetOp('005')

        //-- CarregaCarga oel modelo de dadosdatos ey selecionaselecciona ala operaçãooperación de aprovaçãoaprobación (UPDATE)
        oModel094 := FWLoadModel('MATA094')
        oModel094:SetOperation( MODEL_OPERATION_UPDATE )
        oModel094:Activate()

        //-- PreencheInforma la justificativajustificación
        oModel094:GetModel('FieldSCR'):SetValue('CR_OBS', cJustif)

        //-- Valida oel formulárioformulario
        lOk := oModel094:VldData()

        If lOk
            //-- SeSi validouvalidó, gravagraba oel formulárioformulario
            lOk := oModel094:CommitData()
        EndIf

        //-- AvaliaEvalua erroserrores
        If !lOk
            //-- Busca oel ErroError dodel Modelo de DadosDatos
            aErro := oModel094:GetErrorMessage()

            //-- MontaElabora oel Textotexto que se serámostrará mostradoen nala telapantalla
            AutoGrLog("Id dodel formulárioformulario de origemorigen:" + ' [' + AllToChar(aErro[01]) + ']')
            AutoGrLog("Id dodel campo de origemorigen: "     + ' [' + AllToChar(aErro[02]) + ']')
            AutoGrLog("Id dodel formulárioformulario de erroerror: "  + ' [' + AllToChar(aErro[03]) + ']')
            AutoGrLog("Id dodel campo de erroerror: "       + ' [' + AllToChar(aErro[04]) + ']')
            AutoGrLog("Id dodel erroerror: "                + ' [' + AllToChar(aErro[05]) + ']')
            AutoGrLog("MensagemMensaje dodel erroerror: "          + ' [' + AllToChar(aErro[06]) + ']')
            AutoGrLog("MensagemMensaje de dala soluçãosolución:"        + ' [' + AllToChar(aErro[07]) + ']')
            AutoGrLog("Valor atribuídoatribuido: "           + ' [' + AllToChar(aErro[08]) + ']')
            AutoGrLog("Valor anterior: "            + ' [' + AllToChar(aErro[09]) + ']')

            //-- MostraMuestra ael mensagemmensaje de Erroerror
            MostraErro()
        EndIf

        //-- DesativaDesactiva oel modelo de dadosdatos
        oModel094:DeActivate()

    Else
        MsgInfo("Documento nãono encontrado!", "MyExec094")
    EndIf

    //-- Finaliza oel ambienteentorno
    RESET ENVIRONMENT

Return Nil
Bloco de código
languagejava
titleExemplo Ejemplo de transferência transferencia superior para a rotina la rutina MATA094
linenumberstrue
#INCLUDE 'RWMAKE.CH'
#INCLUDE 'TBICONN.CH'
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'

User Function MyExec094()

Local oModel094 := Nil      //-- Objeto que receberárecibirá oel modelo dade la MATA094
Local cNum      := "PMSAM7" //-- RecebeRecibe oel número dodel documento aque serse avaliadoevaluará
Local cTipo     := "PC"     //-- RecebeRecibe oel tipo dodel documento aque serse avaliadoevaluará
Local cAprov    := "SALC14" //-- RecebeRecibe oel código dodel aprovadoraprobador dodel documento
Local cProxApr	:= "000451" //superior
Local cGrupoAp	:= "ROM049"
Local cJustif   := "Teste"
Local nLenSCR   := 0        //-- ControleControl de tamanhotamaño dedel campo dodel documento
Local lOk       := .T.      //-- ControleControl de validaçãovalidación edel commit 
Local aErro     := {}       //-- RecebeRecibe msg de erroerror de processamentoprocesamiento

//-- InicializaInicia oel ambienteentorno
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" USER "Administrador" PASSWORD "*" MODULO "COM"
    
nLenSCR := TamSX3("CR_NUM")[1] //-- ObtemObtiene el tamanhotamaño dodel campo CR_NUM 
DbSelectArea("SCR")
SCR->(DbSetOrder(3)) //-- CR_FILIAL+CR_TIPO+CR_NUM+CR_APROV

If SCR->(DbSeek(xFilial("SCR") + cTipo + Padr(cNum, nLenSCR) + cAprov)) 

    //-- Códigos de operaçõesoperaciones possíveisposibles:
    //--    "001" // Liberado
    //--    "002" // EstornarRevertir
    //--    "003" // Superior
    //--    "004" // Transferir Superior
    //--    "005" // RejeitadoRechazado
    //--    "006" // BloqueioBloqueo
    //--    "007" // VisualizacaoVisualización

    //-- SelecionaSelecciona ala operaçãooperación de aprovaçãoaprobación de documentos
    A094SetOp('004')

    //-- CarregaCarga oel modelo de dadosdatos ey selecionaselecciona ala operaçãooperación de aprovaçãoaprobación (UPDATE)
    oModel094 := FWLoadModel('MATA094') 
    oModel094:SetOperation( MODEL_OPERATION_UPDATE )
    oModel094:Activate()

    oModel094:GetModel("FieldSCR"):SetValue( 'CR_OBS' , cJustif )

    //-- Valida oel formulárioformulario
    lOk := oModel094:VldData()

    If lOk
        //-- SeSi validouvalidó, gravagraba oel formulárioformulario
        lOk := oModel094:CommitData()
    EndIf

    //-- AvaliaEvalúa erroserrores
    If !lOk
        //-- Busca oel ErroError dodel Modelo de DadosDatos
        aErro := oModel094:GetErrorMessage()
                
        //-- MontaElabora oel Textotexto que se serámostrará mostradoen nala telapantalla
        AutoGrLog("Id dode formulárioformulario de origemorigen:" + ' [' + AllToChar(aErro[01]) + ']')
        AutoGrLog("Id dodel campo de origemorigen: "     + ' [' + AllToChar(aErro[02]) + ']')
        AutoGrLog("Id dodel formulárioformulario de erroerror: "  + ' [' + AllToChar(aErro[03]) + ']')
        AutoGrLog("Id dodel campo de erroerror: "       + ' [' + AllToChar(aErro[04]) + ']')
        AutoGrLog("Id dode erroerror: "                + ' [' + AllToChar(aErro[05]) + ']')
        AutoGrLog("MensagemMensaje dodel erroerror: "          + ' [' + AllToChar(aErro[06]) + ']')
        AutoGrLog("MensagemMensaje de dala soluçãosolución:"        + ' [' + AllToChar(aErro[07]) + ']')
        AutoGrLog("Valor atribuídoatribuido: "           + ' [' + AllToChar(aErro[08]) + ']')
        AutoGrLog("Valor anterior: "            + ' [' + AllToChar(aErro[09]) + ']')

        //-- MostraMuestra ael mensagemmensaje de Erroerror
        MostraErro()
    EndIf

    //-- DesativaDesactiva oel modelo de dadosdatos
    oModel094:DeActivate()

Else
    MsgInfo("Documento¡Documento nãono encontrado!", "MyExec094")
EndIf
    
//-- Finaliza oel ambienteentorno
RESET ENVIRONMENT

Return Nil

ObservaçãoObservación:Para maiores informações consultar as informações contidas no más información consulte en el documento "ADVPL utilizando MVC"

...