Árvore de páginas

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

Gestão de Compras Públicas

Rotina:

Rotina

Nome Técnico

GCPA100

Análise de Mercado

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Lista de funções úteis

Função

Utilização

Referente ao botão

GCP100MDSug(oModel)Retorna o código da modalidade sugerida

Exemplo de rotina automática - Inclusão Análise de Mercado por Item

A Rotina GCPA100 foi desenvolvida em MVC, portanto para realizar a inclusão, alteração e exclusão de um contrato, automaticamente, deve-se fazer uso do modelo de dados. A Seguir mostraremos um exemplo de como realizar a inclusão de um contrato utilizando o modelo de dados da rotina GCPA100.

Para mais detalhes sobre a utilização do MVC, consulte a pagina: http://tdn.totvs.com/display/public/mp/AdvPl+utilizando+MVC


#Include "Protheus.ch"

#Include "FWMVCDEF.CH" 

//-------------------------------------------------------------------

/*/{Protheus.doc} GPC100AUTO() 

Função que efetua a inclusão de Analise de Mercado por Item. 

@author TOTVS

@since 00/00/0000

@version 1.0 

/*/

//-------------------------------------------------------------------

User Function GPC100AUTO() 

Local oModel := FWLoadModel("GCPA100") //Carrega o modelo

Local cLogError := ""


oModel:SetOperation(MODEL_OPERATION_INSERT) //Seta operação de inclusão 

oModel:Activate() //Ativa o Modelo

 

//Cabeçalho Análise de Mercado

oModel:SetValue( 'COM_MASTER'    , 'COM_REGRA'   , '002'      )

oModel:SetValue( 'COM_MASTER'    , 'COM_TIPO'    , 'DR'       )

 

//Produtos

oModel:SetValue( 'CON_DETAIL'    , 'CON_CODPRO'  , 'P000001'  )

oModel:SetValue( 'CON_DETAIL'    , 'CON_QUANT'   , 100        )

oModel:SetValue( 'CON_DETAIL'    , 'CON_VALEST'  , 230         )

 

//Solicitações

oModel:LoadValue( 'COO_DETAIL'    , 'COO_NUMSC'   , 'PMS08M'  )

oModel:LoadValue( 'COO_DETAIL'    , 'COO_ITEMSC'  , '001'     )

oModel:LoadValue( 'COO_DETAIL'    , 'COO_QUANT'   , 100       )

 

//Fornecedores

oModel:SetValue( 'COP_DETAIL'    , 'COP_TIPO'    , '2'         )

oModel:SetValue( 'COP_DETAIL'    , 'COP_CODFOR'  , '000005'  )

oModel:SetValue( 'COP_DETAIL'    , 'COP_PRCUN'   , 230        )

 

oModel:GetModel('CON_DETAIL'):AddLine() //Adiciona uma nova linha para Produto

 

//Produtos

oModel:SetValue( 'CON_DETAIL'    , 'CON_CODPRO'  , 'P000002')

oModel:SetValue( 'CON_DETAIL'    , 'CON_QUANT'   , 50         )

oModel:SetValue( 'CON_DETAIL'    , 'CON_VALEST'  , 300       )

 

//Solicitações

oModel:LoadValue( 'COO_DETAIL'    , 'COO_NUMSC'   , 'PMS08M'  )

oModel:LoadValue( 'COO_DETAIL'    , 'COO_ITEMSC'  , '002'     )

oModel:LoadValue( 'COO_DETAIL'    , 'COO_QUANT'   , 50        )

 

//Fornecedores

oModel:SetValue( 'COP_DETAIL'    , 'COP_TIPO'    , '2'        )

oModel:SetValue( 'COP_DETAIL'    , 'COP_CODFOR'  , '000005'  )

oModel:SetValue( 'COP_DETAIL'    , 'COP_PRCUN'   , 300        )

 

//Validação e Gravação do Modelo

If oModel:VldData()

    oModel:CommitData()

Else
    aEval( oModel:GetErrorMessage(), { | x | cLogError += cValToChar( x ) + CRLF } ) 
    Help( ,,"GCP101AUTO",,cLogError, 1, 0 )

EndIf 


oModel:DeActivate() //Desativa o modelo 

oModel:Destroy() //Destrói o modelo


Return



Para utilização da ExecAuto para inclusão de Análise de Mercado por lote acesse o link: Exemplo de Rotina Automática GCPA100 - Análise de Mercado por Lote


  • Sem rótulos