Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Preencher campo antes da abertura da rotina MVC

time.pngTempo aproximado para leitura:00:03:00 min

Dúvida

Como preencher um campo antes da abertura da tela por meio de um ponto de entrada MVC?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.8

Solução
Utilize o id BUTTONBAR, pois o mesmo é executado depois de todas as validações básicas para abertura da rotina.

Fonte
O exemplo abaixo retrata o caso em que o usuário deseja que na cópia de um produto, o campo B1_COD seja preenchido com o grupo (B1_GRUPO) do produto que está sendo copiado (produto ainda posicionado na SB1).
Observação: Este exemplo pode ser aplicado para casos onde o cliente deseje apenas inserir um valor no campo antes da abertura da tela, porém será necessário que seja adaptado a assinatura da função, o submodelo utilizado no método GetModel() e o campo utilizado no método LoadValue():

// BIBLIOTECAS UTILIZADAS
#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"

// PONTO DE ENTRADA MVC DA MATA010
User Function ITEM()
Local aParam := PARAMIXB // PARÂMETROS PASSADOS PARA O PONTO (SEMPRE VARIAM)
    Local xRet := .T. // RETORNO LÓGICO PARA PROSSEGUIMENTO DA ROTINA
    Local oObj := NIL // OBJETO QUE ARMAZENARÁ O MODELO TOTAL
    Local cIdPonto := "" // ID DO MOMENTO DA CHAMADA DO PONTO
    Local cIdModel := "" // QUAL MODELO OU SUBMODELO ESTÁ ATIVO

// VALIDA SE O PONTO FOI CHAMADO SEM PASSAGEM DE PARÂMETROS
    If (aParam != NIL)
// ATRIBUIÇÃO DE VALORES
        oObj := aParam[1]
        cIdPonto := aParam[2]
        cIdModel := aParam[3]

// VERIFICA SE O MOMENTO DA CHAMA É QUANDO O ID IGUAL A BUTTONBAR
// E SE A OPERAÇÃO DE INCLUSÃO É PROVENIENTE DE UMA CÓPIA
If (cIdPonto == "BUTTONBAR" .And. oObj:IsCopy())
// PROCURA O SUBMODELO SB1MASTER E INSERE NO CAMPO B1_COD
// O CONTEÚDO DO GRUPO DO PRODUTO DE ORIGEM + UM NÚMERO RANDÔMICO
oObj:GetModel("SB1MASTER"):LoadValue("B1_COD", SB1->B1_GRUPO + StrZero(Randomize(0, 100), 5))

// RECUPERA A VIEW ATIVA E ATUALIZA (NECESSÁRIO PARA EXIBIÇÃO DO CONTEÚDO)
oView := FwViewActive()
oView:Refresh()
EndIf
    EndIf
Return (xRet) // RETORNO LÓGICO PARA PROSSEGUIMENTO


Saiba mais
Ponto de Entrada Padrão do MVC
FWViewActive
FWFormView - Objeto de criação de interface gráfica em MVC
Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Operação de cópia em ponto de entrada MVC (Lcopia)

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _