FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper QUIEN ME ACLARA ESTO ????
Posts: 214
Joined: Sat Aug 19, 2006 01:37 PM
QUIEN ME ACLARA ESTO ????
Posted: Fri Dec 29, 2006 06:34 PM

Supongamos q tengo dos DBf

la primera contiene los datos de las compras de los clientes (las Facturas)

la segunda contiene los pagos de esas facturas

se podria hacer un BROWSE o LISTBOX que contenga en una colunma la factura q esta pendiente de pago y en otra el saldo q le queda por pagar

me explico o no:.

en resumen nose como poder mezclar dos bases de datos ,, los BROWSE los uso solo con una sola DBF

SI ME PUEDE AYUDAR CON ALGUN EJEMPLO CLARO

MUCHAS GRACIAS

Mi segundo amor es Programar
Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
QUIEN ME ACLARA ESTO ????
Posted: Sat Dec 30, 2006 04:55 AM

Puedes intentar con SET RELATION

// abro la base hija indexada por un campo com煤n a las dos bases, en
// este ejemplo el campo NumFactu
USE PagosFac INDEX NumFactu NEW

// abro la base padre, indexada o no, por el campo que quieras
USE Facturas NEW
// defino la relaci贸n
SET RELATION TO NumFactu INTO PagosFac

Al definir los campos del ListBox solo tengo que cambiar el alias de
cada una de las bases:

facturas->NUMFACTU
facturas->FECHA
PagosFac->SALDO
....

Un saludo



Manuel
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
QUIEN ME ACLARA ESTO ????
Posted: Sat Dec 30, 2006 08:20 AM

A&C,

Revisa fwh\samples\gallery\onemany.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 214
Joined: Sat Aug 19, 2006 01:37 PM
QUIEN ME ACLARA ESTO ????
Posted: Sat Dec 30, 2006 01:15 PM

buenos dias

gracias por las respuestas :

revise el .PRG q mencionaste antonio, pero no es lo que necesito :

mira lo que yo quiero hacer es lo siguiente:: tratare de detallarlo lo mejor posible.

tengo una DBF ( uso CDX, database) que contiene las facturas de los clientes indexadas con folio( ojo existe un registro para cada folio de cada factura en dnd incluyo el total de la misma, el detalle de los productos de la factura esta en otra DBF, que no me interesa manejar)

en la otra DBF tengo las pagos(pueden existir varios registros por cada factura, dependiendo de si se hacen abonos y se paga total) tambien esta indexada por folio..

lo que pretendo hacer es un DIALOG que solo contenga un BROWSE que me muestre ::

FOLIO CLIENTE TOTAL FACTURA ABONO SALDO

las primeras colunmas:

FOLIO: es facil la extraigo directamente de la primera DBF
CLIENTE: igual cosa
TOTAL FACTURA: igual cosa

el problemita es como extraigo la columna ABONO

nose si no comprendo el concepto de como trabaja el BROWSE o LISTBOX
como le digo a la PC cuando defino el BROWSE que por cada registro de la primera DBF, filtro la segunda DBF y suma cuanto lleva de abono o pagos y ese valor lo muestre en la colunma ABONO

Ojo yo uso SCOPES para dar los limites de inicio y termino de una DBF,, por ser estos mas rapidos que Set Filter..

ALGUNA AYUDA AL RESPECTO

GRACIAS::

Mi segundo amor es Programar
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
QUIEN ME ACLARA ESTO ????
Posted: Sun Dec 31, 2006 06:19 AM

Al definir un browse puedes especificar una funci贸n para calcular el valor de una columna. Esa funci贸n debe hacer los calculos necesarios y devolver el valor que necesites:

... FIELDS ..., MiFuncion(), ..., ...

function MiFuncion()

...

return <ValorCalculado>

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
QUIEN ME ACLARA ESTO ????
Posted: Mon Jan 01, 2007 08:52 PM
Tienes varias formas para hacer lo que dices:

1) Como en tu Bd de pagos debes tener varios registros necesitas una funcion que te devuelva la suma de abonos y el saldo correspondiente y estos resultados puedes ponerlo en variables y mostrarlo en el browse.

2) Puedes crear "al vuelo" una BD temporal que tenga los campos que quieres mostrar en el browse y mediante la funcion que hayas hecho previamente llenar los campos para mostrarlos.

El problema como veo es que cuando tratas el tema de pagos parciales de una factura, necesariamente debes registrar todas las transacciones parciales los cuales al mostrarlos en un browse donde se combinan las facturas y los pagos te haria que estes mostrando repetidamente la misma factura tantas veces se hayan realizados pagos fraccionados... y eso es lo que parece que no quisieras.

Otra solucion seria que en el dise帽o de tu BD tambien consideres un campo de pagos y saldos que recibiria la suma de pagos aceptados y el saldo actual almomento de la consulta. En este caso solamente tendr铆as que mostrar una sola BD en el browse.

Espero sea eso la orientacion que necesitas.

Atentamente

Armando
Lima, Peru

[quote="A&C"]buenos dias

gracias por las respuestas :

revise el .PRG q mencionaste antonio, pero no es lo que necesito :

mira lo que yo quiero hacer es lo siguiente:: tratare de detallarlo lo mejor posible.

tengo una DBF ( uso CDX, database) que contiene las facturas de los clientes indexadas con folio( ojo existe un registro para cada folio de cada factura en dnd incluyo el total de la misma, el detalle de los productos de la factura esta en otra DBF, que no me interesa manejar)


en la otra DBF tengo las pagos(pueden existir varios registros por cada factura, dependiendo de si se hacen abonos y se paga total) tambien esta indexada por folio..

lo que pretendo hacer es un DIALOG que solo contenga un BROWSE que me muestre ::

FOLIO CLIENTE TOTAL FACTURA ABONO SALDO
----------------------------------------------------------------------------

las primeras colunmas:

FOLIO: es facil la extraigo directamente de la primera DBF
CLIENTE: igual cosa
TOTAL FACTURA: igual cosa

el problemita es como extraigo la columna ABONO

nose si no comprendo el concepto de como trabaja el BROWSE o LISTBOX
como le digo a la PC cuando defino el BROWSE que por cada registro de la primera DBF, filtro la segunda DBF y suma cuanto lleva de abono o pagos y ese valor lo muestre en la colunma ABONO

Ojo yo uso SCOPES para dar los limites de inicio y termino de una DBF,, por ser estos mas rapidos que Set Filter..


ALGUNA AYUDA AL RESPECTO


GRACIAS::
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com

Continue the discussion