Ver Mensaje Individual
  #6  
Antiguo 16-12-2021
jahir1403 jahir1403 is offline
Registrado
 
Registrado: dic 2021
Posts: 5
Reputación: 0
jahir1403 Va por buen camino
Gracias a todos por sus comentarios, ya lo pude resolver, les comparto la solución por si a alguien más le llegase a pasar.


-------------- Consulta SQL --------------------------

Código SQL [-]
declare @arr_cfd_uuid varchar(max)= :arr_cfd_uuid

select ISNULL(sp.sol_polizaID,'-') as POLIZA, ISNULL(sc.sco_solicitud,'-') as SOLICITUD, cc.cfd_comprobacion as COMPROBACION, cp.cfd_fechaEmision as FECHA_EMISION, 
cp.cfd_emisor as A_NOMBRE_DE, cp.cfd_uuid as UUID_INGRESO, cp.cfd_tipoDeComprobante as TIPO_DE_COMPROBANTE, cp.cfd_total as MONTO,
ISNULL (cp.cfd_importePagado, 0) as IMPORTE_PAGADO,
ISNULL(cp.cfd_saldoInsoluto, cp.cfd_total) as SALDO_PENDIENTE, ISNULL(sp.sol_folioContabilizacion,'-') as ENLACE_COI, mpr.emp_descripcion as EMPRESA, 
dp.dep_descripcion as DEPARTAMENTO, emp.emp_codigo as CLAVE_USUARIO, 
CONCAT (emp.emp_nombre,' ',emp.emp_appaterno,' ', emp.emp_apmaterno) as USUARIO, st.sta_descripcion as ESTATUS, cp.cfd_uuid_pago as UUID_PAGO,
'-' as FECHA_LIMITE
from cfd_pagos cp
join comprobacion_cfd cc
on cp.cfd_uuid = cc.cfd_uuid
left join solicitud_comprobacion sc
on cc.cfd_comprobacion = sc.sco_comprobacion
join comprobacion_gasto cg
on cc.cfd_comprobacion = cg.com_id
join departamentos dp
on cg.com_depto_id = dp.dep_codigo
join usuarios us
on cg.com_usuario = us.usr_codigo
join empleados emp
on us.usr_empleado = emp.emp_codigo
join empresas mpr
on cg.com_emp_id = mpr.emp_id
join r_status st
on cp.cfd_estatus = st.sta_id
left join solicitud_pago sp
on sc.sco_solicitud = sp.sol_id
where cp.cfd_metodoPago = 'PPD' and cc.cfd_estado = 1 and 
cp.cfd_uuid in (select convert(varchar(50), value) from string_split(@arr_cfd_uuid, ',') )
union all
select '-' as poliza, '-' as solicitud, '-' as comprobacion, cfd_fechaEmision, cfd_emisor, 
cfd_uuid, cfd_tipoDeComprobante, 0 as total, cfd_importePagado as ImportePagado, cfd_saldoInsoluto as saldoInsoluto, '-' as enlaceCOI,
'-' as empresa, '-' as departamento, '-' as clave_usuario, '-' as usuario, sta_descripcion, 
cfd_uuid_pago, '-' as fechaLimite
from cfd_pagos
join r_status
on cfd_estatus = sta_id
where cfd_uuid_pago in (select convert(varchar(50), value) from string_split(@arr_cfd_uuid, ',') ) and cfd_tipoDeComprobante = 'P'
order by cfd_uuid_pago

--------------------- Código Delphi ------------------------

Código Delphi [-]
procedure TFConsultAdminPagos.btnRefrescarClick(Sender: TObject);
  var
  selection, arr_cfd_uuid : String;
  begin
    MClient.FDMCFDPagosXPPD.First;
    while not MClient.FDMCFDPagosXPPD.Eof do
    begin
      if MClient.FDMCFDPagosXPPDcheck_sta.AsInteger =  MOD_ACTIVO then
      begin
        if arr_cfd_uuid = '' then
        begin
          arr_cfd_uuid := MClient.FDMCFDPagosXPPDcfd_uuid.AsString;
        end
        else
        begin
           arr_cfd_uuid := arr_cfd_uuid + ',' + MClient.FDMCFDPagosXPPDcfd_uuid.AsString;
        end;
        selection := 'SI';
      end
      else
      begin
        if selection <> 'SI' then
        begin
          selection := 'NO';
        end;
      end;
        MClient.FDMCFDPagosXPPD.Next;
    end;

    if selection = 'NO' then
    begin
      msgbox('INFORMACIÓN','No se puede crear el documento debido a que no hay ningún registro seleccionado.',mtInformation,['OK'])
    end
    else
    begin
      FDQConsultaExportAdminPagos.Close;
      FDQConsultaExportAdminPagos.ParamByName('arr_cfd_uuid').AsString := arr_cfd_uuid;
      FDQConsultaExportAdminPagos.Open();
      //FDQConsultaExportAdminPagos.Active := true;
     // DataM.HojaExcel('Consulta Generica',DSExportAdminPagos,DBGExportarAdminPagos);
      msgbox('INFORMACIÓN','Se realizó la exportación de los registros.',mtInformation,['OK']);
    end;
  end;

Espero que si alguien tiene el mismo problema, esto le pueda ayudar.
Saludos y muchas gracias a todos por sus respuestas.

Última edición por Casimiro Notevi fecha: 16-12-2021 a las 21:10:26.
Responder Con Cita