Mudanças entre as edições de "TPHServerClass"

(Criou página com 'O objeto TPHServerClass serve para utilização de qualquer classe de negocio presente no servidor. A partir do cadastro informado na criação do objeto, o sist...')
 
 
(12 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
O objeto TPHServerClass serve para utilização de qualquer classe de negocio presente no servidor. A partir do [[Cadastros|cadastro]] informado na criação do objeto, o sistema instancia a classe de servidor que consta do cadastro, e podes 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|TPHProcScript]].
+
A classe TPHServerClass serve para utilização de qualquer classe de negócio presente no servidor. A partir do [[Cadastros|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|TPHProcScript]].
  
 
===Propriedades===
 
===Propriedades===
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''': Iniciar a cadastro de um novo registro. Nesse ponto são consideradas as regras presentes no evento AfterInsert da classe e do script;  
+
* '''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 24: Linha 30:
 
     IniciarTransacao;
 
     IniciarTransacao;
 
     try           
 
     try           
       Cores := NewPHServerClass('CORES');
+
       Cores := NewPHServerClass('CORES'); { Nome do cadastro de Cores }
 
       try
 
       try
 
         Cores.NovoRegistro;
 
         Cores.NovoRegistro;
 
         Cores.CampoDoNome('NOME').AsString := 'Nova Cor';
 
         Cores.CampoDoNome('NOME').AsString := 'Nova Cor';
 
         Cores.Salvar;
 
         Cores.Salvar;
 
+
     
 +
        { Exemplo de Chamada de Método especifico }
 
         Cores.GetMetodo('Teste');
 
         Cores.GetMetodo('Teste');
 
       finally
 
       finally
 
         Cores.Free;                         
 
         Cores.Free;                         
 
       end;
 
       end;
 
+
     
 
       ConfirmarTransacao;
 
       ConfirmarTransacao;
 
     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;
Linha 43: Linha 68:
  
 
===Exemplo de chamada pelo cliente===
 
===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;

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.

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;