Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Campos persistentes FDMemtable (https://www.clubdelphi.com/foros/showthread.php?t=97291)

ArtPortEsp 17-03-2025 04:13:22

Campos persistentes FDMemtable
 
Sin tener la menor idea de como funciona, estoy modificando una aplicacion que tiene un modulo cliente y un modulo servidor (DataSnap), en el modulo cliente, hay un data module en donde hay un componente FDMemtable que recibe los registros, este componente tiene unos campos persistentes, a los cuales les quiero agregar otros:

Código:

function TsMethods.GetComentario(const sIdTrans, sDepto, sCodigo,
        sUser,sIdStatus, sFechaIni, sFechaFin: String): TFDJSONDatasets;
begin
  FDQConsultas.Close;
  FDQConsultas.SQL.Clear;
  FDQConsultas.SQL.Add(' SELECT com_id, com_ftr_id, f.ftr_transaccion, com_dep_codigo, d.dep_descripcion, ');
  FDQConsultas.SQL.Add(' com_codigo, com_fechahora, com_comentario, com_usr_codigo, ');

  // Agregados
  FDQConsultas.SQL.Add(' com_aclaracion_id,com_autorizacion1,com_autorizacion2,com_codigo_producto,com_folio_factura,com_consumo_litros,com_seleccion_mult,com_reporte_consumo, ');

  FDQConsultas.SQL.Add(' concat(e.emp_nombre,'''+' '+''',e.emp_appaterno,'''+' '+''',e.emp_apmaterno) usr_nombre,');
  FDQConsultas.SQL.Add(' com_sta_id, s.sta_descripcion, com_estado ');

  FDQConsultas.SQL.Add(' FROM integral.rin_comentario c ');
  FDQConsultas.SQL.Add(' inner join integral.rin_folios_transacciones f on f.ftr_id = c.com_ftr_id');
  FDQConsultas.SQL.Add(' inner join integral.rin_departamentos d on d.dep_codigo = c.com_dep_codigo');
  FDQConsultas.SQL.Add(' inner join integral.rin_usuarios u on u.usr_codigo = c.com_usr_codigo ');
  FDQConsultas.SQL.Add(' inner join integral.rin_empleados e on e.emp_codigo = u.usr_empleado ');
  FDQConsultas.SQL.Add(' inner join integral.rin_status s on s.sta_id = c.com_sta_id');

  FDQConsultas.SQL.Add(' where com_ftr_id like :com_ftr_id and com_dep_codigo like :com_dep_codigo');
  FDQConsultas.SQL.Add(' and com_codigo like :com_codigo and com_usr_codigo like :com_usr_codigo');
  FDQConsultas.SQL.Add(' and com_sta_id like :com_sta_id ');
  FDQConsultas.SQL.Add(' and com_fechahora >=:FechaIni and com_fechahora <=:FechaFin');

  FDQconsultas.Params.ParamByName('com_ftr_id').AsString      :=sIdTrans;
  FDQconsultas.Params.ParamByName('com_dep_codigo').AsString  :=sDepto;
  FDQconsultas.Params.ParamByName('com_codigo').AsString      :=sCodigo;
  FDQconsultas.Params.ParamByName('com_usr_codigo').AsString  :=sUser;
  FDQconsultas.Params.ParamByName('com_sta_id').AsString      :=sIdStatus;
  FDQconsultas.Params.ParamByName('FechaIni').AsString        :=sFechaIni;
  FDQconsultas.Params.ParamByName('FechaFin').AsString        :=sFechaFin;

  result := TFDJSONDatasets.Create;
  TFDJSONDatasetsWriter.ListAdd(result, FDQConsultas);
end;

Este codigo esta en el modulo servidor, ahi modifique esta consulta. Pero no tengo la menor idea de como crear los campos persistentes (AGREGADOS) en el FDMemtable que esta en el modulo cliente. Ojo: necesito los campos persistentes porque tienen algunas caracteristicas que usa el modulo cliente.

La base de datos es SQL Server
La version de Delphi es 11.3

Cualquier ayuda se las agradeceria (ya intente con la IA y no he podido resolver nada)


La franja horaria es GMT +2. Ahora son las 21:32:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi