Caros,
Tenho uma grid MVC (Participantes) relacionada com uma outra grid (Turmas):
Turma 01
funcionario 001
funcionario 002
funcionario 003
Turma 02
funcionario 004
funcionario 005
Turma 03
funcionario 006
funcionario 007
Em tempo de Execução, antes de confirmar o cadastro, como eu acesso todos Participantes de todas turmas: TIPO com Acols ALL (msNewGetDados) ?
João,
Você precisa fazer isso utilizando o modelo e dois loops, veja um exemplo abaixo de forma bem macro:
//-------------------------------------------------------------------
/*/{Protheus.doc} meuExemploDeLadoEntreModelos
Exemplo de loop entre dois modelos, pai e filho
@author Daniel Mendes
@since 27/07/2022
@version 1.0
/*/
//-------------------------------------------------------------------
static function meuExemploDeLadoEntreModelos()
local oModel as object
local oParticipantes as object
local oTurmas as object
local nX as numeric
local nY as numeric
local nLineParticipantes as numeric
local nLineTurmas as numeric
//Pega o modelo ativo, talvez você receba o mesmo por parâmetro dependendo do lugar e como a função será chamada
oModel := FwModelActive()
//Pego os modelos de turmas e participantes
oTurmas := oModel:getModel("Turmas")
oParticipantes := oModel:getModel("Participantes")
//Salvo as linhas atuais
nLineTurmas := oTurmas:getLine()
nLineParticipantes := oParticipantes:getLine()
//Efetuo o laço entre o modelo pai e o filho
for nX := 1 to oTurmas:GetQTDLine()
//Vou para a linha de turmas
oTurmas:goLine(nX)
//...Efetuo meus processamentos, se necessário...
for nY := 1 to oParticipantes:getQTDLine()
//Vou para a linha de participantes
oParticipantes:goLine(nY)
//... Efetuo meus processamentos, se necessários...
next
next
//Restauro as linhas
oTurmas:goLine(nLineTurmas)
oParticipantes:goLine(nLineParticipantes)
return
Documentação: https://tdn.totvs.com.br/display/framework/FWFormGridModel