Perguntas Dar continuidade no preenchimento da Grid em MVC através de gatilhos

Mais
2 anos 2 semanas atrás #33264 por Wanderson
Pessoal,

Tenho um cadastro em MVC com tabela unica e com grid, no cabelho tenho um campo que, apos preenchido alimenta o grid com informações do cadastro de natureza, quando utilizo
a opção incluir tudo ok com a rotina, agora se eu precisar alterar um cadastro e inserir mais de uma conta usando este gatilho, o grid está se perdendo e sobrepondo os dados ao inves de verificar o ultimo item e adicionar o proximo ate atingir o intervalo informado. Alguém consegui me ajudar a resolver este problema?


Segue parte do Codigo

USER FUNCTION fAlimGrid(oView, cIdView, cField, xValue)

Local nOperation := 0
Local nI := 0
Local i := 0

Local oModel := oView:GetModel()
Local cNatDe := oModel:GetValue("ZB1MASTER", "ZB1_NATD")
Local cNatAte := oModel:GetValue("ZB1MASTER", "ZB1_NATA")
Local cNatSt := oModel:GetValue("ZB1MASTER", "ZB1_NATST")

// Busco as Naturezas de acordo com Informado nos Parametros
cQrySED:=" SELECT "
cQrySED+=" SED.ED_CODIGO "
cQrySED+=" , SED.ED_DESCRIC "
cQrySED+=" FROM "
cQrySED+=RetSqlName("SED")+" SED WITH(NOLOCK) "
cQrySED+=" WHERE "
cQrySED+=" SED.ED_CODIGO BETWEEN ‘" + Alltrim(cNatde) + "‘ AND ‘" + Alltrim(cNatAte) +"‘"
cQrySED+=" AND SED.D_E_L_E_T_=‘‘ "
cQrySED+=" ORDER BY SED.ED_CODIGO "

TcQuery cQrySED New Alias "TEMPSED"

DbSelectArea(‘TEMPSED‘)
dbGotop()

If Len(aSed) > 0
aSed:={}
Endif

While ! TEMPSED->( EOF() )

aAdd(aSED,{TEMPSED->ED_CODIGO,TEMPSED->ED_DESCRIC})

TEMPSED->( dbSkip())

Enddo
TEMPSED->(dbclosearea())

nOperation := oModel:GetOperation()
// Vai executar a atualização do Grid quando for Inclusão e Atualização
IF nOperation == MODEL_OPERATION_INSERT .Or. nOperation == MODEL_OPERATION_UPDATE

if Len(aSED) <> 0

For i:=1 to Len(aSED)
IF oModel:GetModel("ZB1DETAIL"):AddLine() == ++nI

oModel:GetModel("ZB1DETAIL"):GoLine(nI)
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_ITEM" , STRZERO(nI, 4)) && ITEM
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_CODNAT" , aSED[i,1]) && Codigo da Natureza
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_NOMNAT" , aSED[i,2]) && Descrição da Natureza
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_STATUS" , cNatSt) && Status

else

oModel:GetModel("ZB1DETAIL"):GoLine(nI)
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_ITEM" , STRZERO(nI, 4)) && ITEM
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_CODNAT" , aSED[i,1]) && Codigo da Natureza
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_NOMNAT" , aSED[i,2]) && Descrição da Natureza
oModel:GetModel("ZB1DETAIL"):SetValue("ZB1_STATUS" , cNatSt) && Status
Endif

oView:Refresh()

next i
oModel:GetModel("ZB1DETAIL"):GoLine(1)
ENDIF

ENDIF
RETURN (nil)

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.082 segundos
Joomla templates by a4joomla