Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 Exemplo de Rotina Automática CNTA300

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

Gestão de Contratos

Rotina:

Rotina

Nome Técnico

CNTA300

Manutenção de Contratos

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Descrição

A Rotina CNTA300 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 CNTA300.

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

 

Exemplo de Rotina Automática

 

Bloco de código
themeEclipse
#Include 'Protheus.ch'
#INCLUDE "FWMVCDEF.CH"
User Function CN300AUTO()

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

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

oModel:Activate() // Ativa o Modelo 

//Cabeçalho do contrato
oModel:SetValue( 'CN9MASTER'	, 'CN9_DTINIC'	, Ctod("24/02/2017")	)
oModel:SetValue( 'CN9MASTER'	, 'CN9_NUMERO'	, '000000000000069'	)
oModel:SetValue( 'CN9MASTER'	, 'CN9_UNVIGE'	, '3'					)
oModel:SetValue( 'CN9MASTER'	, 'CN9_VIGE'		, 1						)
oModel:SetValue( 'CN9MASTER'	, 'CN9_MOEDA'		, 1						)
oModel:SetValue( 'CN9MASTER'	, 'CN9_CONDPG'	, '001'				)
oModel:SetValue( 'CN9MASTER'	, 'CN9_TPCTO'		, '001'				)
oModel:SetValue( 'CN9MASTER'	, 'CN9_FLGREJ'	, '2'					)
oModel:SetValue( 'CN9MASTER'	, 'CN9_FLGCAU'	, '2'					)
oModel:SetValue( 'CN9MASTER'	, 'CN9_ASSINA'	, Ctod("24/02/2017")	)

//Cliente/Fornecedor do Contrato
oModel:SetValue( 'CNCDETAIL'	, 'CNC_CODIGO'	, '001   '	)
oModel:SetValue( 'CNCDETAIL'	, 'CNC_LOJA'		, '01'		)
//Planilhas do Contrato
oModel:LoadValue(	'CNADETAIL'	, 'CNA_CONTRA'	, '000000000000069'	)
oModel:SetValue( 	'CNADETAIL' 	, 'CNA_NUMERO'	, '000001'				)
oModel:SetValue(	'CNADETAIL' 	, 'CNA_FORNEC'	, '001   '				)
oModel:SetValue(	'CNADETAIL' 	, 'CNA_LJFORN'	, '01'					)
oModel:SetValue(	'CNADETAIL' 	, 'CNA_TIPPLA'	, '004'				)
oModel:SetValue(	'CNADETAIL' 	, 'CNA_FLREAJ'	, '2'					)

//Itens da Planilha do Contrato
oModel:SetValue( 'CNBDETAIL'	, 'CNB_ITEM'		, '001'				)
oModel:SetValue( 'CNBDETAIL'	, 'CNB_PRODUT'	, '001            '	)
oModel:SetValue( 'CNBDETAIL'	, 'CNB_QUANT'		, 1						)
oModel:SetValue( 'CNBDETAIL'	, 'CNB_VLUNIT'	, 1000					)
oModel:SetValue( 'CNBDETAIL'	, 'CNB_PEDTIT'	, '1'					)

//Cronograma Financeiro

oModel:GetModel('CNFDETAIL'):SetNoInserLine(.F.)
oModel:GetModel('CNFDETAIL'):SetNoUpdateLine(.F.)

oModel:LoadValue( 'CNFDETAIL'	, 'CNF_NUMERO' 	, '000071'				)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_PARCEL' 	, '01'					)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_COMPET'	, '02/2017'			)
oModel:SetValue( 'CNFDETAIL'	, "CNF_VLPREV"	, 500					)
oModel:SetValue( 'CNFDETAIL'	, "CNF_VLREAL"	, 0						)
oModel:SetValue( 'CNFDETAIL'	, "CNF_SALDO"		, 500					)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_PRUMED'	, Ctod("24/02/2017")	)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_DTVENC'	, Ctod("24/02/2017")	)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_TXMOED'	, 1						)

oModel:GetModel('CNFDETAIL'):AddLine()

oModel:LoadValue( 'CNFDETAIL'	, 'CNF_NUMERO' 	, '000071'				)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_PARCEL' 	, '02'					)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_COMPET'	, '02/2017'			)
oModel:SetValue( 'CNFDETAIL'	, "CNF_VLPREV"	, 500					)
oModel:SetValue( 'CNFDETAIL'	, "CNF_VLREAL"	, 0						)
oModel:SetValue( 'CNFDETAIL'	, "CNF_SALDO"		, 500					)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_PRUMED'	, Ctod("24/02/2017")	)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_DTVENC'	, Ctod("24/02/2017")	)
oModel:SetValue( 'CNFDETAIL'	, 'CNF_TXMOED'	, 1						)

//Validação e Gravação do Modelo
If oModel:VldData() 
	oModel:CommitData() 
EndIf

Return