Bom dia,
Temos uma rotina MVC aqui no formato Pai (ZA8) x Filho (ZA6) x Neto (ZA7) usada para nossa rotina de expedição. Sobre ela é aberta uma MSDialog que controla a leitura de códigos de barras e vai inserindo as linhas conforme os dados lidos.
Gostaria de fazer o backup dos dados de tempos em tempos. Tentei usar o CommitData() do model, mas ele duplica as linhas salvas. Percebi que, após o método salvar os dados, a propriedade lModify do objeto continua como .T.
Até tentei forçar ela para .F. manualmente após salvar, mas não resolveu. Acredito que as linhas do model também continuem como se tivessem sofrido alteração e na próxima execução do backup elas são salvas novamente.
Devo fazer algo depois do CommitData() para que ele funcione de acordo?
User Function SaveBkp()
Local oModel :=FWModelActive()
Local aSaveArea1 := SaveArea1({"ZA6","ZA7","ZA8","SB1"})
Local lRet
FWMsgRun(, {|oSay| lRet := oModel:vldData() }, "Validando", "Validando os dados da separação")
If lRet
FWMsgRun(, {|oSay| lRet := oModel:CommitData() }, "Salvando", "Salvando os dados da separação")
If !lRet
MsgAlert("Erro ao salvar a separação")
Else
oModel:lModify := .F.
EndIf
Else
MsgAlert("Falha ao validar os dados. Não será salvo!")
EndIf
RestArea1(aSaveArea1)
Return lRet