CONTEÚDO
01. VISÃO GERAL
A rotina de Contrato de Venda(OGA290) foi criado usando a arquitetura Model-View-Controller ou MVC, possibilitando o uso da regra de negócio em aplicações automática.
A finalidade deste documento é exemplificar a inclusão, alteração e exclusão de um contrato de venda via rotina automática MVC.
Para mais detalhes sobre a utilização do MVC, consulte a pagina: http://tdn.totvs.com/display/public/mp/AdvPl+utilizando+MVC
Deve ser adequado conforme a necessidade do cliente.
02. EXEMPLO DE UTILIZAÇÃO MODELO CLASSICO
User Function zIncReg() Local lRet := .F. Local oModel := Nil oModel := FWLoadModel('OGA290') oModel:SetOperation(MODEL_OPERATION_INSERT) //INCLUSÃO oModel:Activate() //### Modelos de dados: NJRUNICO ### //modelo de dados do formulario "Contrato" oModel:GetModel('NJRUNICO'):SetValue('NJR_DATA', cTod('26/11/2021') ) oModel:GetModel('NJRUNICO'):SetValue('NJR_DESCRI', 'Contrato Venda Teste') oModel:GetModel('NJRUNICO'):SetValue('NJR_CODENT', '000001') oModel:GetModel('NJRUNICO'):SetValue('NJR_LOJENT', '01') oModel:GetModel('NJRUNICO'):SetValue('NJR_CODSAF', '2122') oModel:GetModel('NJRUNICO'):SetValue('NJR_CODPRO', 'AGR-SOJA GRANEL') oModel:GetModel('NJRUNICO'):SetValue('NJR_TABELA', '000001') oModel:GetModel('NJRUNICO'):SetValue('NJR_TESEST', '501') oModel:GetModel('NJRUNICO'):SetValue('NJR_TIPFIX', '1') oModel:GetModel('NJRUNICO'):SetValue('NJR_VLRBAS', 60) oModel:GetModel('NJRUNICO'):SetValue('NJR_VLRUNI', 60) oModel:GetModel('NJRUNICO'):SetValue('NJR_VLRTOT', 10000) //modelo de dados da Grid "Previsão de Entregas / Cadências" oModel:GetModel('NNYUNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('NNYUNICO'):SetValue('NNY_ITEM', '001') oModel:GetModel('NNYUNICO'):SetValue('NNY_DATINI', cTod('30/11/2021')) oModel:GetModel('NNYUNICO'):SetValue('NNY_DATFIM', cTod('10/12/2021')) oModel:GetModel('NNYUNICO'):SetValue('NNY_QTDINT', 10000) //modelo de dados da Grid "Dados das Previsões Financeiras" oModel:GetModel('NN7UNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('NN7UNICO'):SetValue('NN7_ITEM', '001') oModel:GetModel('NN7UNICO'):SetValue('NN7_VALOR', 10000) oModel:GetModel('NN7UNICO'):SetValue('NN7_PARCEL', '1') oModel:GetModel('NN7UNICO'):SetValue('NN7_DTVENC', cTod('10/12/2021')) If oModel:VldData() //valida os dados oModel:CommitData() //realiza a gravação do registro conout("Registro incluído com sucesso!") MsgInfo("Registro incluído com sucesso!") lRet := .T. Else VarInfo("Erro ao incluir o registro!",oModel:GetErrorMessage()) MsgAlert("Erro ao incluir o registro!") EndIf return lRet
User Function zAltReg() Local lRet := .F. Local oModel := Nil dbSelectArea("NJR") NJR->(DbSetOrder(1)) If NJR->(DbSeek(xFilial("NJR") + '000201')) oModel := FWLoadModel('OGA290') oModel:SetOperation(MODEL_OPERATION_UPDATE) //ALTERAÇÃO oModel:Activate() //### Modelos de dados: NJRUNICO ### //modelo de dados do formulario "Contrato" oModel:GetModel('NJRUNICO'):SetValue('NJR_DESCRI', 'Contrato Venda Teste 2') //modelo de dados da Grid "Previsão de Entregas / Cadências" oModel:GetModel('NNYUNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('NNYUNICO'):SetValue('NNY_DATFIM', cTod('21/12/2021')) //modelo de dados da Grid "Dados das Previsões Financeiras" oModel:GetModel('NN7UNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('NN7UNICO'):SetValue('NN7_DTVENC', cTod('21/12/2021')) If oModel:VldData() //valida os dados oModel:CommitData() //realiza a gravação do registro MsgInfo("Registro alterado com sucesso!") lRet := .T. Else VarInfo("Erro ao alterar o registro!",oModel:GetErrorMessage()) MsgAlert("Erro ao alterar o registro!") EndIf Else MsgInfo("Registro alterado com sucesso!") EndIf return lRet
User Function zDelReg() Local lRet := .F. Local oModel := Nil dbSelectArea("NJR") NJR->(DbSetOrder(1)) If NJR->(DbSeek(xFilial("NJR") + '000201')) oModel := FWLoadModel('OGA290') oModel:SetOperation(MODEL_OPERATION_DELETE) //EXCLUSÃO oModel:Activate() If oModel:VldData() //valida os dados oModel:CommitData() //realiza a gravação do registro MsgInfo("Registro excluido com sucesso!") lRet := .T. Else VarInfo("Erro ao excluir o registro!",oModel:GetErrorMessage()) MsgAlert("Erro ao excluir o registro!") EndIf Else MsgInfo("Registro não localizado!") EndIf return lRet
03. EXEMPLO DE UTILIZAÇÃO MODELO NOVA COMERCIALIZAÇÃO
User Function zIncReg() Local lRet := .F. Local oModel := Nil oModel := FWLoadModel('OGA290') oModel:SetOperation(MODEL_OPERATION_INSERT) //INCLUSÃO oModel:Activate() //### Modelos de dados: NJRUNICO ### //modelo de dados do formulario "Contrato" oModel:GetModel('NJRUNICO'):SetValue('NJR_DATA', cTod('26/11/2021') ) oModel:GetModel('NJRUNICO'):SetValue('NJR_DESCRI', 'Contrato Compra Teste') oModel:GetModel('NJRUNICO'):SetValue('NJR_CODENT', '000001') oModel:GetModel('NJRUNICO'):SetValue('NJR_LOJENT', '01') oModel:GetModel('NJRUNICO'):SetValue('NJR_CODSAF', '2122') oModel:GetModel('NJRUNICO'):SetValue('NJR_CODPRO', 'AGR-SOJA GRANEL') oModel:GetModel('NJRUNICO'):SetValue('NJR_TABELA', '000001') oModel:GetModel('NJRUNICO'):SetValue('NJR_TIPFIX', '1') //modelo de dados da Grid "Previsão de Entregas / Cadências" oModel:GetModel('NNYUNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('NNYUNICO'):SetValue('NNY_ITEM', '001') oModel:GetModel('NNYUNICO'):SetValue('NNY_DATINI', cTod('30/11/2021')) oModel:GetModel('NNYUNICO'):SetValue('NNY_DATFIM', cTod('15/12/2021')) oModel:GetModel('NNYUNICO'):SetValue('NNY_QTDINT', 10000) oModel:GetModel('NNYUNICO'):SetValue('NNY_FILORG', 'D MG 01') //modelo de dados da Grid "Dados das Previsões Financeiras" oModel:GetModel('N9AUNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('N9AUNICO'):SetValue('N9A_SEQPRI', '001') oModel:GetModel('N9AUNICO'):SetValue('N9A_CODFIN', '000004') oModel:GetModel('N9AUNICO'):SetValue('N9A_TES', '501') oModel:GetModel('N9AUNICO'):SetValue('N9A_QUANT', 10000) //modelo de dados da Grid "Dados das Previsões Financeiras" oModel:GetModel('N84UNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('N84UNICO'):SetValue('N84_SEQUEN', '01') oModel:GetModel('N84UNICO'):SetValue('N84_REFCTR', '7') oModel:GetModel('N84UNICO'):SetValue('N84_TIPVAL', '2') oModel:GetModel('N84UNICO'):SetValue('N84_PCT', 100) oModel:GetModel('N84UNICO'):SetValue('N84_DTFIXA', cTod('15/12/2021')) If oModel:VldData() //valida os dados oModel:CommitData() //realiza a gravação do registro MsgInfo("Registro incluído com sucesso!") lRet := .T. Else VarInfo("Erro ao incluir o registro!",oModel:GetErrorMessage()) MsgAlert("Erro ao incluir o registro!") EndIf return lRet
User Function zAltReg() Local lRet := .F. Local oModel := Nil dbSelectArea("NJR") NJR->(DbSetOrder(1)) If NJR->(DbSeek(xFilial("NJR") + '000217')) oModel := FWLoadModel('OGA290') oModel:SetOperation(MODEL_OPERATION_UPDATE) //ALTERAÇÃO oModel:Activate() //### Modelos de dados: NJRUNICO ### //modelo de dados do formulario "Contrato" oModel:GetModel('NJRUNICO'):SetValue('NJR_DESCRI', 'Contrato venda teste alterar') //modelo de dados da Grid "Previsão de Entregas / Cadências" oModel:GetModel('NNYUNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('NNYUNICO'):SetValue('NNY_DATFIM', cTod('21/12/2021')) //modelo de dados da Grid "Dados das Previsões Financeiras" oModel:GetModel('N9AUNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('N9AUNICO'):SetValue('N9A_TES', '506') //modelo de dados da Grid "Dados das Previsões Financeiras" oModel:GetModel('N84UNICO'):GoLine( 1 ) //posicionando na linha oModel:GetModel('N84UNICO'):SetValue('N84_DTFIXA', cTod('21/12/2021')) If oModel:VldData() //valida os dados oModel:CommitData() //realiza a gravação do registro MsgInfo("Registro alterado com sucesso!") lRet := .T. Else VarInfo("Erro ao alterar o registro!",oModel:GetErrorMessage()) MsgAlert("Erro ao alterar o registro!") EndIf Else MsgInfo("Registro alterado com sucesso!") EndIf return lRet
User Function zDelReg() Local lRet := .F. Local oModel := Nil dbSelectArea("NJR") NJR->(DbSetOrder(1)) If NJR->(DbSeek(xFilial("NJR") + '000218')) oModel := FWLoadModel('OGA290') oModel:SetOperation(MODEL_OPERATION_DELETE) //EXCLUSÃO oModel:Activate() If oModel:VldData() //valida os dados oModel:CommitData() //realiza a gravação do registro MsgInfo("Registro excluido com sucesso!") lRet := .T. Else VarInfo("Erro ao excluir o registro!",oModel:GetErrorMessage()) MsgAlert("Erro ao excluir o registro!") EndIf Else MsgInfo("Registro não localizado!") EndIf return lRet
04. ASSUNTOS RELACIONADOS
- Parâmetro MV_AGRO002 - Informar se deverá ser utilizado o novo modelo de negócio
- Contrato de Venda (OGA290)
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas