Boa tarde.
Como posso utilizar a função FwFldPut em um gatilho de um campo da grid para preencher um campo no cabeçalho?
Boa tarde.
Como posso utilizar a função FwFldPut em um gatilho de um campo da grid para preencher um campo no cabeçalho?
Boa tarde Eduardo,
A sintaxe da FwFldPut é a seguinte:
FWFldPut(<cCampo >, <xConteudo >, [ nLinha ], [ oModel ], [ lShowMsg ], [ lLoad ])-> lRet
Como você deseja preencher um campo do cabeçalho, você pode trabalhar apenas com os dois primeiros parâmetros:
FWFldPut("XYZ_CAMPO", "Conteúdo novo no campo")
Documentação da mesma:
https://tdn.totvs.com/display/framework/FWFldPut
Existem outras formas de fazer isso, sem utilizar dessa função, pegando o modelo ativo, e fazer o setValue:
local oModel as object
oModel := FWModelActive()
if oModel != nil .and. oModel:isActive()
oModel:setValue("ID_DO_MODELO", "NOME_CAMPO", "Valor" )
endif
Documentação da FWModelActive:
https://tdn.totvs.com/display/framework/FWModelActive
Bom dia.
Tentei utilizar conforme informa e também seguindo a documentação na rotina MATA311 (Solicitação de Transferência) mas não funcionou. Eu configurei a função em um gatilho para o campo NNT_TS para alimentar um campo customizado no cabeçalho quando esse for preenchido.
Bom dia Eduardo, o gatilho foi criado de forma incorreta, a regra deve ter um retorno válido para o campo no contra domínio. Quando citei para criar o gatilho, era com o intuito de você não utilizar a função FWFldPut. Em seu teste, coloque apenas uma string de retorno e verifique se o gatilho será disparado, em caso de dúvida, consulte o gatilho do E2_LOJA, é um bom exemplo, com posicionamento de tabela etc.
— Daniel Mendes 02 de Oct de 2019