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 - Criação utilização de variável de memoria no padrão MVC

Dúvida

Qual a forma correta de enviar uma informação para o campo B1_COD (na tela de inclusão) do MATA010 (Produto)? 
Temos uma rotina de código mnemônico que utiliza a instrução M->B1_COD := <conteúdo> para enviar o código calculado para o campo no MATA010.

Esta rotina parou de funcionar a algumas versões e precisaremos reativar. 
Obrigado!

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

Solução

Com o novo conceito de desenvolvimento mudou para o padrão MVC, algumas coisas mudaram e uma delas é pegar o conteúdo de uma variável de memória de um campo no cabeçalho e utilizá-lo numa célula de um grid, como modelos 2 e 3 por exemplo.

Exemplificando:

Estou na tabela de preço (OMSA010), rotina que foi convertida para MVC, e quero alimentar um campo no grid com o conteúdo do campo do cabeçalho.

Irei utilizar como exemplo o campo DA0_DATDE (Data Inicial) para alimentar o campo DA1_DATVIG (Vigencia).

Posso trabalhar de duas formas

Utilizando uma função padrão Tovts – FWFldGet http://tdn.totvs.com/display/framework/FWFldGet
Criando minha própria função ou usando função padrão

1º Passo:

Abra o seu configurador ou apsdu e vá no SX3 do campo DA1_DATVIG

2º Passo:

Edite o campo DA1_DATVIG e no configurador vá em “inicializador padrão” ao invés de utilizar

M->DA0_DATDE escreva agora FWFldGet(“DA0_DATDE”), ou seja, quando você inicializar uma nova linha o protheus irá pegar o valor digitado no campo da Data inicial e irá replicar no campo Vigência da linha do item


Onde:

cMaster é nome do objeto

cCampo é o nome do campo que deseja capturar

2º Passo:

Edite o campo DA1_DATVIG e no configurador vá em inicializador padrão e escreva U_SUAFUNCAO(‘DA0MASTER’, ‘DA0_DATDE’) , ou seja, quando você inicializar uma nova linha o Protheus irá pegar o valor digitado no campo da Data inicial e irá replicar no campo Vigência da linha do item.

Usando uma função criada, você pode fazer outras validações que não cabem na linha do inicializador padrão.

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 _