Home

Linha Microsiga Protheus

Páginas filhas
  • PMSA203 Tarefas do Projeto - Rotina automática

Documento: PMSA203 (Tarefas do Projeto) - Rotina automática

Este documento contêm exemplos de utilizações da rotinas automáticas de inclusão, alteração e exclusão do rotina Cadastro de Tarefas de um projeto (PMSA203).


 //INCLUSAO
USER FUNCTION PMS203I2()
LOCAL aGetCPos := {}
 
PRIVATE lMsErroAuto := .F.

//Posiciona no projeto
DbSelectArea("AF8")
dbSetOrder(1)
DbSeek(xFilial("AF8")+'TESTE2    ' )
 
aAdd(aGetCPos ,{"AF9_PROJET" ,'TESTE2    '     ,.F.})
aAdd(aGetCPos ,{"AF9_TAREFA" ,'02          '   ,.F.})
aAdd(aGetCPos ,{"AF9_REVISA" ,PmsRevAtu('TESTE2    ')   ,.F.})
aAdd(aGetCPos ,{"AF9_EDTPAI" ,'TESTE2      ' ,.F.})
aAdd(aGetCPos ,{"AF9_DESCRI" ,'DESCRICAO TESTE' ,.F.})
aAdd(aGetCPos ,{"AF9_QUANT"  ,1 ,.F.})
aAdd(aGetCPos ,{"AF9_NIVEL"  ,'002' ,.F.})
aAdd(aGetCPos ,{"AF9_CALEND" ,'001' ,.F.})
aAdd(aGetCPos ,{"AF9_HDURAC" ,8 ,.F.})
aAdd(aGetCPos ,{"AF9_HORAI"  ,"08:00" ,.F.})
aAdd(aGetCPos ,{"AF9_START" , dDataBase ,.F.})
 
MSExecAuto({|a,b,c,d| PMSA203(a,b,c,d)},3,{},"002",aGetCpos)
 
If lMsErroAuto
MostraErro()
Else
Alert("Tarefa inclusa com sucesso!")
Endif
 
Return
 
//ALTERAÇÃO
USER FUNCTION PMS203A2()
 
LOCAL aGetCPos := {}
 
PRIVATE lMsErroAuto := .F.
 
//Posiciona no projeto
DbSelectArea("AF8")
dbSetOrder(1)
IF DbSeek(xFilial("AF8")+'TESTE2    ' )
 
//Posiciona na tarefa.
DbSelectArea("AF9")
dbSetOrder(1) //AF9_FILIAL+AF9_PROJET+AF9_REVISA+AF9_TAREFA
DbSeek(xFilial("AF9")+AF8->(AF8_PROJET+AF8_REVISA)+'02          ' )
 
   // Campos para Compor chave de busca na rotina automatica (obrigatorio)
aAdd(aGetCPos ,{"AF9_PROJET" ,AF9_PROJET     ,.F.})
aAdd(aGetCPos ,{"AF9_TAREFA" ,AF9_TAREFA   ,.F.})
aAdd(aGetCPos ,{"AF9_REVISA" ,AF9_REVISA ,.F.})
   // fim dos campos de chave
   
   
aAdd(aGetCPos ,{"AF9_QUANT"  ,99 ,.T.}) // Campo que será alterado
MSExecAuto({|a,b,c,d| PMSA203(a,b,c,d)},4,{},"002",aGetCpos)
If lMsErroAuto
MostraErro()
Else
Alert("Tarefa Alterada com sucesso!")
Endif
Else
Alert("Projeto não encontrado!")
Endif
Return
 
 
//EXCLUSÃO
 
USER FUNCTION PMS203E2()
 
LOCAL aGetCPos := {}
 
PRIVATE lMsErroAuto := .F.
//Posiciona no projeto
DbSelectArea("AF8")
dbSetOrder(1)
IF DbSeek(xFilial("AF8")+'TESTE2    ' )
 
//Posiciona na tarefa.
DbSelectArea("AF9")
dbSetOrder(1) //AF9_FILIAL+AF9_PROJET+AF9_REVISA+AF9_TAREFA
DbSeek(xFilial("AF9")+AF8->(AF8_PROJET+AF8_REVISA)+'02          ' )
 
   // Campos para Compor chave de busca na rotina automatica (obrigatorio)
aAdd(aGetCPos ,{"AF9_PROJET" ,AF9_PROJET     ,.F.})
aAdd(aGetCPos ,{"AF9_TAREFA" ,AF9_TAREFA   ,.F.})
aAdd(aGetCPos ,{"AF9_REVISA" ,AF9_REVISA ,.F.})
MSExecAuto({|a,b,c,d| PMSA203(a,b,c,d)},5,{},"002",aGetCpos)
If lMsErroAuto
MostraErro()
Else
Alert("Tarefa Excluída com sucesso!")
Endif
Else
Alert("Projeto não encontrado!")
Endif
 
Return