Ver Mensaje Individual
  #1  
Antiguo 17-03-2025
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 176
Reputación: 9
ArtPortEsp Va por buen camino
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)
Responder Con Cita