Importante
A rotina OMSA090 se utiliza do conceito de MVC do Prothues, portanto não possui a mesma estrutura de MsExecAuto conforme o modelo antigo utilizado no Protheus.
No entanto é possível através do modelo de dados, utilizar a mesma para funcionar de forma muito semelhante como mostrado no exemplo abaixo.
Maiores detalhes sobre o padrão MVC podem ser consultados em: MVC (Model View Controller)
Operação de Inclusão
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" // **************************************************************************** // *************** ATENÇÃO: ESTA FUNÇÃO NÃO PODE SER OMSA090¹ ***************** // **************************************************************************** // ¹ O nome User Function OMSA090 é reservado para o PE padrão do MVC User Function OMSA090I() Local oModel, oModelcab, oModelCli Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") oModel := FwLoadModel("OMSA090") oModelCab := oModel:GetModel("MdFieldCDA7") oModelCli := oModel:GetModel("MdGridDA7F1") oModel:SetOperation(MODEL_OPERATION_INSERT) // Seta operação de inclusão oModel:Activate() // Ativa o Modelo oModelCab:SetValue("DA7_PERCUR","ZONTST") oModelCab:SetValue("DA7_ROTA" ,"SET002") oModelCli:SetValue("DA7_SEQUEN","000001") oModelCli:SetValue("DA7_CLIENT","L00001") oModelCli:SetValue("DA7_LOJA","01") oModelCli:AddLine() oModelCli:SetValue("DA7_SEQUEN","000002") oModelCli:SetValue("DA7_CLIENT","L00001") oModelCli:SetValue("DA7_LOJA","02") oModelCli:AddLine() oModelCli:SetValue("DA7_SEQUEN","000003") oModelCli:SetValue("DA7_CLIENT","L00001") oModelCli:SetValue("DA7_LOJA","03") //Validação e Gravação do Modelo If oModel:VldData() oModel:CommitData() Else VarInfo("Erro",oModel:GetErrorMessage()) EndIf RESET ENVIRONMENT Return
Operação de Modificação
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" // **************************************************************************** // *************** ATENÇÃO: ESTA FUNÇÃO NÃO PODE SER OMSA090¹ ***************** // **************************************************************************** // ¹ O nome User Function OMSA090 é reservado para o PE padrão do MVC User Function OMSA090U() Local oModel, oModelcab, oModelCli, oModelCep Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") oModel := FwLoadModel("OMSA090") oModelCab := oModel:GetModel("MdFieldCDA7") oModelCli := oModel:GetModel("MdGridDA7F1") oModelCep := oModel:GetModel("MdGridDA7F2") DA7->(DbSetOrder(1)) // DA7_FILIAL, DA7_PERCUR, DA7_ROTA DA7->(DbSeek(xFilial("DA7")+"ZONTST"+"SET002")) oModel:SetOperation(MODEL_OPERATION_UPDATE) // Seta operação de modificação oModel:Activate() // Ativa o Modelo If oModelCli:SeekLine( { {"DA7_SEQUEN","000003"} } ) oModelCli:DeleteLine() EndIf oModelCep:SetValue("DA7_SEQUEN","000001") oModelCep:SetValue("DA7_CEPDE" ,"89200000") oModelCep:SetValue("DA7_CEPATE","89299999") //Validação e Gravação do Modelo If oModel:VldData() oModel:CommitData() Else VarInfo("Erro",oModel:GetErrorMessage()) EndIf RESET ENVIRONMENT Return
Operação de Exclusão
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" // **************************************************************************** // *************** ATENÇÃO: ESTA FUNÇÃO NÃO PODE SER OMSA090¹ ***************** // **************************************************************************** // ¹ O nome User Function OMSA090 é reservado para o PE padrão do MVC User Function OMSA090D() Local oModel Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") oModel := FwLoadModel("OMSA090") DA7->(DbSetOrder(1)) // DA7_FILIAL, DA7_PERCUR, DA7_ROTA DA7->(DbSeek(xFilial("DA7")+"ZONTST"+"SET002")) oModel:SetOperation(MODEL_OPERATION_DELETE) // Seta operação de exclusão oModel:Activate() // Ativa o Modelo //Validação e Gravação do Modelo If oModel:VldData() oModel:CommitData() Else VarInfo("Erro",oModel:GetErrorMessage()) EndIf RESET ENVIRONMENT Return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas