PDA

Ver la Versión Completa : debe y haber


sflexas
02-10-2005, 01:49:10
Hola :eek:
tengo una tabla movimientos en los que tengo algunos que son debe y otros haber. Lo que quiero hacer es imprimir el 2 detalles ambos y no puedo hacer que me los muestre intercalados por fechas (Me explico??) en 2 columnas distintas. Agrdeceria cualquier ayuda. Gracias :p

Casimiro Notevi
02-10-2005, 12:40:29
Creo que entiendo lo que preguntas, pero no está muy claro, podrías explicarlo mejor?, gracias.

marcoszorrilla
02-10-2005, 12:44:46
Si tienes ambos campos debe y haber y no todo confundido en uno, la cosa es muy sencilla, símplemente colocas en la parte izquierda como es preceptivo el debe y en la derecha el haber (que serán dos campos diferentes) y luego pintas un línea vertical entre ambos y dará la ilusión de 2 columnas, esta línea, dependerá del programa que utilices para informes, la manera en que se llevará a cabo.

Un Saluod.

sflexas
09-10-2005, 03:33:08
Solo tengo una tabla movimientos en los que algunos tienen un importe positivo y otros negativo. Mi intencion es que salga de la siguiente forma

cod Tipo ------------------------------------Debe ------Haber

1 Recibo------------------------------------- 1000
43 cheque -----------------------------------------------125

Me explico??
Gracias :D

Casimiro Notevi
09-10-2005, 12:49:11
Es difícil (imposible) dar respuestas válidas cuando no se hacen preguntas correctas.

Al principio no dijiste nada sobre importes positivos y negativos, también preguntaste por fechas, sin embargo ahora no sale en tu ejemplo :confused:

En fin, que esto es perder el tiempo intentanto "tirarte de la lengua" para que nos diga exactamente qué tiénes y qué quiéres.

Y no lo digo sólo por tí, tu caso es muy habitual, que piensan que los demás somos adivinos o algo así.

Menos mal que en tu caso no te has quejado que no se te ayude bien, porque algunos además se quejan.

Saludos.

vtdeleon
09-10-2005, 15:45:20
Saludos

Yo tengo más o menos una idea de lo que se quiere, pero no me atrevo a decir cual es, puesto que (quizas) estaría hablando blablabla....
Yo le sugiero a sflexas que nos muestre la estrúctura de la(s) tabla(s) en cuestión y como desearía la estructura del reporte.

sflexas
10-10-2005, 03:40:57
Realmente pido disculpas al ser tan poco explicito, realmente pense que era comun lo que pregunto. Lo que yo queria es que en la misma banda de detalle ( Maestro: Cliente, Detalle: Movimientos ) aparezca el importe positivo en una posicion determinada (left=100) y el negativo en otro (left=140). Para que quede el formulario al estilo tablas de contabilidad; con el Debe en una columna y el Haber en otra. El tema es que lo intente poniendo QrExpr con el if pero no creo que se pueda por estar tratando el mismo campo. El importe positivo y el negativo son el mismo campo. Saludos, El INCOMPRENDIDO SFLEXAS:rolleyes:

vtdeleon
10-10-2005, 03:58:45
Saludos
Bueno, aún no entiendo...pero dejame aventurarme.

****Estructura actual****

Cliente Nombre
000001 Juan
000002 Mario

Cliente Movimiento
000001 234.00
000001 543.00
000002 193.00
000001 -832.00
000002 -423.00
000002 -100.00
****Estructura Deseada****

Cliente Nombre Debe Haber
000001 Juan... 234.00
000001 ...... 543.00
000001 ....... 832.00
000002 ....... 193.00
000002 ....... 423.00
000002 ....... 100.00
Es esto lo que deseas?

Casimiro Notevi
10-10-2005, 09:04:12
Te das cuenta sflexas, ahí tienes a vtdeleon suponiendo, imaginando, aventurando qué es lo que quieres y qué es lo que tienes.

Debes decir: tengo una tabla con estos campos: xxx, yyy, zzz y otra tabla con estos otros campos: aaa,bbb,ccc y quiero obtener el siguiente resultado: bla,bla,bla......

Esta es la contestación número 8 después de que formularas tu pregunta y todavía no sabemos exactamente qué tienes y qué quieres.

Porfa, sé un poquito más explícito, no eres el incomprendido sflexas, es que no somos adivinos.

Saluditos.

quimeras
10-10-2005, 09:25:18
Tampoco conocemos el sistema de base de datos que utilizas, sflexas.
Por ejemplo, en Firebird/Interbase sería muy facil de hacer dentro de un procedimiento almacenado:

if (Importe >=0) then begin
Debe = Importe;
Haber = 0;
end
if (Importe < 0) then begin
Debe = 0;
Haber = 0 - Importe;
end

sflexas
16-10-2005, 02:24:42
Vtdeleon, eso es exactamente lo que quiero. Me parecia algo comun y no tan raro. El tema es que lo quiero dentro de un Quickreport y no se como hacer para que cuando es debe no me aparezca nada en la columna haber y lo inverso de esto. El invonveniente surge por ser el mismo campo (segun vos Movimiento)

Lepe
16-10-2005, 06:26:26
sflexas sigues sin decir los componentes de acceso a la BD (ado, bde, ibx) ni tampoco la BBDD en sí (paradox, firebird,...). No creas que vamos a poner la solución para todas las Bases de datos que existen.

saludos.

sflexas
17-10-2005, 03:23:25
Ok, Componentes Ado , base de datos Sql server 7.0 reportes Qreport. Calculo que la solucion esta en el qreport y no en la conexion a la base de datos ni en el manejode las componentes.Gracias por la paciencia

roman
17-10-2005, 04:10:17
Podrías agregar dos campos calculados al AdoTable: Debe y Haber y asignarles su valor en el evento OnCalcFields:


procedure TForm1.AdoTable1CalcFields(DataSet: TDataSet);
var
Movimiento: Currency;

begin
Movimiento := DataSet.FieldByName('movimiento').AsCurrency;
if Movimiento >= 0 then
begin
DataSet.FieldByName('debe').AsCurrency := Movimiento;
DataSet.FieldByName('haber').AsCurrency := 0;
end
else
begin
DataSet.FieldByName('debe').AsCurrency := 0;
DataSet.FieldByName('haber').AsCurrency := -Movimiento;
end;
end;


Alimentas al QuickReport con esto y tendrás tus dos columnas.

// Saludos