Ver Mensaje Individual
  #22  
Antiguo 17-09-2004
aurafern aurafern is offline
Miembro
 
Registrado: dic 2003
Posts: 34
Reputación: 0
aurafern Va por buen camino
Esta es la consulta:
Código SQL [-]
SELECT SUM(e.DEBITO-e.CREDITO) AS SALDO, e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE, e.numero_cruce, E.CUOTA_CRUCE,
d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR FROM CUENTAS_POR_TERCERO e , cuentas_por_tercero d
where e.ID_EMPRESA_CRUCE=d.ID_EMPRESA and e.ID_SUCURSAL_CRUCE=d.ID_SUCURSAL AND E.CUOTA_CRUCE=D.CUOTA
and e.ID_TIPO_DOC_CRUCE= d.id_tipo_doc and e.numero_cruce=d.numero  AND e.ID_EMPRESA = 1  AND E.ID_SUCURSAL=1
and e.id_tercero =1 AND E.ID_VENDEDOR=1 AND E.ID_SUC_VENDEDOR=1
and e.id_sucursal_tercero=1   and e.id_auxiliar =13050501  
and (09/16/2004 - d.vencimiento)>= 30 and (09/16/2004 - d.vencimiento)<= 90
GROUP BY e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE,
e.numero_cruce, E.CUOTA_CRUCE , d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR
having SUM(e.DEBITO-e.CREDITO)<>0
into :saldo,:id_auxiliar,:id_empresa,:id_sucursal,:id_tipo,:numero,:cuota,:fecha_DOC,:vencimiento,:id_ter  cero,:id_sucursal_tercero, :ID_VENDEDOR

los parametros son

Código Delphi [-]
query2.close;
if (mdId_empresa.asstring<>' ') then 
query2.ParamByName('empresa').AsString:=' AND E.ID_EMPRESA='+ mdId_empresa.asstring+ ' ';
if (mdId_sucursal.asstring<>' ') then
query2.ParamByName('sucursal').AsString:=' AND E.ID_SUCURSAL='+ mdId_sucursal.asstring+ ' ';
Query2.ParamByName('modelo').AsInteger:=4;
Query2.ParamByName('no_rango').AsInteger:=4;
query2.ParamByName('PFECHA').AsDate:= int(mdFECHA.AsDateTime);
if (SELECCIONAVENDE='SI') THEN
query2.ParamByName('PVENDEDOR').AsString:=' AND E.VENDEDOR= 1 ';
if (SELECCIONACUENTA='SI') THEN
query2.ParamByName('PCUENTA').AsString:= ' AND E.PCUENTA = 13050501 ';
if (SELECCIONATERC='SI') THEN
query2.ParamByName('PTERCERO').AsString:=' AND E.ID_TERCERO=1 ';
if (SELECCIONASUCTER='SI') THEN
query2.ParamByName('Psuc_TERCERO').AsString:=' AND E.ID_SUCURSAL_TERCERO=1 ';
if (SELECCIONASUCVEND='SI') THEN
query2.ParamByName('Psuc_VENDEDOR').AsString:=' AND E.ID_SUC_VENDEDOR=1 ';
query2.Open;


y sale el error : column unknown 09/16/2004 , cuando llamo al SP desde delphi.

lo que quiere decir que si solo se va a filtrar por rango de fechas y empresa
la consulta que daría de la siguiente manera

Código SQL [-]
SELECT SUM(e.DEBITO-e.CREDITO) AS SALDO, e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE, e.numero_cruce, E.CUOTA_CRUCE,
d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR FROM CUENTAS_POR_TERCERO e , cuentas_por_tercero d
where e.ID_EMPRESA_CRUCE=d.ID_EMPRESA and e.ID_SUCURSAL_CRUCE=d.ID_SUCURSAL AND E.CUOTA_CRUCE=D.CUOTA
and e.ID_TIPO_DOC_CRUCE= d.id_tipo_doc and e.numero_cruce=d.numero  AND e.ID_EMPRESA = 1 
and ( fecha - d.vencimiento)>= 30 and ( fecha - d.vencimiento)<= 90
GROUP BY e.ID_AUXILIAR,e.ID_EMPRESA_CRUCE, e.ID_SUCURSAL_CRUCE,e.ID_TIPO_DOC_CRUCE,
e.numero_cruce, E.CUOTA_CRUCE , d.fecha, d.vencimiento,e.id_tercero,e.ID_SUCURSAL_TERCERO, E.ID_VENDEDOR
having SUM(e.DEBITO-e.CREDITO)<>0
into :saldo,:id_auxiliar,:id_empresa,:id_sucursal,:id_tipo,:numero,:cuota,:fecha_DOC,:vencimiento,:id_ter  cero,:id_sucursal_tercero, :ID_VENDEDOR

Lo que se traduce en que solo quiero pasar los filtros (que aparecen coloreados en la primera consulta) sólo cuando sea necesario.

Muchas gracias por tu paciencia!!

Última edición por aurafern fecha: 17-09-2004 a las 17:33:44.
Responder Con Cita