Mudanças entre as edições de "Cadastro Pai"

(Criou página com 'O sistema foi projetado de forma que o acesso ao registro principal, conhecido como "Pai", seja facilmente acessível. Por exemplo, ao visualizar os itens de um orçamento, vo...')
 
(Conceito)
 
(7 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
O sistema foi projetado de forma que o acesso ao registro principal, conhecido como "Pai", seja facilmente acessível. Por exemplo, ao visualizar os itens de um orçamento, você pode acessar as informações do registro pai, que, neste caso, é o próprio orçamento. Essa estrutura permite uma manipulação mais eficaz dos elementos, reduzindo a necessidade de criar consultas SQL para acessar o registro pai.
+
==='''Conceito'''===
 +
Quando utilizamos os scripts de em cadastros, estão disponíveis os objetos relacionados ao cadastro corrente. Quando temos a existência de um cadastro pai, podemos acessar as informações do registro pai. Por exemplo, ao visualizar os itens de um orçamento, você pode acessar as informações do registro pai, que, neste caso, é o próprio orçamento. Essa estrutura permite uma manipulação mais eficaz dos elementos, reduzindo a necessidade de criar consultas SQL para acessar o registro pai.
  
Para acessar o registro pai, deve ser acessada a Query em que está posicionada e utilizar a propriedade '''DataSetPai''', através desta, por exemplo, poderá ser utilizada a propriedade '''FieldbyName''' para acessar as informações deste registro pai.
+
Para acessar o registro pai, deve ser acessada a Query em que está posicionada e utilizar a propriedade '''DataSetPai''', através desta, por exemplo, poderá ser utilizada a propriedade '''FieldByName''' para acessar as informações deste registro pai.
  
 
Isso possibilita que os registros filhos possuam acesso nas informações presentes no registro pai. Um exemplo disso pode ser visto no código a seguir:
 
Isso possibilita que os registros filhos possuam acesso nas informações presentes no registro pai. Um exemplo disso pode ser visto no código a seguir:
Linha 14: Linha 15:
 
  begin
 
  begin
 
   
 
   
   ORDEMSERVICOMANUTENCAOITENS.BotaoDoNome('C_BOTAO').Habilitado := (((NOT ORDEMSERVICOMANUTENCAOITENS.Vazia) AND  
+
   ORDEMSERVICOMANUTENCAOITENS.BotaoDoNome('C_BOTAO').Habilitado := (((NOT ORDEMSERVICOMANUTENCAOITENS.Vazia) AND
                                        NOT (ORDEMSERVICOMANUTENCAOITENS.State in [dsEdit,dsInsert])) OR  
+
                                              NOT (ORDEMSERVICOMANUTENCAOITENS.State in [dsEdit,dsInsert])) OR
                                        (ORDEMSERVICOMANUTENCAOITENS.DataSetPai.FieldByName('SITUACAO').AsString IN ['3','7']));                                                                          
+
                                              (ORDEMSERVICOMANUTENCAOITENS.DataSetPai.FieldByName('SITUACAO').AsString IN ['3','7']));
 
  end;
 
  end;
  
Linha 24: Linha 25:
 
   Informacao(QUESTIONARIO_RESPOSTAS.DataSetPai.DataSetPai.FieldByName('NOME').AsString);         
 
   Informacao(QUESTIONARIO_RESPOSTAS.DataSetPai.DataSetPai.FieldByName('NOME').AsString);         
 
  end;
 
  end;
 +
 +
A propriedade DataSetPai, quando a execução ocorre na parte de servidor, '''não estará disponível'''. Para estes casos, deverá ser realizada consulta SQL para obter as informações do registro pai.

Edição atual tal como às 18h07min de 2 de outubro de 2023

Conceito

Quando utilizamos os scripts de em cadastros, estão disponíveis os objetos relacionados ao cadastro corrente. Quando temos a existência de um cadastro pai, podemos acessar as informações do registro pai. Por exemplo, ao visualizar os itens de um orçamento, você pode acessar as informações do registro pai, que, neste caso, é o próprio orçamento. Essa estrutura permite uma manipulação mais eficaz dos elementos, reduzindo a necessidade de criar consultas SQL para acessar o registro pai.

Para acessar o registro pai, deve ser acessada a Query em que está posicionada e utilizar a propriedade DataSetPai, através desta, por exemplo, poderá ser utilizada a propriedade FieldByName para acessar as informações deste registro pai.

Isso possibilita que os registros filhos possuam acesso nas informações presentes no registro pai. Um exemplo disso pode ser visto no código a seguir:

begin
 Informacao(ORDEMSERVICOMANUTENCAOITENS.DataSetPai.FieldByName('ID').AsString);
end.

Com essa estruturação, podem ser feitas as manipulações necessárias, como pode ser mostrado no exemplo abaixo, no qual, um botão específico está habilitado levando em consideração a situação em que se encontra seu registro pai.

procedure onStateChange;
begin

 ORDEMSERVICOMANUTENCAOITENS.BotaoDoNome('C_BOTAO').Habilitado := (((NOT ORDEMSERVICOMANUTENCAOITENS.Vazia) AND
                                              NOT (ORDEMSERVICOMANUTENCAOITENS.State in [dsEdit,dsInsert])) OR
                                             (ORDEMSERVICOMANUTENCAOITENS.DataSetPai.FieldByName('SITUACAO').AsString IN ['3','7']));
end;

Além do registro pai, é possível utilizar a propriedade em modo cascata, ou seja, obter o registro pai do registro pai, da seguinte forma:

procedure onStateChange;
begin
  Informacao(QUESTIONARIO_RESPOSTAS.DataSetPai.DataSetPai.FieldByName('NOME').AsString);        
end;

A propriedade DataSetPai, quando a execução ocorre na parte de servidor, não estará disponível. Para estes casos, deverá ser realizada consulta SQL para obter as informações do registro pai.