Classe: FWFormModelStruct


Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Português, Inglês, Espanhol
VersãoP10 R1.4


Descrição
Classe responsável por representar uma estrutura de dados para um
submodelo do Model. 

A classe tem estrutura para representar:
- Uma Tabela
- Diversos Campos
- Diversos Indexes
- Diversos Gatilhos


New

Sintaxe
FWFORMMODELSTRUCT():New()-> NIL

Descrição
Método construtor da classe

ClassName

Sintaxe
FWFORMMODELSTRUCT():ClassName()-> cClassName

Descrição
Retorna o nome da classe (FWFORMMODELSTRUCT)


Retorno
cClassName Nome da classe
AddTable

Sintaxe
FWFORMMODELSTRUCT():AddTable(<cAlias >, [ aPK ], <cDescription >, <bRealName >)-> NIL

Descrição
Adiciona uma estrutura que represente uma tabela, essa tabela
pode ser do dicionário de dados ou qualquer outra tabela.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cAliasCaracteresAlias da tabela
X
aPKArrayArray unidimensional com os campos que correspondem a primary key


cDescriptionCaracteresDescrição da tabela
X
bRealNameBloco de CódigoBloco de código para determinar o nome da tabela no FileSystem ou no banco, o bloco
recebera o objeto da estrutura como parâmetro, e deve retornar o nome físico

X


 
GetTable

Sintaxe
FWFORMMODELSTRUCT():GetTable()-> aRetorno

Descrição
Fornece os dados da tabela da estrutura


Retorno
aRetorno Array com os seguintes dados
             [01] ExpC: Alias da tabela
             [02] ExpA: Array unidimensional com os campos que correspondem a primary key
             [03] ExpC: ]Descrição da tabela
AddIndex

Sintaxe
FWFORMMODELSTRUCT():AddIndex(<nOrdem >, <cOrdem >, <cKey >, <cDescription >, <cLookUp >, <cNickName >, <lShow >)-> NIL

Descrição
Adiciona um índice a estrutura.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
nOrdemNuméricoOrdem do índice
X
cOrdemCaracteresID
X
cKeyCaracteresChave do índice
X
cDescriptionCaracteresDescrição do índice
X
cLookUpCaracteresExpressão de lookUp dos campos de índice
X
cNickNameCaracteresNickname do índice
X
lShowLógicoIndica se o índice pode ser utilizado pela interface
X


 
GetIndex

Sintaxe
FWFORMMODELSTRUCT():GetIndex()-> aRetorno

Descrição
Fornece os dados de todos os indices da estrutura


Retorno
aRetorno Array com a definição dos indices
             [01] ExpN: Ordem numérica
             [02] ExpC: Ordem no metadado
             [03] ExpC: Chave do índice
             [04] ExpC: Descrição do índice
             [05] ExpC: LookUp
             [06] ExpC: NickName
             [07] ExpL: Show?
AddField

Sintaxe
FWFORMMODELSTRUCT():AddField(<cTitulo >, <cTooltip >, <cIdField >, <cTipo >, <nTamanho >, [ nDecimal ], [ bValid ], [ bWhen ], [ aValues ], [ lObrigat ], [ bInit ], <lKey >, [ lNoUpd ], [ lVirtual ], [ cValid ])-> NIL

Descrição
Adiciona um campo a estrutura.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cTituloCaracteresTitulo do campo
X
cTooltipCaracteresTooltip do campo
X
cIdFieldCaracteresId do Field
X
cTipoCaracteresTipo do campo
X
nTamanhoNuméricoTamanho do campo
X
nDecimalNuméricoDecimal do campo0

bValidBloco de CódigoBloco de código de validação do campo{|| .T.}

bWhenBloco de CódigoBloco de código de validação when do campo


aValuesArrayLista de valores permitido do campo{}

lObrigatLógicoIndica se o campo tem preenchimento obrigatório.F.

bInitBloco de CódigoBloco de código de inicialização do campo


lKeyLógicoIndica se trata-se de um campo chave
X
lNoUpdLógicoIndica se o campo não pode receber valor em uma operação de update.F.

lVirtualLógicoIndica se o campo é virtual.F.

cValidCaracteresValid do usuário em formato texto e sem alteração, usado para se criar o aHeader de compatibilidade""


RemoveField

Sintaxe
FWFORMMODELSTRUCT():RemoveField(<cIdField >)-> NIL

Descrição
Remove um campo da estrutura.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresId do Field
X


 
GetFields

Sintaxe
FWFORMMODELSTRUCT():GetFields()-> aRetorno

Descrição
Retorna a coleção de campos da estrutura


Retorno
aRetorno Array com a estrutura de metadado dos campos da classe
             [n] Array com os campos
             [n][01] ExpC: Titulo
             [n][02] ExpC: Tooltip
             [n][03] ExpC: IdField
             [n][04] ExpC: Tipo
             [n][05] ExpN: Tamanho
             [n][06] ExpN: Decimal
             [n][07] ExpB: Valid
              [n][08] ExpB: When
             [n][09] ExpA: Lista de valores ( Combo )
             [n][10] ExpL: Obrigatório
             [n][11] ExpB: Inicializador padrão
             [n][12] ExpL: Campo chave
             [n][13] ExpL: Campo atualizável
             [n][14] ExpL: Campo virtual   
             [n][15] ExpC: Valid do usuário em formato texto e sem alteração, usado para se criar o aHeader de compatibilidade         
AddTrigger

Sintaxe
FWFORMMODELSTRUCT():AddTrigger(<cIdField >, <cTargetIdField >, [ bPre ], <bSetValue >)-> NIL

