Função: SetMVValue

Função auxiliar à função Pergunte() para atualização das perguntas de relatório em tempo de execução.


Sintaxe

SetMVValue( <cPergunta>, <cMVVar> ,<xValue>) --> Nil
Parâmetros/Elementos


NomeTipoDescriçãoObrigatórioReferênciaDefault
cPerguntaCaracterNome do grupo de perguntas (SX1).X

cMVVarCaracterNome da Variável MV_PAR que sera atualizada.X

xValueCaracterValor que será atribuído.X

lUpdMVPar

(Disponível a partir do LIB Label 20230403)

Lógico

Indica se irá atualizar o parâmetro no SX1/Profile.

Esse valor só será acatado em threads com o ambiente aberto via RpcSetEnv entre demais exceções.



.F.



Retorno
lRet → lógico indicando se atualizou o pergunte corretamente (Disponível a partir do LIB Label 20230403, com as libs anteriores não tem retorno)


Exemplo
#include "totvs.ch"

User Function exUpdPrg()
Local lRet as logical

Pergunte("CFG025",.F.)//Carrego as MV_PAR's sem exibir a tela
Alert(DToS(MV_PAR03))// Mostra o valor que estava gravado

lRet := SetMVValue("CFG025","MV_PAR03",Date()) //Atualizo o valor da terceira pergunta para a data de hoje

If lRet
	Conout("Pergunte atualizado corretamente")
EndIf

Alert(DToS(MV_PAR03))// Continua com o mesmo valor (as variáveis MV_PAR não são atualizadas...)

Pergunte("CFG025",.T.) //Mostra a tela de Pergunte com o parâmetro de data final atualizado

Return

Exemplo atualizando no SX1/Profile
#include "totvs.ch"  

User Function exUpdPrg()
Local lRet as logical

RpcSetEnv('T1', 'D MG 01', "admin", "1234") //Necessário o ambiente estar aberto

Pergunte("CFG025",.F.)//Carrego as MV_PAR's sem exibir a tela
Conout(MV_PAR03)// Mostra o valor que estava gravado

//Envia o 4º parâmetro como .T. para atualizar no SX1/Profile
lRet := SetMVValue("CFG025","MV_PAR03",Date(), .T.) //Atualizo o valor da terceira pergunta para a data de hoje

If lRet
	Conout("Pergunte atualizado corretamente no SX1/Profile")
EndIf

Conout(MV_PAR03)// MV_PAR atualizada com o novo valor

Return 
  • Sem rótulos