Mudanças entre as edições de "TPHServerClass"
(5 revisões intermediárias por um outro usuário não estão sendo mostradas) | |||
Linha 11: | Linha 11: | ||
|Corresponde ao ID do registro (Opcional). | |Corresponde ao ID do registro (Opcional). | ||
|} | |} | ||
+ | |||
+ | ===Criação do Objeto=== | ||
+ | * '''NewPHServerClass''': Cria o objeto, espera como parâmetro o nome do cadastro. | ||
+ | * '''NewPHServerClassName''': Cria o objeto, espera como parâmetro o nome da classe, utilizada para classes sem cadastro. | ||
===Procedimentos=== | ===Procedimentos=== | ||
− | * '''NovoRegistro''': | + | * '''NovoRegistro''': Inicia o cadastro de um novo registro. Nesse ponto são consideradas as regras presentes no evento AfterInsert da classe e do script; |
* '''CampoDoNome(Campo:String)''': Permite atribuir ou retornar valores para os campos. Exemplo: CampoDoNome('CODIGO').AsInteger := 1; | * '''CampoDoNome(Campo:String)''': Permite atribuir ou retornar valores para os campos. Exemplo: CampoDoNome('CODIGO').AsInteger := 1; | ||
+ | * '''Editar(pID:Int64)''': Permite a edição de um registro. Após é permitido realizar a gravação do registro com os valores alterados posteriores a edição. | ||
* '''Salvar''': Realiza gravação do registro. Nesse ponto são considerados as regras presentes nos eventos BeforePost e AfterPost da classe e do script; | * '''Salvar''': Realiza gravação do registro. Nesse ponto são considerados as regras presentes nos eventos BeforePost e AfterPost da classe e do script; | ||
+ | * '''Excluir''': Realiza a exclusão do registro. Nesse ponto são considerados as regras presentes nos eventos BeforeDelete e AfterDelete da classe e do script; | ||
− | ===Exemplo=== | + | ===Exemplo NewPHServerClass=== |
var | var | ||
Linha 39: | Linha 45: | ||
except | except | ||
CancelarTransacao; | CancelarTransacao; | ||
+ | RaiseException(MensagemErro); | ||
+ | end; | ||
+ | end; | ||
+ | |||
+ | ===Exemplo NewPHServerClassName=== | ||
+ | |||
+ | var | ||
+ | NotObj:TPHServerClass; | ||
+ | begin | ||
+ | try | ||
+ | NotObj := NewPHServerClassName('TPHSNotificacoes'); { Nome da classe do servidor } | ||
+ | try | ||
+ | { Exemplo de Chamada de Método especifico } | ||
+ | NotObj.GetMetodo('Enviar'); | ||
+ | finally | ||
+ | NotObj.Free; | ||
+ | end; | ||
+ | except | ||
RaiseException(MensagemErro); | RaiseException(MensagemErro); | ||
end; | end; |
Edição atual tal como às 17h08min de 17 de outubro de 2024
A classe TPHServerClass serve para utilização de qualquer classe de negócio presente no servidor. A partir do cadastro informado na criação do objeto, o sistema instancia a classe de servidor que consta do cadastro. Podemos utilizar as propriedades e métodos abaixo, além da chamada de procedimento de cada classe através do procedimento "GetMetodo(Metodo:String)". A classe TPHServerClass é suportada apenas quando executado no servidor, sendo assim deve-se realizar implementação em um script especifico, e a chamada do script no cliente deverá ocorrer através do classe TPHProcScript.
Índice
Propriedades
Nome | Tipo | Descrição |
---|---|---|
ID | Int64 | Corresponde ao ID do registro (Opcional). |
Criação do Objeto
- NewPHServerClass: Cria o objeto, espera como parâmetro o nome do cadastro.
- NewPHServerClassName: Cria o objeto, espera como parâmetro o nome da classe, utilizada para classes sem cadastro.
Procedimentos
- NovoRegistro: Inicia o cadastro de um novo registro. Nesse ponto são consideradas as regras presentes no evento AfterInsert da classe e do script;
- CampoDoNome(Campo:String): Permite atribuir ou retornar valores para os campos. Exemplo: CampoDoNome('CODIGO').AsInteger := 1;
- Editar(pID:Int64): Permite a edição de um registro. Após é permitido realizar a gravação do registro com os valores alterados posteriores a edição.
- Salvar: Realiza gravação do registro. Nesse ponto são considerados as regras presentes nos eventos BeforePost e AfterPost da classe e do script;
- Excluir: Realiza a exclusão do registro. Nesse ponto são considerados as regras presentes nos eventos BeforeDelete e AfterDelete da classe e do script;
Exemplo NewPHServerClass
var Cores:TPHServerClass; begin IniciarTransacao; try Cores := NewPHServerClass('CORES'); { Nome do cadastro de Cores } try Cores.NovoRegistro; Cores.CampoDoNome('NOME').AsString := 'Nova Cor'; Cores.Salvar; { Exemplo de Chamada de Método especifico } Cores.GetMetodo('Teste'); finally Cores.Free; end; ConfirmarTransacao; except CancelarTransacao; RaiseException(MensagemErro); end; end;
Exemplo NewPHServerClassName
var NotObj:TPHServerClass; begin try NotObj := NewPHServerClassName('TPHSNotificacoes'); { Nome da classe do servidor } try { Exemplo de Chamada de Método especifico } NotObj.GetMetodo('Enviar'); finally NotObj.Free; end; except RaiseException(MensagemErro); end; end;
Exemplo de chamada pelo cliente
var ScriptObj:TPHProcScript; begin ScriptObj := TPHProcScript.Create; try { Nome do script que será executado } ScriptObj.ScriptNome := 'PH_ServerClass'; { Nome do procedimento do script que será executado } ScriptObj.Procedimento := 'Executar'; { Executar script no servidor } ScriptObj.Executar; finally ScriptObj.Free; end; end;