Descrição
Adiciona um trigger a estrutura


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresId do campo de origem
X
cTargetIdFieldCaracteresId do campo de destino
X
bPreBloco de CódigoBloco de código de validação da execução do gatilho{|| .T.}

bSetValueBloco de CódigoBloco de código de execução do gatilho
X


 
GetTriggers

Sintaxe
FWFORMMODELSTRUCT():GetTriggers()-> aRetorno

Descrição
Retorna a coleção de triggers da estrutura


Retorno
aRetorno Array com a estrutura de metadado dos triggers da classe
             [n]Array com os triggers
             [n][01] ExpC: IdField Origem
             [n][02] ExpC: IdField Alvo
             [n][03] ExpB: When
             [n][04] ExpB: Execução
SetProperty

Sintaxe
FWFORMMODELSTRUCT():SetProperty(<cIdField >, <nProperty >, <xValue >)-> NIL

Descrição
Troca a propriedade de um Field ou de Todos


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresID do Field( se passado * troca de todos os campos)
X
nPropertyNuméricoNome da Propriedade, ela pode ser(lembre-se de incluir o FWMVCDEF.CH no fonte):
MODEL_FIELD_TITULO C Titulo
MODEL_FIELD_TOOLTIP C Descrição completa do campo
MODEL_FIELD_IDFIELD C Nome (ID)
MODEL_FIELD_TIPO C Tipo
MODEL_FIELD_TAMANHO N Tamanho
MODEL_FIELD_DECIMAL N Decimais
MODEL_FIELD_VALID B Validação
MODEL_FIELD_WHEN B Modo de edição
MODEL_FIELD_VALUES A Lista de valores permitido do campo (combo)
MODEL_FIELD_OBRIGAT L Indica se o campo tem preenchimento obrigatório
MODEL_FIELD_INIT B Inicializador padrão
MODEL_FIELD_KEY L Indica se o campo é chave
MODEL_FIELD_NOUPD L Indica se o campo pode receber valor em uma operação de update.
MODEL_FIELD_VIRTUAL L Indica se o campo é virtual

X
xValueQualquer- Valor a ser atribuído
X


 
GetProperty

Sintaxe
FWFORMMODELSTRUCT():GetProperty(<cIdField >, <nProperty >)-> xValue

Descrição
Recupera a propriedade de um Field


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresID do Field
X
nPropertyNuméricoNome da Propriedade, ela pode ser(lembre-se de incluir no fonte o FWMVCDEF.CH):
MODEL_FIELD_TITULO C Titulo
MODEL_FIELD_TOOLTIP C Descrição completa do campo
MODEL_FIELD_IDFIELD C Nome (ID)
MODEL_FIELD_TIPO C Tipo
MODEL_FIELD_TAMANHO N Tamanho
MODEL_FIELD_DECIMAL N Decimais
MODEL_FIELD_VALID B Validação
MODEL_FIELD_WHEN B Modo de edição
MODEL_FIELD_VALUES A Lista de valores permitido do campo (combo)
MODEL_FIELD_OBRIGAT L Indica se o campo tem preenchimento obrigatório
MODEL_FIELD_INIT B Inicializador padrão
MODEL_FIELD_KEY L Indica se o campo é chave
MODEL_FIELD_NOUPD L Indica se o campo pode receber valor em uma operação de update.
MODEL_FIELD_VIRTUAL L Indica se o campo é virtual

X


 

Retorno
xValue - Valor do campo
IsEmpty

Sintaxe
FWFORMMODELSTRUCT():IsEmpty()-> lEmpty

Descrição
Retorna se o objeto está vazio.


Retorno
lEmpty Se verdadeiro a estrutura está vazia
      
HasField

Sintaxe
FWFORMMODELSTRUCT():HasField(<cIdField >)-> NIL

Descrição
Informa de um determinado campo existe na estrutura


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresId do campo
X


 
GetArrayPos

Sintaxe
FWFORMMODELSTRUCT():GetArrayPos(<aFieldsId >)-> aPosFields

Descrição
Recebe um array com os campos que devem ser procurados e retorna
um array com a posição de cada campo na estrutura. O array de retorno
tem o mesmo tamanho que o array recebido por parâmetro.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
aFieldsIdArrayArray unidimensional com os IDs dos campos
X


 
Retorno
aPosFields Retorna um array unidimensional com a posição de cada campo na estrutura.

Exemplo

aPosFields := oStruZA2:GetArrayPos("ZA2_MUSICA", "ZA2_ITEM")

Observações
Método abortara o sistema caso algum campo não seja encontrado.
GetAllFieldProp

Sintaxe
FWFORMMODELSTRUCT():GetAllFieldProp(<cIdField >)-> aRet

Descrição
Retorna todas propriedades de uma campo especifico. É necessário que
que chamar este método limpe o retorno do mesmo com aSize, pois
esse método faz aClone do mesmo.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresID do Campo
X


Retorno
aRet Cópia de todas as propriedades do campo
FieldsLength

Sintaxe
FWFORMMODELSTRUCT():FieldsLength()->

Descrição
Retorna a quantidade de campos na estrutura.

Retorno
nFieldsLenth
getLogicTableName

Sintaxe
FWFORMMODELSTRUCT():getLogicTableName()-> NIL

Descrição
Retorna o nome físico da tabela
   
GetFieldPos

Sintaxe
FWFORMMODELSTRUCT():GetFieldPos(<cIdField >)->

Descrição
Retorna a posição na estrutura de um Campo


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cIdFieldCaracteresId do campo
X


Retorno
nPos

  • Sem rótulos