Validar linhas antes de salvar

Olá pessoal.

Tenho uma tela de cadastro em MVC, porém preciso validar ao gravar a tela se os itens não estão repetidos nas linhas. Alguém tem algum exemplo de como comparar entre linhas na tela? É uma tela espécie lista de preço, onde tenho produto e lote máximo, posso ter o produto várias vezes mas não com o lote igual.

Boa tarde!

Para isso, faça o uso do método SetUniqueLine na construção do seu grid, informando quais campos devem ser avaliados para que não sejam repetidos.

Documentação: https://tdn.totvs.com/display/framework/FWFormGridModel

Exemplo:


oModel:AddFields('ModelMaster',,oStruct)
oModel:SetPrimaryKey({'ZTO_FILIAL','ZTO_CODIGO'})
oModel:GetModel('ModelMaster'):SetDescription('Cadastro Principal')

oModel:AddGrid('ModelGrid','ModelMaster',oStruGrid,,/*bPreGrid*/,/*bPreGrid*/,/*bProsGrid*/)
oModel:SetRelation('ModelGrid',{ {'ZRO_FILIAL','ZTO_FILIAL'},{'ZRO_CODIGO','ZTO_CODIGO'} }, ZRO->(IndexKey(1)) )
oModel:GetModel('ModelGrid'):SetUniqueLine( {'ZRO_COMPET'} ) // este campo não pode se repetir
oModel:GetModel('ModelGrid'):SetDescription('Verbas por Competência')
oModel:GetModel('ModelGrid'):SetOptional(.F.)

Valeu! Isso foi a solução do meu problema.