Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Função: Obrigatório - Campo obrigatório
|
Nome | Tipo | Descrição | Obrigatório | Referência |
aGets | Vetor | Variavel PRIVATE tratada pelo objeto Enchoice(), previamente definida no fonte. | X | |
aTela | Vetor | Variavel PRIVATE tratada pelo objeto Enchoice(), previamente definida no fonte. | X | |
uPar3 | Qualquer | Não utilizado. | ||
lShow | Lógico | Determina se exibirá o help caso algum campo obrigatório não tenha sido preenchido.Default é .T. |
- lRet(logico)
- Indica se todos os campos obrigatórios foram preenchidos.
#include "protheus.ch"User Function TstObrigat()Private cCadastro := "Atualizacao de dados do bem"Private aRotina := { {"Pesquisar" ,"AxPesqui" ,0,1} ,; {"Visualizar" ,"AxVisual" ,0,2} ,; {"Atualizar" ,"U_TObrigAtu" ,0,4}}Private cDelFunc := ".T."Private cString := "SA1"dbSelectArea("SA1")dbSetOrder(1)dbSelectArea(cString)mBrowse( 6,1,22,75,cString)ReturnUser Function TObrigAtu(cAlias,nReg,nOpc)Local aCpoEnch := {}Local aAlter := {}Local aButtons := {}Local cAliasE := cAliasLocal aAlterEnch := {}Local aPos := {015,000,400,600}Local nModelo :=1Local lF3 := .F.Local lMemoria := .T.Local lColumn := .F.Local caTela := ""Local lNoFolder := .F.Local lProperty := .F.Private oDlgPrivate oGetDPrivate oEnchPrivate aTELA[0][0] // Variáveis que serão atualizadas pela Enchoice()Private aGETS[0] // e utilizadas pela função OBRIGATORIO()DbSelectArea("SX3")DbSetOrder(1)DbSeek(cAliasE)//Campos da enchoice While !Eof() .And. SX3->X3_ARQUIVO == cAliasEIf !(SX3->X3_CAMPO $ "A1_FILIAL") .And. cNivel >= SX3->X3_NIVEL .And. X3Uso(SX3->X3_USADO) AAdd(aCpoEnch,SX3->X3_CAMPO)EndIfDbSkip()End//Campos alteráveis da enchoice AADD(aAlterEnch,"A1_COD") AADD(aAlterEnch,"A1_LOJA")AADD(aAlterEnch,"A1_NOME") AADD(aAlterEnch,"A1_PESSOA") AADD(aAlterEnch,"A1_NREDUZ") AADD(aAlterEnch,"A1_END") AADD(aAlterEnch,"A1_TIPO") //Montagem do DIALOG DEFINE MSDIALOG oDlg TITLE cCadastro FROM 000,000 TO 400,600 PIXELRegToMemory("SA1", .F.)oEnch := MsMGet():New(cAliasE, nReg, nOpc, /*aCRA*/, /*cLetra*/,; /*cTexto*/, aCpoEnch,aPos,aAlterEnch, nModelo, /*nColMens*/,; /*cMensagem*/, /*cTudoOk*/, oDlg, lF3, lMemoria, lColumn,; caTela, lNoFolder, lProperty)ACTIVATE MSDIALOG oDlg CENTERED ON INIT EnchoiceBar(oDlg, {||IIF(TObrigGRV(aCpoEnch,aAlterEnch,nOpc),; oDlg:End(),.F.)},; // Botão OK {||oDlg:End()},,aButtons) // Botão CancelarRETURN//Validação da enchoice e gravação dos dadosStatic Function TObrigGRV(aCpos,aAlter,nOpc)Local aArea := GetArea()Local nX := 0IF !Obrigatorio(aGets,aTela) /*Valida o cabecalho*/ //Para apresentar a mensagem neste teste, é necessário limpar o conteúdo de algum campo obrigatório //como por exemplo o campo A1_END. MsgAlert("É necessário informar o conteúdo de todos os campos obrigatorios antes da gravação") Return .F.ENDIF// Atualizacao dos campos passiveis de alteracao no SN1RecLock("SA1",.F.) For nX := 1 to Len(aAlter) SA1->&(aAlter[nX]) := M->&(aAlter[nX]) Next nXMsUnLock()Return .T.
4GL Interop
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas