CONTEÚDO
01. VISÃO GERAL
A rotina de Contrato de Compra(OGA280) 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('OGA280') oModel:SetOperation(MODEL_OPERATION_INSERT) //INCLUSÃO oModel:Activate() //### Modelos de dados: NJRUNICO ### //modelo de dados do formulario "Contrato" 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_TESEST', '001') 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('20/12/2021')) oModel:GetModel('NNYUNICO'):SetValue('NNY_DATFIM', cTod('20/01/2022')) 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('20/01/2022')) //modelo de dados da Grid "Despesas - Corretores" //oModel:GetModel('NNFUNICO'):GoLine( 1 ) //posicionando na linha //modelo de dados da Grid "Cessao de Credito do Contrato " //oModel:GetModel('NNGUNICO'):GoLine( 1 ) //posicionando na linha 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") + "000413")) oModel := FWLoadModel('OGA280') 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 Compra 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('25/01/2022')) //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('25/01/2022')) 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") + "000413")) oModel := FWLoadModel('OGA280') 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('OGA280') oModel:SetOperation(MODEL_OPERATION_INSERT) //INCLUSÃO oModel:Activate() //### Modelos de dados: NJRUNICO ### //modelo de dados do formulario "Contrato" 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('20/12/2021')) oModel:GetModel('NNYUNICO'):SetValue('NNY_DATFIM', cTod('30/01/2022')) 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', '001') 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('24/01/2022')) //modelo de dados da Grid "Despesas - Corretores" //oModel:GetModel('NNFUNICO'):GoLine( 1 ) //posicionando na linha //modelo de dados da Grid "Cessao de Credito do Contrato " //oModel:GetModel('NNGUNICO'):GoLine( 1 ) //posicionando na linha 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") + "000416")) oModel := FWLoadModel('OGA280') 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 Compra 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('10/02/2022')) //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('07/02/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") + "000416")) oModel := FWLoadModel('OGA280') 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 Compra (OGA280)
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas