Histórico da Página
...
Classe: FWFormModel
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ão | P10 R1.4<br />Todas |
Descrição
Classe responsável pelo controle das regras de negócio.
Esta classe permite o encapsulamento das regras de negócio baseadas em Submodelos,
Estrutura de Dados e validações em código. Por conta disto cria um ambiente
padronizado, extensível a diversas midias e propício a reutilização de código.
O Model é composto basicamente por Submodelos. Um SubModelo representa uma entidade
e permite manipular registros. Existem basicamente dois tipos de Submodelo, o
formfield e o formgrid. O primeiro permite manipular somente um registro por vez
e o segundo permite manipular vários registros ao mesmo tempo.
A regra de negócio pode definir os seguintes itens:
- Submodelos de edição, tais como FormField(edição de apenas uma linha) e
FormGrid(edição de várias linhas)
- Regras de Dependência entre os Submodelos
- Validação de Campos
- Validação de Submodelo
- Validação Geral
- Persistência(gravação) dos dados
- Estrutura de Dados para os submodelos
O Model é totalmente segregado, ele pode ser usado em uma interface ou pode
ser usado em WebServices, Rotinas Automáticas ou outras opções sem interação
visual com o usuário.
Como o Model é separado da interface, não é permitido usar nenhum componente
de interface no código, tais como Alert, MsgAlert e etc.. A única exceção à regra
é a função Help. O MVC trata essa função e quando a mesma é usada no Model
e não há interface, a mensagem de erro fica guardada no model e pode ser acessada
usando o método GetErrorMessage()
Esta classe permite o encapsulamento das regras de negócio baseadas em Submodelos,
Estrutura de Dados e validações em código. Por conta disto cria um ambiente
padronizado, extensível a diversas midias e propício a reutilização de código.
O Model é composto basicamente por Submodelos. Um SubModelo representa uma entidade
e permite manipular registros. Existem basicamente dois tipos de Submodelo, o
formfield e o formgrid. O primeiro permite manipular somente um registro por vez
e o segundo permite manipular vários registros ao mesmo tempo.
A regra de negócio pode definir os seguintes itens:
- Submodelos de edição, tais como FormField(edição de apenas uma linha) e
FormGrid(edição de várias linhas)
- Regras de Dependência entre os Submodelos
- Validação de Campos
- Validação de Submodelo
- Validação Geral
- Persistência(gravação) dos dados
- Estrutura de Dados para os submodelos
O Model é totalmente segregado, ele pode ser usado em uma interface ou pode
ser usado em WebServices, Rotinas Automáticas ou outras opções sem interação
visual com o usuário.
Como o Model é separado da interface, não é permitido usar nenhum componente
de interface no código, tais como Alert, MsgAlert e etc.. A única exceção à regra
é a função Help. O MVC trata essa função e quando a mesma é usada no Model
e não há interface, a mensagem de erro fica guardada no model e pode ser acessada
usando o método GetErrorMessage()
Veja também
Submodelos:
FWFormGridModel
FWFormFieldsModel
Estrutura de Dados:
FWFormModelStruct
FWFormStruct
New
Sintaxe
FWFORMMODEL():New([ cID ], [ bPre ], [ bPost ], [ bCommit ], [ bCancel ])-> NIL
Descrição
Método construtor da classe
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | Identificador do modelo | X | ||
bPre | Bloco de Código | Bloco de código de pré-validação do modelo. O bloco recebe como parametro o objeto de Model e deve retornar um valor lógico. Quando houver uma tentativa de atualização de valor de qualquer Submodelo o bloco de código será invocado. Caso o retorno seja verdadeiro, a alteração será permitida, se retornar falso não será possível concluir a alteração e um erro será atribuido ao model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bPost | Bloco de Código | Bloco de código de pós-validação do modelo, equilave ao "TUDOOK". O bloco recebe como parametro o objeto de Model e deve retornar um valor lógico. O bloco será invocado antes da persistência dos dados para validar o model. Caso o retorno seja verdadeiro e não haja nenhum submodelo invalido, será feita a gravação dos dados. Se retornar falso não será possível realizar a gravação e um erro será atribuido ao model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bCommit | Bloco de Código | Bloco de código de persistência dos dados, ele é invocado pelo método CommitData. O bloco recebe como parametro o objeto do Model e deve realizar a gravação dos dados. | X | ||
bCancel | Bloco de Código | Bloco de código de cancelamento da edição, ele é invocado pelo método CancelData. O bloco recebe como parametro o objeto do Model. | X |
Exemplo
Static Function ModelDef()
Local oModel := FWFormModel():New('COMP011MODEL', , { |oMdl| COMP011POS( oMdl ) }, {|oModel| commit()},{|oModel| cancel()})
Return
Static Function COMP011POS( oModel )
Local nOperation := oModel:GetOperation()
Local lRet := .T.
If nOperation == MODEL_OPERATION_UPDATE
If Empty( oModel:GetValue( 'ZA0MASTER', 'ZA0_DTAFAL' ) )
oModel:SetErrorMessage('ZA0MASTER', 'ZA0_DTAFAL' , 'ZA0MASTER' , 'ZA0_DTAFAL' , "Erro", 'Data incorreta', 'Informe a data')
lRet := .F.
EndIf
EndIf
Return lRet
Static Function commit()
Return
Static Function cancel()
Return
Observações
Se a aplicação é uma Function, o identificador (cID) do modelo de dados (Model) pode
ter o mesmo nome da função principal e esta prática é recomendada para facilitar a
codificação. Por exemplo, se estamos escrevendo a função XPTO, o identificador (cID) do
modelo de dados (Model) poderá ser XPTO.
Se a aplicação é uma User Function o identificador (ID) do modelo de dados (Model)
NÃO pode ter o mesmo nome da função principal, isso por causa dos pontos de entrada
que já são criados automaticamente quando desenvolvemos uma aplicação em MVC.
User Function COMP011_MVC
Local oModel := FWFormModel():New("COMP011",,,{|oModel| commit()},{|oModel| cancel()})
Return
Function COMP012_MVC
Local oModel := FWFormModel():New("COMP012_MVC",,,{|oModel| commit()},{|oModel| cancel()})
Return
Veja também
Método setErrorMessage
Activate
Sintaxe
FWFORMMODEL():Activate([ lCopy ])-> NIL
Descrição
Método de ativação da classe. Esse método deve ser usado depois
que o objeto já foi completamente definido, pois após a ativação
não será mais possível realizar definições, tais como addField,
addGrid, setActivate e etc..
Quando a classe é ativada, os dados do submodelo são carregados.
que o objeto já foi completamente definido, pois após a ativação
não será mais possível realizar definições, tais como addField,
addGrid, setActivate e etc..
Quando a classe é ativada, os dados do submodelo são carregados.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lCopy | Lógico | Informa se o model deve carregar os dados do registro posicionado em operações de inclusão. Essa opção é usada quando é necessário fazer uma operação de cópia. | .F. |
Observações
Este método realiza algumas validações no preenchimento dos
parametros de operação da classe, gerando uma exceção caso haja
algum problema de configuração.
parametros de operação da classe, gerando uma exceção caso haja
algum problema de configuração.
DeActivate
Sintaxe
FWFORMMODEL():DeActivate()-> NIL
Descrição
Método de desativação da classe. Quando a classe é desativada, os dados
do submodelo são perdidos e o objeto passa a aceitar novamente
os métodos de parametrização, tais como addField, setActivate e etc.
Este método deve ser utilizado para reparametrizar a classe ou para
reinicializar o preenchimento do submodelo.
do submodelo são perdidos e o objeto passa a aceitar novamente
os métodos de parametrização, tais como addField, setActivate e etc.
Este método deve ser utilizado para reparametrizar a classe ou para
reinicializar o preenchimento do submodelo.
Destroy
Sintaxe
FWFORMMODEL():Destroy()-> NIL
Descrição
Destroy o objeto e suas referencias a outros objetos.
O Objeto não pode ter sido desativado.
Importante chamar principalmente quando instanciamos o mesmo em loop.
O Objeto não pode ter sido desativado.
Importante chamar principalmente quando instanciamos o mesmo em loop.
ClassName
Sintaxe
FWFORMMODEL():ClassName()-> cClassName
Descrição
Fornece o nome da classe
Retorno
cClassName Nome da classe
GetId
Sintaxe
FWFORMMODEL():GetId()-> Id
Descrição
Fornece o Id do objeto informado no método new.
Retorno
Id Id do objeto
SetDescription
Sintaxe
FWFORMMODEL():SetDescription([ cDescription ])-> NIL
Descrição
Atribui ao modelo um texto explicativo sobre o objetivo do Modelo.
O objetivo é mostrado em diversos operações, tais como web services,
relatórios e schemas (xsd).
O objetivo é mostrado em diversos operações, tais como web services,
relatórios e schemas (xsd).
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cDescription | Caracteres | Descrição do objetivo do modelo | X |
Observações
Este método somente pode ser utilizado se o objeto estiver desativado
GetDescription
Sintaxe
FWFORMMODEL():GetDescription()-> cDescription
Descrição
Fornece um texto contendo a descrição do modelo, que é informado
no método SetDescription.
no método SetDescription.
Retorno
cDescription Descrição do objetivo do modelo
Veja também
SetDescription
AddFields
Sintaxe
FWFORMMODEL():AddFields([ cId ], [ cOwner ], [ oModelStruct ], [ bPre ], [ bPost ], [ bLoad ])-> NIL
Descrição
Adiciona ao modelo um submodelo de edição por campo (FormField).
Um submodelo do tipo Field permite manipular somente um
registro por vez. Ele tem um relacionamento do tipo 1xN ou 1x1 com outros
SubModelos ou então não tem nenhum relacionamento.
Um submodelo do tipo Field permite manipular somente um
registro por vez. Ele tem um relacionamento do tipo 1xN ou 1x1 com outros
SubModelos ou então não tem nenhum relacionamento.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cId | Caracteres | Identificador do modelo. O Id será solicitado em diversas operações com este submodelo. | X | ||
cOwner | Caracteres | Identificador superior do submodelo, o Owner é o submodelo que se relaciona diretamente com o formfield. | "" | ||
oModelStruct | Objeto | Objeto com a estrutura de dados do tipo FWFormModelStruct. | X | ||
bPre | Bloco de Código | Bloco de Código de pré-validação do submodelo. Esse bloco é invocado quando há uma tentativa de atribuição de valores. O bloco recebe por parametro o objeto do FormField(FWFormFieldsModel), a identificação da ação e a identificação do campo que está sofrendo a atribuição. As identificações que podem ser passadas são as seguintes: - "CANSETVALUE" : valida se o submodelo pode ou não receber atribuição de valor. - "SETVALUE" : valida se o campo do submodelo pode receber aquele valor. Nesse caso o bloco recebe um quarto parametro que contem o valor que está sendo atribuido ao campo. Para todos os casos o bloco deve retornar um valor lógico, indicando se a ação pode ou não ser executada. Se o retorno for falso um erro será atribuido no Model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bPost | Bloco de Código | Bloco de Código de pós-validação do submodelo, ele é equivalente ao "TUDOOK". O bloco de código recebe como parametro o objeto de model do FormField(FWFormFieldsModel) e deve retornar um valor lógico. Este bloco é invocado antes da persistência(gravação) dos dados, validando o submodelo . Se o retorno for verdadeiro a gravação será realizada se os demais submodelos também estiverem validos, do contrário um erro será atribuido no Model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bLoad | Bloco de Código | Bloco de carga dos dados do submodelo. Este bloco será invocado durante a execução do método activate desta classe. O bloco recebe por parametro o objeto de model do FormField(FWFormFieldsModel) e um valor lógico indicando se é uma operação de cópia. Espera-se como retorno um array com os dados que serão carregados no objetp, o array deve ter a estrutura abaixo: [1] Array com os dados, a ordem dos dados deve seguir exatamente a mesma ordem dos campos da estrutura de dados [1][1] "Nome" [1][2] "Cidade" [2] ExpN: Id do registro (RecNo) |
Exemplo
Static Function ModelDef()
Local oModel
Local oStruZA1:= FWFormStruct(1,'ZA1')
Local bPre := {|oFieldModel, cAction, cIDField, xValue| validPre(oFieldModel, cAction, cIDField, xValue)}
Local bPos := {|oFieldModel|fieldValidPos(oFieldModel)}
Local bLoad := {|oFieldModel, lCopy| loadField(oFieldModel, lCopy)}
oModel := FWFormModel():New('COMP021',,,{|oModel| commit()},{|oModel| cancel()})
oModel:addFields('ZA1MASTER',,oStruZA1,bPre,bPos,bLoad)
Return oModel
Static Function fieldValidPos(oFieldModel)
Local lRet := .T.
If "MUSICA" $ Upper(oFieldModel:GetValue("ZA1_TITULO"))
lRet := .F.
oFieldModel:GetModel():SetErrorMessage('ZA1MASTER', "ZA1_TITULO" , 'ZA1MASTER' , 'ZA1_TITULO' , "Erro", 'Título incorreto', 'O texto "musica" não pode estar contido no título.')
EndIf
Return lRet
Static Function validPre(oFieldModel, cAction, cIDField, xValue)
Local lRet := .T.
If cAction == "SETVALUE" .And. cIDField == "ZA1_FILIAL"
lRet := .F.
oFieldModel:GetModel():SetErrorMessage('ZA1MASTER', "ZA1_FILIAL" , 'ZA1MASTER' , 'ZA1_FILIAL' , "Erro", 'Filial', 'Não possível atribuir valor ao campo Filial.')
Return
Return lRet
Static Function loadField(oFieldModel, lCopy)
Local aLoad := {}
aAdd(aLoad, {xFilial("ZA1"), "000001", "Musica 1", Date(), "R"}) //dados
aAdd(aLoad, 1) //recno
Return aLoad
Static Function commit()
Return
Static Function cancel()
Return
Observações
O primeiro SubModelo do Model deve ser, obrigatoriamente, um FormField.
Veja também
FWFormModelStruct
FWFormStruct
FWFormFieldModel
Método SetErrorMessage
AddGrid
Sintaxe
FWFORMMODEL():AddGrid([ cId ], [ cOwner ], [ oModelStruct ], [ bLinePre ], [ bLinePost ], [ bPre ], [ bPost ], [ bLoad ])-> NIL
Descrição
Adiciona ao modelo um submodelo de edição por grid (FormGrid).
Um submodelo do tipo Grid permite manipular diversos registros por
vez. Ele tem um relacionamento do tipo Nx1 ou NxM com outros Submodelos.
Um submodelo do tipo Grid permite manipular diversos registros por
vez. Ele tem um relacionamento do tipo Nx1 ou NxM com outros Submodelos.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cId | Caracteres | Identificador do modelo. O Id será solicitado em diversas operações com este submodelo. | X | ||
cOwner | Caracteres | Identificador superior do submodelo. O Owner é o submodelo que se relaciona diretamente com o formgrid. | X | ||
oModelStruct | Objeto | Objeto com a estrutura de dados do tipo FWFormModelStruct. | X | ||
bLinePre | Bloco de Código | Bloco de Código de pre-edição da linha do grid. O bloco é invocado na deleção de linha, no undelete da linha e nas tentativas de atribuição de valor. Recebe como parametro o objeto de modelo do FormGrid(FWFormGridModel), o número da linha atual e a identificação da ação. A Identificação da ação pode ser um dos itens abaixo: - "UNDELETE" - "DELETE" - "SETVALUE" : nesse caso, serão passados mais três parametros. O 4º parametro é o identificador do campo que está sendo atualizado, o 5º parametro é o valor que está sendo atribuido e o 6º parametro é o valor que está atualmente no campo. - "CANSETVALUE" : nesse caso será passado mais um parametro. O 4º parametro é o identificador do campo que está tentando ser atualizado. O retorno do bloco deve ser um valor lógico que indique se a linha está valida para continuar com a ação. Se retornar verdadeiro, executa a ação do contrário atribui um erro ao Model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bLinePost | Bloco de Código | Bloco de código de pós validação da linha do grid, equivale ao "LINHAOK" Recebe como parametro o objeto de modelo do FormGrid(FWFormGridModel) e o número da linha que está sendo validada. O bloco será invocado antes da gravação dos dados e na inclusão de uma linha. Espera-se um retorno lógico do bloco indicando se a linha está ou não valida. Caso o retorno seja falso um erro será atribuido no Model e a gravação não será realizada, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bPre | Bloco de Código | Bloco de Código de pré-validação do submodelo. O bloco é invocado na deleção de linha, no undelete da linha, na inserção de uma linha e nas tentativas de atribuição de valor. Recebe como parametro o objeto de modelo do FormGrid(FWFormGridModel), o número da linha atual e a identificação da ação. A Identificação da ação pode ser um dos itens abaixo: - "UNDELETE" - "DELETE" - "ADDLINE" : nesse caso não será passado nada para o parametro de numero de linha - "SETVALUE" : nesse caso, serão passados mais três parametros. O 4º parametro é o identificador do campo que está sendo atualizado, o 5º parametro é o valor que está sendo atribuido e o 6º parametro é o valor que está atualmente no campo. - "CANSETVALUE" : nesse caso será passado mais um parametro. O 4º parametro é o identificador do campo que está tentando ser atualizado. O retorno do bloco deve ser um valor lógico que indique se a linha está valida para continuar com a ação. Se retornar verdadeiro, executa a ação do contrário atribui um erro ao Model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. O bloco de código recebe como parametro o objeto de modelo do FormGrid(FWFormGridModel) e deve retornar um valor lógico. Este bloco é invocado em toda tentativa de atualização dos valores do submodelo. Se o retorno do bloco for verdadeiro a atualização é permitida, do contrário um erro será atribuido no Model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bPost | Bloco de Código | Bloco de Código de pós-validação do submodelo, ele é equivalente ao "TUDOOK". O bloco de código recebe como parametro o objeto de model do FormGrid(FWFormGridModel) e deve retornar um valor lógico. Este bloco é invocado antes da persistência(gravação) dos dados, validando o submodelo . Se o retorno do bloco for verdadeiro a gravação será realizada se os demais submodelos também estiverem validos, do contrário um erro será atribuido no Model, sendo necessário indicar a natureza do erro através do método SetErrorMessage. | {|| .T.} | ||
bLoad | Bloco de Código | Bloco de carga dos dados do submodelo. Este bloco será invocado durante a execução do método activate desta classe. O bloco recebe por parametro o objeto de model do FormGrid(FWFormGridModel) e um valor lógico indicando se é uma operação de cópia. Espera-se como retorno um array com os dados que serão carregados no objeto, o array deve ter a estrutura abaixo: [n] [n][1] ExpN: Id do registro (RecNo) [n][2] Array com os dados, os dados devem seguir exatamente a mesma ordem da estrutura de dados | {|| {} } |
Exemplo
Static Function ModelDef()
Local oModel
Local oStruZA1:= FWFormStruct(1,'ZA1')
Local oStruZA2 := FWFormStruct( 1, 'ZA2')
Local bLinePre := {|oGridModel, nLine, cAction, cIDField, xValue, xCurrentValue| linePreGrid(oGridModel, nLine, cAction, cIDField, xValue, xCurrentValue)}
Local bLoad := {|oGridModel, lCopy| loadGrid(oGridModel, lCopy)}
oModel := FWFormModel():New('COMP021',,,{|oModel| commit()},{|oModel| cancel()})
oModel:AddFields('ZA1MASTER',,oStruZA1)
oModel:AddGrid( 'ZA2DETAIL', 'ZA1MASTER', oStruZA2, bLinePre, , , ,bLoad)
Return oModel
Static Function loadGrid(oGridModel, lCopy)
Local aLoad := {}
aAdd(aLoad,{0,{xFilial("ZA2"), "000001", "01", "000100","AUTOR1","AUTOR"}})
aAdd(aLoad,{0,{xFilial("ZA2"), "000001", "02", "000102","AUTOR2","AUTOR"}})
aAdd(aLoad,{0,{xFilial("ZA2"), "000001", "03", "000104","AUTOR3","AUTOR"}})
aAdd(aLoad,{0,{xFilial("ZA2"), "000001", "04", "000105","AUTOR4","AUTOR"}})
aAdd(aLoad,{0,{xFilial("ZA2"), "000001", "05", "000106","AUTOR5","AUTOR"}})
Return aLoad
Static Function linePreGrid(oGridModel, nLine, cAction, cIDField, xValue, xCurrentValue)
Local lRet := .T.
If cAction == "SETVALUE"
If oGridModel:GetValue("ZA2_TIPO") == "AUTOR"
lRet := .F.
oGridModel:GetModel():SetErrorMessage('ZA2DETAIL', 'ZA2_TIPO' , 'ZA2DETAIL' , 'ZA2_TIPO' , 'Erro', 'Não é possível alterar linhas do tipo Autor', '')
EndIf
EndIf
Return lRet
Static Function commit()
Return
Static Function cancel()
Return
Observações
O Model deve sempre iniciar com um submodelo do tipo Field
Veja também
Método SetErrorMessage
FWFormGridModel
FWFormModelStruct
AddCalc
Sintaxe
FWFORMMODEL():AddCalc([ cId ], [ cOwner ], [ cIdForm ], [ cIdField ], [ cIdCalc ], [ cOperation ], [ bCond ], [ bInitValue ], [ cTitle ], [ bFormula ], [ nTamanho ], [ nDecimal ])-> NIL
Descrição
Adiciona ao modelo um submodelo de campos calculados baseado em campos de
um submodelo do tipo grid. Esse submodelo deve ser usado para
fazer calculos, por exemplo, pode-se criar um calc para somar a coluna
valor total do item, tendo assim o total de todos os itens.
Pode-se criar um calc do tipo média e fazer a média das quantidades
de um grid, por exemplo.
O submodelo calc suporta diversos campos de calculo, precisando ter
no minimo 1 e no máximo N. Ou seja, pode-se criar um calc "TOTAIS"
e dentro dele criar dois campos calculado, um para o total e outro para
a média.
um submodelo do tipo grid. Esse submodelo deve ser usado para
fazer calculos, por exemplo, pode-se criar um calc para somar a coluna
valor total do item, tendo assim o total de todos os itens.
Pode-se criar um calc do tipo média e fazer a média das quantidades
de um grid, por exemplo.
O submodelo calc suporta diversos campos de calculo, precisando ter
no minimo 1 e no máximo N. Ou seja, pode-se criar um calc "TOTAIS"
e dentro dele criar dois campos calculado, um para o total e outro para
a média.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cId | Caracteres | Identificador do submodelo. O Id será solicitado em diversas operações. | X | ||
cOwner | Caracteres | Identificador owner do submodelo. Esse ID correponde ao owner do grid usado como base para o submodelo calc. | X | ||
cIdForm | Caracteres | Identificador do submodelo do tipo grid que será a base para os calculos. | X | ||
cIdField | Caracteres | Identificador do campo que será a base do calculo. | X | ||
cIdCalc | Caracteres | Identificador para o campo que será calculado. | X | ||
cOperation | Caracteres | Identificador da operação a ser realizada ( SUM, COUNT, AVG, FORMULA ) | "SUM" | ||
bCond | Bloco de Código | Bloco de código referente a condicão para avaliação do campo calculado. Recebe como parametro o objeto do model(FwFormModel) e deve retornar um valor lógico. Se o retorno for verdadeiro, executa a operação para o campo calculado. | |||
bInitValue | Bloco de Código | Bloco de codigo para com o valor inicial para o campo calculado. Recebe como parametro o objeto do modelo e deve retornar o valor inicial. | |||
cTitle | Caracteres | Titulo do campo calculado. | CIDCALC | ||
bFormula | Bloco de Código | Formula a ser utilizada quando o parametro operacao é do tipo FORMULA. Recebe como parametros: - o objeto do model (FwFormModel) - o valor da atual do campo calculado - o conteudo do campo do submodelo Grid - campo logico indicando se é uma execuçao de soma (.T.) ou subtracao (.F.). O valor retornado será atribuido ao campo calculado. Exemplo: {|oModel,nTotalAtual,xValor,lSomando| Calculo(oModel,nTotalAtual,xValor,lSomando)} | X | ||
nTamanho | Numérico | Tamanho do campo calculado, se nao for informado usa o tamanho do campo base. | X | ||
nDecimal | Numérico | Numero de casas decimais do campo calculado, se nao for informado usa o tamanho do decimal do campo base. | X |
Exemplo
Static Function ModelDef()
// Cria a estrutura a ser usada no Modelo de Dados
Local oStruZA1 := FWFormStruct( 1, 'ZA1')
Local oStruZA2 := FWFormStruct( 1, 'ZA2')
Local oModel
oModel := FWFormModel():New( 'COMP022M',,,{|oModel| commit()},{|oModel| cancel()})
oModel:AddFields( 'ZA1MASTER', , oStruZA1)
oModel:AddGrid( 'ZA2DETAIL', 'ZA1MASTER', oStruZA2)
oModel:AddCalc( 'COMP022CALC1', 'ZA1MASTER', 'ZA2DETAIL', 'ZA2_AUTOR', 'ZA2__TOT01', 'COUNT', { | oMld | COMP022CAL( oMld, .T. ) },,'Total Pares' )
oModel:AddCalc( 'COMP022CALC1', 'ZA1MASTER', 'ZA2DETAIL', 'ZA2_AUTOR', 'ZA2__TOT02', 'COUNT', { | oMld | COMP022CAL( oMld, .F. ) },,'Total Impares' )
oModel:SetRelation( 'ZA2DETAIL', { { 'ZA2_FILIAL', 'xFilial( "ZA2" ) ' } , { 'ZA2_MUSICA', 'ZA1_MUSICA' } } , ZA2->( IndexKey( 1 ) ) )
oModel:SetDescription( 'Modelo de Musicas' )
oModel:GetModel( 'ZA1MASTER' ):SetDescription( 'Dados da Musica' )
oModel:GetModel( 'ZA2DETAIL' ):SetDescription( 'Dados do Autor' )
Return oModel
Static Function COMP022CAL( oModel, lPar )
Local lRet := .T.
If lPar
lRet := ( Mod( Val( oModel:GetValue( 'ZA2DETAIL', 'ZA2_AUTOR' ) ) , 2 ) == 0 )
Else
lRet := ( Mod( Val( oModel:GetValue( 'ZA2DETAIL', 'ZA2_AUTOR' ) ) , 2 ) <> 0 )
EndIf
Return lRet
Static Function commit()
Return
Static Function cancel()
Return
Observações
Um submodelo de calc somente pode ser criado abaixo de um submodelo do tipo grid
AddRules
Sintaxe
FWFORMMODEL():AddRules([ cIDSubModel ], [ cIDField ], [ cIDTargetSubModel ], [ cIDFieldTarget ], [ nType ])-> NIL
Descrição
Adiciona uma relação de dependência entre dois campos, definindo que o
preenchimento de um campo depende do preenchimento de outro.
Por exemplo, podemos definir que o campo Código da Loja só pode ser
preenchido após o preenchimento do campo Código do Cliente.
A regra pode ser criada com campos do mesmo submodelo ou com campos de submodelos diferentes.
preenchimento de um campo depende do preenchimento de outro.
Por exemplo, podemos definir que o campo Código da Loja só pode ser
preenchido após o preenchimento do campo Código do Cliente.
A regra pode ser criada com campos do mesmo submodelo ou com campos de submodelos diferentes.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDSubModel | Caracteres | Identificador do submodelo do campo receptor | X | ||
cIDField | Caracteres | Identificador do campo receptor | X | ||
cIDTargetSubModel | Caracteres | Identificador do submodelo do campo disparador | X | ||
cIDFieldTarget | Caracteres | Identificador do campo disparador | "" | ||
nType | Numérico | Identificador da operacao de relacionamento. Existem três opções: Tipo 1 - Pré Validação: Adiciona uma relação de dependência entre os campos, impedindo a atribuição de valor caso os campos de dependência não tenham valor atribuído. Por exemplo, o preenchimento do campo Código da Loja só pode ser preenchido após o preenchimento do campo Código do Cliente. Tipo 2 - Pós Validação: Adiciona uma relação de dependência entre o receptor e o disparador, provocando uma reavaliação em caso de atualização do campo receptor. Por exemplo, após o preenchimento do campo Código da Loja a validação é reavaliado caso o Código do Cliente seja alterado. Tipo 3 - Ambas : Aplica a pré e a pós validação simultaneamente. | 3 |
Exemplo
//campo Loja dependendo do preenchimento do campo Cliente
oModel:AddRules( 'ZA1MASTER', 'A1_LOJA', 'ZA1MASTER', 'A1_CLIENTE', 3)
//Campo autor do submodelo GRID depende do preenchimento do campo data do submodelo FIELD
oModel:AddRules( 'ZA2DETAIL', 'ZA2_AUTOR', 'ZA1MASTER', 'ZA1_DATA', 3)
GetDependency
Sintaxe
FWFORMMODEL():GetDependency([ cId ])-> aModels
Descrição
Fornece a relacao de modelos que são dependentes (filhos) do modelo ou de um submodelo
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cId | Caracteres | Identificador do modelo de proprietário, caso não seja passado esse parametro o método irá retornar os filhos do modelo |
Retorno
aModels Estrutura
[n][1] Tipo do objeto FIELD ou GRID
[n][2] Id do objeto
[n][3] Objeto do modelo (FWFormFieldModel ou FWFormGridModel)
[n][4] Array com a estrutura dos filhos no mesmo formato
[n][1] Tipo do objeto FIELD ou GRID
[n][2] Id do objeto
[n][3] Objeto do modelo (FWFormFieldModel ou FWFormGridModel)
[n][4] Array com a estrutura dos filhos no mesmo formato
GetModelStruct
Sintaxe
FWFORMMODEL():GetModelStruct([ cId ])-> aModels
Descrição
Fornece a Estrutura do modelo ou de um submodelo
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cId | Caracteres | Identificador do modelo ou de um submodelo |
Retorno
aModels Estrutura
[n][1] Tipo do objeto FIELD ou GRID
[n][2] Id do objeto
[n][3] Objeto do modelo (FWFormFieldModel ou FWFormGridModel)
[n][4] Array com a estrutura dos filhos no mesmo formato
[n][1] Tipo do objeto FIELD ou GRID
[n][2] Id do objeto
[n][3] Objeto do modelo (FWFormFieldModel ou FWFormGridModel)
[n][4] Array com a estrutura dos filhos no mesmo formato
GetModel
Sintaxe
FWFORMMODEL():GetModel([ cId ])-> oRetorno
Descrição
Localiza o submodelo referente ao ID passado por parametro e retorna,
o objeto do submodelo, podendo ser do tipo FWFormFieldsModel ou
FWFormGridModel
o objeto do submodelo, podendo ser do tipo FWFormFieldsModel ou
FWFormGridModel
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cId | Caracteres | Id do objeto. Se não informado será retornado o próprio model. |
Retorno
oRetorno Objeto do submodelo(FWFormFieldsModel ou
FWFormGridModel). Se o cID for vazio, retorna o próprio model.
FWFormGridModel). Se o cID for vazio, retorna o próprio model.
GetXMLData
Sintaxe
FWFORMMODEL():GetXMLData([ lDetail ], [ nOperation ], [ lXSL ], [ lVirtual ], [ lDeleted ], [ lEmpty ], [ lDefinition ], [ cXMLFile ])-> cXML
Descrição
Fornece uma string com os dados do modelo no formato XML, conforme o modo de operação especificado ( SetOperation ) e
se o objeto esta ativado ( Activate ) ou não (deactivate). Quando o objeto esta desativado ou a operação é de inclusão
uma folha de dados em branco é fornecida.
se o objeto esta ativado ( Activate ) ou não (deactivate). Quando o objeto esta desativado ou a operação é de inclusão
uma folha de dados em branco é fornecida.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lDetail | Lógico | Indica se o xml gerado deve incluir as tags de detalhamento dos dados. Aconselha-se a evitar o detalhamento dos dados, uma vez que eles estão contido no Schema do XML ( GetXMLSchema ). | .F. | ||
nOperation | Numérico | Indica a operação que será indicada na exportação do XML | ::NOPERATION | ||
lXSL | Lógico | Informe se o layout deve ser gerado | .F. | ||
lVirtual | Lógico | Indica se os campos virtuais devem estar contidos no xml gerado | .T. | ||
lDeleted | Lógico | Indica se as linhas deletadas dos grids devem estar contidas no xml gerado | .T. | ||
lEmpty | Lógico | Indica se gera xml com campos nao obrigatorios vazios (utilizado na geracao do XSLT) | .F. | ||
lDefinition | Lógico | Indica se gera xml com a definicao (tratamento para o E4X do javascript utilizado no BPM) | .T. | ||
cXMLFile | Caracteres | Nome do arquivo XML a ser gerado com path (default StartPath). Se este parametro for informado a geracao sera em arquivo automaticamente | "" |
Retorno
cXML XML com do modelo e os dados
Veja também
SetOperation,GetXMLSchema
GetJSONData
Sintaxe
FWFORMMODEL():GetJSONData([ lDetail ], [ nOperation ], [ lVirtual ], [ lDeleted ], [ lEmpty ])-> cJson
Descrição
Fornece uma string JSON de dados do modelo, conforme o modo de operação especificado ( SetOperation ) e
se o objeto esta ativado ( Activate ) ou não (deactivate). Quando o objeto esta desativado ou a operação é de inclusão
uma folha de dados em branco é fornecida.
se o objeto esta ativado ( Activate ) ou não (deactivate). Quando o objeto esta desativado ou a operação é de inclusão
uma folha de dados em branco é fornecida.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lDetail | Lógico | Indica se deve incluir as tags de detalhamento dos dados | .F. | ||
nOperation | Numérico | Indica a operação que será indicada na exportação | ::NOPERATION | ||
lVirtual | Lógico | Indica se os campos virtuais devem estar contidos | .T. | ||
lDeleted | Lógico | Indica se as linhas deletadas dos grids devem estar contidas | .T. | ||
lEmpty | Lógico | Indica se gera com campos nao obrigatorios vazios | .F. |
Retorno
cJson JSON com o modelo e os dados
Veja também
SetOperation
GetXMLSchema
Sintaxe
FWFORMMODEL():GetXMLSchema([ lVirtual ], [ lTypeDef ], [ lOnlyStruct ])-> cXSD
Descrição
Fornece uma string com o schema ( XSD ) do modelo de dados. Este método fornece a descrição dos elementos do XML, as
validações em lista, as validações de tamanho e tipo de dados e os campos de preenchimento obrigatório.
validações em lista, as validações de tamanho e tipo de dados e os campos de preenchimento obrigatório.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lVirtual | Lógico | Informa se os campos virtuais devem ser adicionados no schema | .T. | ||
lTypeDef | Lógico | Informa se a definição dos campos devem ser adicionadas. Isto é importante quando o arquivo é gerado com mais de um modelo. | .T. | ||
lOnlyStruct | Lógico | Informa se somente a estrutura do schema deve ser gerada. Neste caso, os campos obrigatório não são exportados | .F. |
Retorno
cXSD Schema ( XSD ) do modelo de dados
Veja também
GetXMLData
GetXMLLayout
Sintaxe
FWFORMMODEL():GetXMLLayout([ cID ])-> cXSL
Descrição
Fornece uma string com o layout ( XSL ) de apresentação do modelo de dados. Este método fornece o
layout de exibição dos elementos do XML.
layout de exibição dos elementos do XML.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cID | Caracteres | Identificação dos dados do layout | X |
Retorno
cXSL Layout de apresentação do modelo de dados
Veja também
GetXMLData
LoadXMLPk
Sintaxe
FWFORMMODEL():LoadXMLPk([ cXML ])-> aResult
Descrição
Identifica a chave primária do modelo de dados. Este método pode ser utilizado para identificar e extrair os dados da
chave primária contidas no XML fornecido como parametro.
chave primária contidas no XML fornecido como parametro.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cXML | Caracteres | XML com os dados do modelo | X |
Retorno
aResult Array com a seguinte estrutura:
[1] ExpN: Codigo da Operacao
[2] Array com os dados da Primary Key
[1] ExpN: Codigo da Operacao
[2] Array com os dados da Primary Key
Veja também
GetXMLSchema, GetXMLData
LoadXMLOperation
Sintaxe
FWFORMMODEL():LoadXMLOperation([ cXML ])-> nResult
Descrição
Identifica a operacao do modelo de dados. Este método pode ser utilizado para identificar e extrair operacao
contida no XML fornecido como parametro.
contida no XML fornecido como parametro.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cXML | Caracteres | XML com os dados do modelo | X |
Retorno
nResult Numero da operacao
Veja também
GetXMLSchema, GetXMLData
LoadXMLData
Sintaxe
FWFORMMODEL():LoadXMLData([ cXML ], [ lForce ])-> lLoad
Descrição
Carrega o modelo com base na folha de dados em XML. Este método pode ser utilizado para processar a validação e carga
dos dados contidos no XML fornecido, porém não efetua a gravação dos dados
dos dados contidos no XML fornecido, porém não efetua a gravação dos dados
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cXML | Caracteres | XML com do modelo e os dados | X | ||
lForce | Lógico | Força a carga dos dados sem validar o modelo. | .F. |
Retorno
lLoad Indica se o modelo foi carregado com sucesso
Exemplo
::MODELXML := oModel:LoadXMLData(::ModelXML)
If oModel:VldData()
oModel:CommitData()
::lOk := .T.
Else
::lOk := .F.
aError := oModel:GetErrorMessage()
SetSoapFault(aError[MODEL_MSGERR_IDFORM]+":"+;
aError[MODEL_MSGERR_IDFIELD]+":"+;
aError[MODEL_MSGERR_IDFORMERR]+":"+;
aError[MODEL_MSGERR_IDFIELDERR]+":"+;
aError[MODEL_MSGERR_ID],;
aError[MODEL_MSGERR_MESSAGE]+"/"+aError[MODEL_MSGERR_SOLUCTION])
lRetorno := .F.
EndIf
SetLoadXML
Sintaxe
FWFORMMODEL():SetLoadXML([ bLoadXML ])-> NIL
Descrição
Configura o modelo para ser ativado com uma folha de dados em XML.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bLoadXML | Bloco de Código | Bloco de código que recebe o modelo por parametro e espera como retorno um XML com os dados baseado no modelo | X |
SetValue
Sintaxe
FWFORMMODEL():SetValue([ cIdForm ], [ cIdField ], [ xValue ])-> lRetorno
Descrição
Atribui um valor a folha de dados do objeto executando sua validação conforme o tipo de operação configurado ( SetOperation ).
Caso o objeto não possa receber dados um erro pode ser gerado ( SetErrorMessage ) ou uma exceção de usuário ( queda do sistema ).
Caso o objeto não possa receber dados um erro pode ser gerado ( SetErrorMessage ) ou uma exceção de usuário ( queda do sistema ).
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo do Modelo que terá uma atribuicao | X | ||
cIdField | Caracteres | Codigo/Nome do atributo da folha de dados | X | ||
xValue | Qualquer | Valor a ser atribuido | X |
Retorno
lRetorno Indica se o valor foi atribuido
Veja também
CanSetValue,GetErrorMessage,SetErrorMessage
LoadValue
Sintaxe
FWFORMMODEL():LoadValue([ cIdForm ], [ cIdField ], [ xValue ])-> lRetorno
Descrição
Carrega um valor a folha de dados do objeto. Este metodo somente pode ser utilizado quando há SetValue na pilha de chamadas
de função ( CallStack ). Diferentemente do metodo SetValue, este método não executa a validação do campo, mas fornece
todas as indicações de que ele foi atualizado. Ele é muito utíl quando dentro de uma validação de campo, necessitamos
alterar valores de outros campos, sem que isto implique em valida-los.
de função ( CallStack ). Diferentemente do metodo SetValue, este método não executa a validação do campo, mas fornece
todas as indicações de que ele foi atualizado. Ele é muito utíl quando dentro de uma validação de campo, necessitamos
alterar valores de outros campos, sem que isto implique em valida-los.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo do Modelo que terá uma atribuicao | X | ||
cIdField | Caracteres | Codigo/Nome do atributo da folha de dados | X | ||
xValue | Qualquer | Valor a ser atribuido | X |
Retorno
lRetorno Indica se o valor foi carregado
VldData
Sintaxe
FWFORMMODEL():VldData([ cIDModel ], [ lVldOwner ])-> lRetorno
Descrição
Valida toda a folha de dados do objeto modelo, ou um sub-parte dela, assegurando que o mesmo possa ser gravado com toda a integridade de
dados garantida. Este método verifica se todos os elementos da estrutura do modelo estão validos e executa o code-block
de pos-validação de cada um deles, bem como o code-block de validação final do modelo. O objeto é considerado valido
se todas as validações retornarem verdadeiro, caso contrário um erro ( SetErrorMessage ) será gerado.
dados garantida. Este método verifica se todos os elementos da estrutura do modelo estão validos e executa o code-block
de pos-validação de cada um deles, bem como o code-block de validação final do modelo. O objeto é considerado valido
se todas as validações retornarem verdadeiro, caso contrário um erro ( SetErrorMessage ) será gerado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIDModel | Caracteres | ID inicial que se deve fazer a validação, no caso que se queira validar uma parte do model, passando esse parametro o metodo ira validar o modelo passado e seus filhos, e não irá setar o modelo geral como validado. | "" | ||
lVldOwner | Lógico | Verifica se será validado o ID do model e seus filhos (.T.) ou se será validado apenas o contexto do ID (.F.) | .T. | X |
Retorno
lRetorno Folha de dados valida
Veja também
SetErrorMessage, GetErrorMessage
CommitData
Sintaxe
FWFORMMODEL():CommitData()-> lRetorno
Descrição
Grava a folha de dados do objeto modelo. A gravação somente é permitida se o objeto do modelo está valido.
A gravação não é feita diretamente por esta classe, mas sim, pelo code-block informado no método new. Este método
apenas assegura que todos os procedimentos necessários para gravar os dados do objeto modelo foram cumpridos.
A gravação não é feita diretamente por esta classe, mas sim, pelo code-block informado no método new. Este método
apenas assegura que todos os procedimentos necessários para gravar os dados do objeto modelo foram cumpridos.
Retorno
lRetorno Folha de dados gravada
Veja também
new
CancelData
Sintaxe
FWFORMMODEL():CancelData()-> lRetorno
Descrição
Cancela a folha de dados do objeto modelo. Da mesma forma como o método CommitData, este método apenas assegura que
todos os procedimentos necessários ao cancelamento da gravação do objeto modelo foram cumpridos e invoca o code-block
configurado no método new.
todos os procedimentos necessários ao cancelamento da gravação do objeto modelo foram cumpridos e invoca o code-block
configurado no método new.
Retorno
lRetorno Folha de dados cancelada
Veja também
new
SetErrorMessage
Sintaxe
FWFORMMODEL():SetErrorMessage([ cIdForm ], [ cIdField ], [ cIdFormErr ], [ cIdFieldErr ], [ cId ], [ cMessage ], [ cSoluction ], [ xValue ], [ xOldValue ])-> lRetorno
Descrição
Atribui uma mensagem de erro ao modelo. Quando uma mensagem de erro é atribuida, ela somente pode ser retirada pelo
evento que a provocou.
O controle de mensagens de erro do modelo, permite identificar o Id´s do submodelo e campo de origem do erro e qual
Id do subdmodelo e campo que provocou o erro. Isto significa que caso um erro seja gerado por um gatilho de campo
este possa ser identificado.
evento que a provocou.
O controle de mensagens de erro do modelo, permite identificar o Id´s do submodelo e campo de origem do erro e qual
Id do subdmodelo e campo que provocou o erro. Isto significa que caso um erro seja gerado por um gatilho de campo
este possa ser identificado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Id do subdmodelo em validação | |||
cIdField | Caracteres | Id do campo do submodelo em validação | |||
cIdFormErr | Caracteres | Id do submodelo em que ocorreu o erro | |||
cIdFieldErr | Caracteres | Id do campo do submodelo em que ocorreu o erro | |||
cId | Caracteres | Id da mensagem de help | |||
cMessage | Caracteres | Mensagem de erro | |||
cSoluction | Caracteres | Mensagem de solução | |||
xValue | Qualquer | Valor especificado do campo | |||
xOldValue | Qualquer | Valor anterior do campo |
Retorno
lRetorno indica que a mensagem de erro foi reinicializada
GetErrorMessage
Sintaxe
FWFORMMODEL():GetErrorMessage([ lClear ])-> aErrorMessage
Descrição
Fornece uma estrutrura com a pilha de erro
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lClear | Lógico | Indica se a mensagem de erro deve ser limpa apos o retorno | .F. |
Retorno
aErrorMessage Array com a estrutura a seguinte estrutura para tratamento de erro
[1] ExpC: Id do submodelo de origem
[2] ExpC: Id do campo de origem
[3] ExpC: Id do submodelo de erro
[4] ExpC: Id do campo de erro
[5] ExpC: Id do erro
[6] ExpC: mensagem do erro
[7] ExpC: mensagem da solução
[8] ExpX: Valor atribuido
[9] ExpX: Valor anterior
[1] ExpC: Id do submodelo de origem
[2] ExpC: Id do campo de origem
[3] ExpC: Id do submodelo de erro
[4] ExpC: Id do campo de erro
[5] ExpC: Id do erro
[6] ExpC: mensagem do erro
[7] ExpC: mensagem da solução
[8] ExpX: Valor atribuido
[9] ExpX: Valor anterior
Veja também
SetErrorMessage
HasErrorMessage
Sintaxe
FWFORMMODEL():HasErrorMessage()-> Se
Descrição
Retorna se o model possui algum erro
Retorno
Se .T. o Model possui algum erro pendente.
Veja também
GetErrorMessage
GetValue
Sintaxe
FWFORMMODEL():GetValue([ cIdForm ], [ cIdField ])-> xRetorno
Descrição
Recupera o valor da folha de dados do objeto.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo | X | ||
cIdField | Caracteres | Codigo/Nome do atributo da folha de dados | X |
Retorno
xRetorno Conteudo do campo
Veja também
SetValue
CanSetValue
Sintaxe
FWFORMMODEL():CanSetValue([ cIdForm ], [ cIdField ])-> lRetorno
Descrição
Valida se é possível atribuir um valor a folha de dados do objeto.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo que terá uma atribuicao | X | ||
cIdField | Caracteres | Codigo/Nome do atributo da folha de dados | X |
Retorno
lRetorno Indica se o valor pode ser atribuido
SetRelation
Sintaxe
FWFORMMODEL():SetRelation([ cIdForm ], [ aRelation ], [ cOrderBy ])-> NIL
Descrição
Atribui o critério de relacionamento entre os submodelos. A especificação do relacionamento
entre os submodelos de dados do objeto modelo, garante a carga dos dados e a correta atualização das chaves estrangeiras
durante a execução do método FWCommit.
entre os submodelos de dados do objeto modelo, garante a carga dos dados e a correta atualização das chaves estrangeiras
durante a execução do método FWCommit.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo do Modelo de destino do relacionamento | X | ||
aRelation | Array | Estrutura de relacionamento [n] [n][1] ExpC: ID do campo do submodelo origem [n][2] ExpC: ID do campo do submodelo destino | X | ||
cOrderBy | Caracteres | Ordem de apresentação |
Exemplo
Static Function ModelDef()
Local oModel
Local oStruZA1:= FWFormStruct(1,'ZA1')
Local oStruZA2 := FWFormStruct( 1, 'ZA2')
oModel := FWFormModel():New('COMP021',,,{|oModel| commit()},{|oModel| cancel()})
oModel:AddFields('ZA1MASTER',,oStruZA1)
oModel:AddGrid( 'ZA2DETAIL', 'ZA1MASTER', oStruZA2)
oModel:SetRelation( 'ZA2DETAIL', { { 'ZA2_FILIAL', 'xFilial( "ZA2" )' }, { 'ZA2_MUSICA', 'ZA1_MUSICA' } }, ZA2->( IndexKey( 1 ) ) )
Return oModel
Static Function commit()
Return
Static Function cancel()
Return
GetRelation
Sintaxe
FWFORMMODEL():GetRelation([ cIdForm ])-> aRelation
Descrição
Fornece o critério de relacionamento entre os submodelos
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo de destino do relacionamento | X |
Retorno
aRelation Estrutura do relacionamento entre as tabelas.
[1][n][1] IdField do submodelo de destino
[2] IdField ou expressão do submodelo de destino
[2] Ordem de relacionamento no padrão ISAM.
[1][n][1] IdField do submodelo de destino
[2] IdField ou expressão do submodelo de destino
[2] Ordem de relacionamento no padrão ISAM.
Veja também
SetRelation
SetPrimaryKey
Sintaxe
FWFORMMODEL():SetPrimaryKey([ aPK ])-> NIL
Descrição
Atribui a PrimaryKey da entidade Modelo. A primarykey é imprescindivel para a correta operação
das rotinas automáticas, web-services, relatórios, etc... Não é necessário informar uma para
cada submodelo, a Primary Key é definida somente para o primeiro submodelo do tipo FormField.
das rotinas automáticas, web-services, relatórios, etc... Não é necessário informar uma para
cada submodelo, a Primary Key é definida somente para o primeiro submodelo do tipo FormField.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
aPK | Array | Array unidimensional com o ID dos campos | X |
Observações
Se a tabela do submodelo for um metadado e possuir chave primária informada no SX2, não é necessário
fazer uso desse método pois o MVC irá considerar o que está declarado no SX2.
GetPrimaryKey
Sintaxe
FWFORMMODEL():GetPrimaryKey()-> NIL
Descrição
Fornece a Primary Key do modelo de dados
Veja também
SetPrimaryKey
SetOperation
Sintaxe
FWFORMMODEL():SetOperation([ nOperation ])-> NIL
Descrição
Indica ao modelo a operacao de manipulacao de dados que será realizada. A classe utiliza esta informação para
definir como serão inicializadas as informações do modelo.
definir como serão inicializadas as informações do modelo.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
nOperation | Numérico | Indica a operação que será realizada com o modelo, sendo: [1] View [3] Insert [4] Update [5] Delete | X |
GetOperation
Sintaxe
FWFORMMODEL():GetOperation()-> nOperation
Descrição
Fornece o tipo de operacao de manipulacao de dados que foi configurado.
Retorno
nOperation Indica a operação que será realizada com o modelo, sendo:
1 - View
3 - Insert
4 - Update
5 - Delete
6 - only Update
1 - View
3 - Insert
4 - Update
5 - Delete
6 - only Update
Veja também
SetOperation
ReportDef
Sintaxe
FWFORMMODEL():ReportDef([ cPergunte ], [ bImpress ], [ aFields ])-> oReport
Descrição
Fornece um objeto de TReport com as definicoes de impressão do modelo.
O TReport tem as seções e células baseado nos submodelos e estrutura
de dados.
O TReport tem as seções e células baseado nos submodelos e estrutura
de dados.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cPergunte | Caracteres | Id do grupo de perguntas do relatório | |||
bImpress | Bloco de Código | Bloco de código do controle de fluxo de impressão. Deve retornar verdadeiro para imprimir, não recebe nenhum parametro. | |||
aFields | Array | Informe a lista de campos que deve ser impressa, no formato [1] Id do submodelo [2] Id do campo [3] Picture [4] ComboBox |
Retorno
oReport Objeto do tipo TReport com as definições de impressão
Exemplo
Static Function ModelDef()
Local oStruZA1 := FWFormStruct( 1, 'ZA1')
Local oStruZA2 := FWFormStruct( 1, 'ZA2')
Local oModel
oModel := MPFormModel():New( 'COMP022M')
oModel:AddFields( 'ZA1MASTER', NIL, oStruZA1 )
oModel:AddGrid( 'ZA2DETAIL', 'ZA1MASTER', oStruZA2)
oModel:SetRelation( 'ZA2DETAIL', { { 'ZA2_FILIAL', 'xFilial( "ZA2" ) ' } , { 'ZA2_MUSICA', 'ZA1_MUSICA' } } , ZA2->( IndexKey( 1 ) ) )
Return oModel
Static Function ViewDef()
Local oModel := ModelDef()
Local oView
Local oStr1:= FWFormStruct(2, 'ZA1')
Local oStr2:= FWFormStruct(2, 'ZA2')
oView := FWFormView():New()
oView:SetModel( oModel )
oView:AddField('ZA1MASTER' , oStr1)
oView:AddGrid('ZA2DETAIL' , oStr2)
oView:CreateHorizontalBox( 'BOXFORM2', 50)
oView:CreateHorizontalBox( 'BOXFORM4', 50)
oView:SetOwnerView('ZA1MASTER','BOXFORM2')
oView:SetOwnerView('ZA2DETAIL','BOXFORM4')
oView:AddUserButton("Imprimir TReport","",{|oView| print(oView)})
Return oView
Static Function Print(oView)
Local oModel := oView:GetModel()
Local oReport
oReport := oModel:ReportDef()
oReport:PrintDialog()
Return
SetReportTotal
Sintaxe
FWFORMMODEL():SetReportTotal([ lTotal ])-> NIL
Descrição
Configura se o relatório gerado pelo metodo ReportDef deverá totalizar todos os campos numéricos.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lTotal | Lógico | Se verdadeiro o relatório deve ter totalização. | .T. |
GetModelIds
Sintaxe
FWFORMMODEL():GetModelIds()-> aArray
Descrição
Fornece um Array com os ids de Todos os submodelos do Model
Retorno
aArray Array unidimensional que contém os Ids do submodelos
SetActivate
Sintaxe
FWFORMMODEL():SetActivate([ bBloco ])-> NIL
Descrição
Seta um bloco que será chamado logo após o Activate do model. Esse bloco recebe como parametro o proprio model(FWFormModel).
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBloco | Bloco de Código | Code-Block a ser chamado |
Exemplo
bBloco := {|oModel| MinhaFunc(oModel)}
oModel:SetActivate(bBloco)
SetDeActivate
Sintaxe
FWFORMMODEL():SetDeActivate([ bBloco ])-> NIL
Descrição
Seta um bloco que será chamado logo após o DeActivate do model. Esse bloco recebe como parametro o proprio model.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBloco | Bloco de Código | Code-Block a ser chamado |
Exemplo
bBloco := {|oModel| MinhaFunc(oModel)}
oModel:SetDeActivate(bBloco)
SetVldActivate
Sintaxe
FWFORMMODEL():SetVldActivate([ bBloco ])-> NIL
Descrição
Seta um bloco que será chamado antes do Activate do model. Ele pode
Ser utilizado para inibir a inicialização do model. Se o retorno for negativo
uma exceção de usuário será gerada. O code-block recebe como parametro
o objeto model.
Ser utilizado para inibir a inicialização do model. Se o retorno for negativo
uma exceção de usuário será gerada. O code-block recebe como parametro
o objeto model.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBloco | Bloco de Código | Code-Block a ser chamado | X |
Exemplo
bBloco := {|oModel| MinhaFunc(oModel)}
oModel:SetVldActivate(bBloco)
Veja também
CanActivate
CanActivate
Sintaxe
FWFORMMODEL():CanActivate()-> NIL
Descrição
Verifica se o model pode ser ativado.
Veja também
SetVldActivate
SetOptional
Sintaxe
FWFORMMODEL():SetOptional([ cIdForm ], [ lOp ])-> NIL
Descrição
Define que um submodelo é opcional. Quando um modelo é opcional ele tem seu preenchimento
não obrigatório, podendo realizar a gravação dos dados sem preenche-lo
não obrigatório, podendo realizar a gravação dos dados sem preenche-lo
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo | X | ||
lOp | Lógico | Valor verdadeiro para deixar o submodelo opcional | X |
IsOptional
Sintaxe
FWFORMMODEL():IsOptional([ cIdForm ])-> lOp
Descrição
Retorna se o submodelo é opcional
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Identificador do submodelo | X |
Retorno
lOp Se verdadeiro o submodelo é opcional
SetOnlyQuery
Sintaxe
FWFORMMODEL():SetOnlyQuery([ cIdForm ], [ lOp ])-> NIL
Descrição
Define que o submodelo não será gravado, ele é apenas usado para consulta.
Se um submodelo é onlyquery e possui submodelos abaixo dele, os filhos serão
gravaveis por padrão. Mesmo o pai sendo onlyquery, os filhos irão
fazer a gravação, exceto se o(s) submodelo(s) filho for definido como
setonlyquery verdadeiro.
Se um submodelo é onlyquery e possui submodelos abaixo dele, os filhos serão
gravaveis por padrão. Mesmo o pai sendo onlyquery, os filhos irão
fazer a gravação, exceto se o(s) submodelo(s) filho for definido como
setonlyquery verdadeiro.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo | X | ||
lOp | Lógico | Se verdadeiro faz com que o submodelo não seja gravado. | X |
IsOnlyQuery
Sintaxe
FWFORMMODEL():IsOnlyQuery([ cIdForm ])-> lRet
Descrição
Retorna se o submodelo é apenas para visualização, ou seja, tem a gravação é inibida.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Codigo do submodelo | X |
Retorno
lRet Se verdadeiro o submodelo não é gravado
ClearField
Sintaxe
FWFORMMODEL():ClearField([ cIdForm ], [ cIdField ])-> lRetorno
Descrição
Limpa o conteudo de um campo de um submodelo
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Identificação do submodelo | X | ||
cIdField | Caracteres | Codigo/Nome do atributo da folha de dados | X |
Retorno
lRetorno Indica se a operação foi concluida com sucesso
IsActive
Sintaxe
FWFORMMODEL():IsActive()-> NIL
Descrição
Retorna se o modelo está ativo
isEnable
Sintaxe
FWFORMMODEL():isEnable([ cIdForm ])-> lRet
Descrição
Execulta o bloco de bPre do submodelo, retornando se ele está disponivel para edição
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Identificador do submodelo que será analisado | X |
Retorno
lRet - Se verdadeiro indica que o submodelo está disponivel
InitValue
Sintaxe
FWFORMMODEL():InitValue([ cIdForm ], [ cIdField ])-> xRetorno
Descrição
Recupera o valor do inicializador padrao da folha de dados do objeto.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Identificador do Submodelo | X | ||
cIdField | Caracteres | Codigo/Nome do atributo da folha de dados | X |
Retorno
xRetorno Conteudo do campo
Compare
Sintaxe
FWFORMMODEL():Compare([ oOtherModel ])-> NIL
Descrição
Faz a comparação entre os dados de um objeto do tipo Model passado por referência
com o próprio model. Os dois objetos devem possuir os mesmos submodelos, pois esse
método compara apenas os dados, supondo que a estrutura seja a mesma.
com o próprio model. Os dois objetos devem possuir os mesmos submodelos, pois esse
método compara apenas os dados, supondo que a estrutura seja a mesma.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
oOtherModel | Objeto | objeto do tipo FWFormModel ou MPFormModel | X |
HasField
Sintaxe
FWFORMMODEL():HasField([ cIdForm ], [ cIdField ])-> NIL
Descrição
Informa de um determinado campo existe na estrutura
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cIdForm | Caracteres | Identificador do submodelo | X | ||
cIdField | Caracteres | Identificador do campo | X |
SetCancel
Sintaxe
FWFORMMODEL():SetCancel([ bBloco ], [ lAcumula ])-> NIL
Descrição
Seta um bloco que será chamado quando o submodelo é cancelado
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBloco | Bloco de Código | Code-Block a ser chamado | X | ||
lAcumula | Lógico | Se verdadeiro não substitui o bloco de cancelamento anterior e sim adiciona a validação no final | .F. |
SetCommit
Sintaxe
FWFORMMODEL():SetCommit([ bBloco ], [ lAcumula ])-> NIL
Descrição
Seta um bloco que será chamado na gravação do submodelo
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
bBloco | Bloco de Código | Code-Block a ser chamado | X | ||
lAcumula | Lógico | Se verdadeiro não substitui o bloco anterior e sim adiciona a validação no final | .F. |
SetOnDemand
Sintaxe
FWFORMMODEL():SetOnDemand([ lOnDemand ])-> NIL
Descrição
Define se a carga dos dados será por demanda.
Quando o model é por demanda, os dados do submodelo não serão carregados
de uma vez no activate. Conforme eles forem manipulados eles serão
carregados. O método é útil em modelos que contem muitos submodelos
e que podem ficar lentos devido a grande quantidade de dados.
Quando o model é por demanda, os dados do submodelo não serão carregados
de uma vez no activate. Conforme eles forem manipulados eles serão
carregados. O método é útil em modelos que contem muitos submodelos
e que podem ficar lentos devido a grande quantidade de dados.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
lOnDemand | Lógico | Se verdadeiro a carga será por demanda | .T. |
IsCopy
Sintaxe
FWFORMMODEL():IsCopy()-> lRetorno
Descrição
Indica se o modelo esta em uma operacao com origem em uma copia de dados
Retorno
lRetorno Se verdadeiro indica que é uma operação de cópia
SetProcess
Sintaxe
FWFORMMODEL():SetProcess([ nProcess ])-> NIL
Descrição
Define um valor para o processo. Util para se efetuar algum controle alem
da operação.
da operação.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
nProcess | Numérico | Valor a ser atribuido ao processo | X |
Veja também
GetProcess
GetProcess
Sintaxe
FWFORMMODEL():GetProcess()-> NIL
Descrição
Obtem o valor do processo que foi definido pelo método SetProcess
Veja também
SetProcess
InstallObserver
Sintaxe
FWFORMMODEL():InstallObserver([ cPoint ], [ oObserver ])-> NIL
Descrição
Faz a instalaçao de um Observador em uma ação
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cPoint | Caracteres | ID do local, ids disponíves "COMMIT" | X | ||
oObserver | Objeto | Objeto que precisa derivar da classe FWObserver | X |
Veja também
FWObserver
getObservable
Sintaxe
FWFORMMODEL():getObservable([ cPoint ])-> oObserable
Descrição
Retorna um Observable baseado numa ação
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cPoint | Caracteres | ID do local, ids disponíves "COMMIT" | X |
Retorno
oObserable Objeto do tipo FWObserable
Veja também
FWObservable
SetWKDef
Sintaxe
FWFORMMODEL():SetWKDef([ cWKDef ])-> NIL
Descrição
Define o Código do processo do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKDef | Caracteres | Código do processo | X |
SetWKVersDef
Sintaxe
FWFORMMODEL():SetWKVersDef([ cWKVersDef ])-> NIL
Descrição
Define a versão do processo do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKVersDef | Caracteres | Versão do processo | X |
SetWKNumProces
Sintaxe
FWFORMMODEL():SetWKNumProces([ cWKNumProces ])-> NIL
Descrição
Define o Número da solicitação de processo do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKNumProces | Caracteres | Número da solicitação de processo | X |
SetWKNumState
Sintaxe
FWFORMMODEL():SetWKNumState([ cWKNumState ])-> NIL
Descrição
Define o Número da atividade do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKNumState | Caracteres | Número da atividade | X |
SetWKCurrentState
Sintaxe
FWFORMMODEL():SetWKCurrentState([ cWKCurrentState ])-> NIL
Descrição
Define o Número da atividade atual do processo do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKCurrentState | Caracteres | Número da atividade atual | X |
SetWKCompany
Sintaxe
FWFORMMODEL():SetWKCompany([ cWKCompany ])-> NIL
Descrição
Define o número da empresado Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKCompany | Caracteres | Número da empresa | X |
SetWKUser
Sintaxe
FWFORMMODEL():SetWKUser([ cWKUser ])-> NIL
Descrição
Define o Código do usuario do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKUser | Caracteres | Código do usuario | X |
SetWKUserEmail
Sintaxe
FWFORMMODEL():SetWKUserEmail([ cWKUserEmail ])-> NIL
Descrição
Define o e-mail do usuario do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKUserEmail | Caracteres | E-mail do usuario | X |
SetWKCompletTask
Sintaxe
FWFORMMODEL():SetWKCompletTask([ cWKCompletTask ])-> NIL
Descrição
Indica se tarefa foi completada (true/false) do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKCompletTask | Caracteres | true/false | X |
SetWKNextState
Sintaxe
FWFORMMODEL():SetWKNextState([ cWKNextState ])-> NIL
Descrição
Define o Número da próxima atividade (destino) do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKNextState | Caracteres | Número da atividade | X |
SetWKCardId
Sintaxe
FWFORMMODEL():SetWKCardId([ cWKCardId ])-> NIL
Descrição
Define o código do formulário do processo do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKCardId | Caracteres | Código do formulário | X |
SetWKFormId
Sintaxe
FWFORMMODEL():SetWKFormId([ cWKFormId ])-> NIL
Descrição
Define o Código da definição de formulário do processo do Fluig BPM
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cWKFormId | Caracteres | Código da definição de formulário | X |
GetWKDef
Sintaxe
FWFORMMODEL():GetWKDef()-> cWKDef
Descrição
Retorna o Código do processo do Fluig BPM
Retorno
cWKDef Código do processo
GetWKVersDef
Sintaxe
FWFORMMODEL():GetWKVersDef()-> cWKVersDef
Descrição
Retorna o Versão do processo do Fluig BPM
Retorno
cWKVersDef Versão do processo
GetWKNumProces
Sintaxe
FWFORMMODEL():GetWKNumProces()-> cWKNumProces
Descrição
Retorna o Número da solicitação de processo do Fluig BPM
Retorno
cWKNumProces Número da solicitação de processo
GetWKNumState
Sintaxe
FWFORMMODEL():GetWKNumState()-> cWKNumState
Descrição
Retorna o Número da atividade do Fluig BPM
Retorno
cWKNumState Número da atividade
GetWKCurrentState
Sintaxe
FWFORMMODEL():GetWKCurrentState()-> cWKCurrentState
Descrição
Retorna o Número da atividade atual do processo do Fluig BPM
Retorno
cWKCurrentState Número da atividade
GetWKCompany
Sintaxe
FWFORMMODEL():GetWKCompany()-> cWKCompany
Descrição
Retorna o Número da empresa do processo do Fluig BPM
Retorno
cWKCompany Número empresa
GetWKUser
Sintaxe
FWFORMMODEL():GetWKUser()-> cWKUser
Descrição
Retorna o Código do usuario do Fluig BPM
Retorno
cWKUser Código do usuario
GetWKUserEmail
Sintaxe
FWFORMMODEL():GetWKUserEmail()-> cWKUserEmail
Descrição
Retorna o e-mail do usuario do Fluig BPM
Retorno
cWKUserEmail E-mail do usuario
GetWKCompletTask
Sintaxe
FWFORMMODEL():GetWKCompletTask()-> cWKCompletTask
Descrição
Retorna se tarefa foi concluída do Fluig BPM
Retorno
cWKCompletTask true/false
GetWKNextState
Sintaxe
FWFORMMODEL():GetWKNextState()-> cWKNextState
Descrição
Retorna o Número da próxima atividade (destino) do processo do Fluig BPM
Retorno
cWKNextState Número da atividade
GetWKCardId
Sintaxe
FWFORMMODEL():GetWKCardId()-> cWKCardId
Descrição
Retorna o código do formulário do processo do Fluig BPM
Retorno
cWKCardId Código do formulário
GetWKFormId
Sintaxe
FWFORMMODEL():GetWKFormId()-> cWKFormId
Descrição
Retorna o Código da definição de formulário do processo do Fluig BPM
Retorno
cWKFormId Código da definição de formulário
SetPKIndexOrder
Sintaxe
FWFORMMODEL():SetPKIndexOrder([ nIndexOrder ])-> NIL
Descrição
Define a ordem de indice utilizada pela PK do model
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
nIndexOrder | Numérico | Ordem | X |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas