Crear un Kardex en Vfp

1,117 views
Skip to first unread message

pablo b(La Pampa)

unread,
Sep 8, 2011, 6:57:28 PM9/8/11
to Comunidad de Visual Foxpro en Español
Hola Amigos, de nuevo, hoy consulte para que me dieran ideas o
sugerencias de como hacer para llevar o poder consultar un historial
de un producto desde que entro a la empresa hasta que se vendio o
devolvio a fabrica por falla, mi idea era crear un tabla y que ahi se
vayan acentando los moviemientos del articulo de acuerdo a lo que va
sucediendo con el hasta la venta.
Luis Mata me sugirio porque no usar un KARDEX, busque en google info
sobre el tema, hay un montonnnnn, pero el tema es que no tengo ni idea
de como empezarlo en vfp o como seria hacerlo en vfp, si alguien hizo
alguno y me puede indicar como empezar o que hay que tener en cuenta
al momento de crear la tabla o como se hace un Kardex???, perdon por
mi ignorancia pero no tengo ni idea del tema Kardex. o sino alguna
pagina con ejemplo de como funciona, trabajo vfp y mysql.

Muchas Gracias

pablo

Ing.Daniel Bojorge

unread,
Sep 8, 2011, 7:16:33 PM9/8/11
to publice...@googlegroups.com
Estimado colega, antes de programar algo, te sugiero informarte o leer un poco más, lo que necesitás es leer lo básico de manejo de inventario, así podés diseñar tu base de datos, donde verás que tendrás que necesitar una tabla para registrar las compras, otra para las ventas, otra para ajustes de inventario, obviamente con sus respectivos formularios y al final elaborar un informe donde vaya todo eso, además de controlar la existencia que puede ser por fecha de corte o llevarla en un mismo campo, para tener saldo inicial y final.  Bueno, te digo algo de lo que he aprendido.  Puede ser incluso una única tabla donde definás bien los campos, algo así como documento, codigo, descripción, cantidad, monto,fecha, tipodoc o algo así.

Lo importante es que debés documentarte mejor, para luego trabajar con un lenguaje de prog. específico.



Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
www.debsconsultores.com
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)

Walter R. Ojeda Valiente

unread,
Sep 8, 2011, 8:03:58 PM9/8/11
to publice...@googlegroups.com
En mi caso particular, prefiero trabajar con una sola tabla cabecera, donde para saber cual es el movimiento ocurrido utilizo un campo llamado Tipo de Movimiento, el cual puede valer:
- ECM = Entrada por Compras
- EDV = Entrada por Devolución del Cliente
- ETR = Entrada por Traslado desde Sucursal
etc.

- SVT = Salida por Ventas
- SDV = Salida por Devolución al Proveedor
- STR = Salida por Traslado a una Sucursal
- SRO = Salida por Robo
- SIN = Salida por incendio
etc.

- COB = Cobranza
- PAG = Pago
etc.

Haciéndolo de esta manera resulta más fácil y sencillo realizar las consultas.

Saludos.

Walter.




From: debs....@gmail.com
Date: Thu, 8 Sep 2011 17:16:33 -0600
Subject: Re: [vfp] Crear un Kardex en Vfp
To: publice...@googlegroups.com

German Montini

unread,
Sep 8, 2011, 8:25:56 PM9/8/11
to publice...@googlegroups.com
Hola, quería consultarles sobre como hago, necesito imprimir en una misma hoja un original y un duplicado de un remito, y no se como hacer para que al terminar de imprimir el primer reporte no me haga el salto de página.

Luis Mata

unread,
Sep 8, 2011, 8:44:56 PM9/8/11
to publice...@googlegroups.com
Un duplicado es cuando imprimes 2 hojas juntas autocopiativas, como lo hacen las facturas y otros. Lo otro seria enviar un reporte 2 a imprimir y ponerle tu sello de CARGO.

Walter R. Ojeda Valiente

unread,
Sep 8, 2011, 9:02:22 PM9/8/11
to publice...@googlegroups.com
Hola Germán

Lo que yo hago en situaciones similares es lo siguiente:
- En un cursor o tabla temporal pongo todo lo que debo imprimir
- Tengo un campo que me dice cual es el número de copia que estoy imprimiendo
- Le agrego las filas en blanco que sean necesarias
- Copio el documento original las veces que sean necesarias
- Luego cambiando el alto de las bandas hago que se impriman los documentos en el lugar exacto

Suponiendo que en el remito puedan imprimirse 8 productos, pero solamente tiene 3 productos quedaría algo así:

Podría quedarme algo así
1   00257    12  Coca Cola de 350 cc            150     1800
1   00819      6  Cerveza Budweiser             800      4800
1  01253     10  Sandwiches de milanesa     750      7500
1
1
1
1
1
2   00257    12  Coca Cola de 350 cc            150     1800
2   00819      6  Cerveza Budweiser             800      4800
2  01253     10  Sandwiches de milanesa     750      7500
2
2
2
2
2

El corte de control obviamente lo hago por la primera columna (la que tiene un 1 ó un 2)

Esta técnica funciona siempre, sin problemas. Fácil y sencillo. Y sirve tanto para imprimir 2 documentos, como 3, ó 4, o los que necesites, simplemente agregando más registros similares.

Saludos.

Walter.





To: publice...@googlegroups.com
Subject: [vfp] Duda sobre como imprimir en Visual Foxpro en una hoja dos reportes
Date: Thu, 8 Sep 2011 21:25:56 -0300

Ing.Daniel Bojorge

unread,
Sep 8, 2011, 10:45:23 PM9/8/11
to publice...@googlegroups.com
Es otra muy buena opción.  Pero lo importante es que debe documentarse.




Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
www.debsconsultores.com
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)



Guillermo Gimenez

unread,
Sep 8, 2011, 10:46:11 PM9/8/11
to publice...@googlegroups.com
Buenas noches... totalmente de acuerdo con Walter... es mas... en mi proyecto universitario (tesis) lo diseñe de esa manera... solo que los profesores guias o tutores, no estaban de acuerdo con eso... todavia no se si por algun error de concepto mio... o porque nunca entendieron el concepto... je... al final de cuentas hice lo que ellos pidieron y la verdad es triste... las consultas son mucho mas larga y obviamente tardan mas... pero bueno... ellos saben.. yo alumno...
Asi que al que inicio este hilo... si todavia no tenes armada la estructura de tu Base de Datos... diseñala en base al consejo de Walter... te vas a ahorrar unos cuantos dolores de cabeza... eso si.. DOCUMENTA BIEN todo lo que haces... un abrazo
 
Guille

De: Walter R. Ojeda Valiente <wr...@hotmail.com>
Para: publice...@googlegroups.com
Enviado: jueves, 8 de septiembre de 2011 20:03
Asunto: RE: [vfp] Crear un Kardex en Vfp

En mi caso particular, prefiero trabajar con una sola tabla cabecera, donde para saber cual es el movimiento ocurrido utilizo un campo llamado Tipo de Movimiento, el cual puede valer:
- ECM = Entrada por Compras
- EDV = Entrada por Devolución del Cliente
- ETR = Entrada por Traslado desde Sucursal
etc.

- SVT = Salida por Ventas
- SDV = Salida por Devolución al Proveedor
- STR = Salida por Traslado a una Sucursal
- SRO = Salida por Robo
- SIN = Salida por incendio
etc.

- COB = Cobranza
- PAG = Pago
etc.

Haciéndolo de esta manera resulta más fácil y sencillo realizar las consultas.

Saludos.

Walter.



German Montini

unread,
Sep 8, 2011, 11:54:17 PM9/8/11
to publice...@googlegroups.com
Gracias Walter, muy buena la explicación, pero lo que necesito es:
    son hojas troqueladas a la mitad, en la cual necesito que en la primera parte me tome como 1 remito, y en la segunda mitad me imprima la copia del remito, en la cual cada remito contiene un page header (con los datos de numero de remito, fecha y nombre de cliente), y un detail (datos de los articulos). muchas gracias

Guillermo Gimenez

unread,
Sep 9, 2011, 3:04:19 AM9/9/11
to publice...@googlegroups.com
Si entiendo bien german... necesitas algo como la imgen que envio adjunta.. de ser asi.. es tan facil como:
1- configurar la impresion del reporte de remito en forma horizontal
2- hacer un copy y paste de todos los objetos de tu remito original y ponerlos a la derecha de la hoja posicionada horizontalmente...
3- imprimir el remito...
 
creo que es todo.. si estoy equivocado... pasanos una imagen de como necesitas imprimir a ver si encontramos la solucion.. saludos
 
Guille

remito.JPG

Walter R. Ojeda Valiente

unread,
Sep 9, 2011, 3:50:02 AM9/9/11
to publice...@googlegroups.com
Eso es elemental mi querido Watson. ¡¡¡Todo debe documentarse!!!

Saludos.

Walter.




From: debs....@gmail.com
Date: Thu, 8 Sep 2011 20:45:23 -0600

Walter R. Ojeda Valiente

unread,
Sep 9, 2011, 4:04:05 AM9/9/11
to publice...@googlegroups.com
Lo que entendí es que necesitas que lo impreso en la parte superior de la hoja (lo que está arriba del troquelado) sea igual a lo que está en la parte inferior de la hoja (lo que está debajo del troquelado). Lo que te escribí es para la parte de detalles, para la parte de cabecera es aún más simple.

Private I_Numero, I_Fechax, I_NomCli

I_Numero = 123
I_Fechax = Date()
I_NomCli = "Juan Pérez"

* Obviamente los datos de arriba los obtendrás de otra forma, es sólo para entender la idea

REPORT FORM Remito TO PRINTER

Y en REMITO.FRX haces un corte de control por la primera columna (la que tiene un 1 ó un 2) y en la banda cabecera (no en el Page Header, sino en la cabecera de la banda) colocas las variables I_Numero, I_Fechax, I_NomCli, etc.

Saludos.

Walter.



Subject: Re: [vfp] Duda sobre como imprimir en Visual Foxpro en una hoja dos reportes
Date: Fri, 9 Sep 2011 00:54:17 -0300

Marco Plaza

unread,
Sep 9, 2011, 9:33:30 AM9/9/11
to Comunidad de Visual Foxpro en Español
Hola Germán, debes configurar correctamente el tamaño del papel para
que coincida con media hoja,
y luego manda a imprimir un reporte tras otro con la opcion
nopageeject.

Marco Plaza


On Sep 9, 4:04 am, "Walter R. Ojeda Valiente" <w...@hotmail.com>
wrote:
> Lo que entendí es que necesitas que lo impreso en la parte superior de la hoja (lo que está arriba del troquelado) sea igual a lo que está en la parte inferior de la hoja (lo que está debajo del troquelado). Lo que te escribí es para la parte de detalles, para la parte de cabecera es aún más simple.
>
> Private I_Numero, I_Fechax, I_NomCli
>
> I_Numero = 123
> I_Fechax = Date()
> I_NomCli = "Juan Pérez"
>
> * Obviamente los datos de arriba los obtendrás de otra forma, es sólo para entender la idea
>
> REPORT FORM Remito TO PRINTER
>
> Y en REMITO.FRX haces un corte de control por la primera columna (la que tiene un 1 ó un 2) y en la banda cabecera (no en el Page Header, sino en la cabecera de la banda) colocas las variables I_Numero, I_Fechax, I_NomCli, etc.
>
> Saludos.
>
> Walter.
>

Viktor Velazquez

unread,
Sep 9, 2011, 10:20:16 AM9/9/11
to publice...@googlegroups.com
Otra opcion como dicen abajo es manejar dor tablas  una sobre la parte iquierda y un temporal de la misma sobre la parte derecha.. saludos



Date: Fri, 9 Sep 2011 00:04:19 -0700
From: guille...@yahoo.com.ar
Subject: Re: [vfp] Duda sobre como imprimir en Visual Foxpro en una hoja dos reportes
To: publice...@googlegroups.com

German Montini

unread,
Sep 9, 2011, 10:39:25 AM9/9/11
to publice...@googlegroups.com
Gracias Marco, era lo que necesitaba, pero tampoco no funcionaba, lo mismo
me eyectaba la hoja, lo solucion� como me indic� Walter, grabo dos veces los
articulos, con un campo de grupo, y en lugar de usar la cabecera de pagina
para que me muestre los datos de comprobante y de cliente, lo puse en
cabecera de grupo. Muchas gracias.
Germ�n Montini

--------------------------------------------------
From: "Marco Plaza" <stma...@gmail.com>
Sent: Friday, September 09, 2011 10:33 AM
To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>
Subject: [vfp] Re: Duda sobre como imprimir en Visual Foxpro en una hoja dos
reportes

> Hola Germ�n, debes configurar correctamente el tama�o del papel para


> que coincida con media hoja,
> y luego manda a imprimir un reporte tras otro con la opcion
> nopageeject.
>
> Marco Plaza
>
>
> On Sep 9, 4:04 am, "Walter R. Ojeda Valiente" <w...@hotmail.com>
> wrote:

>> Lo que entend� es que necesitas que lo impreso en la parte superior de la
>> hoja (lo que est� arriba del troquelado) sea igual a lo que est� en la
>> parte inferior de la hoja (lo que est� debajo del troquelado). Lo que te
>> escrib� es para la parte de detalles, para la parte de cabecera es a�n
>> m�s simple.


>>
>> Private I_Numero, I_Fechax, I_NomCli
>>
>> I_Numero = 123
>> I_Fechax = Date()

>> I_NomCli = "Juan P�rez"
>>
>> * Obviamente los datos de arriba los obtendr�s de otra forma, es s�lo

>> para entender la idea
>>
>> REPORT FORM Remito TO PRINTER
>>
>> Y en REMITO.FRX haces un corte de control por la primera columna (la que

>> tiene un 1 � un 2) y en la banda cabecera (no en el Page Header, sino en

>> la cabecera de la banda) colocas las variables I_Numero, I_Fechax,
>> I_NomCli, etc.
>>
>> Saludos.
>>
>> Walter.
>>
>> From: gmont...@hotmail.comTo:publice...@googlegroups.com
>> Subject: Re: [vfp] Duda sobre como imprimir en Visual Foxpro en una hoja
>> dos reportes
>> Date: Fri, 9 Sep 2011 00:54:17 -0300
>>

>> Gracias Walter, muy buena la explicaci�n, pero lo que


>> necesito es:
>> son hojas troqueladas a la mitad,
>> en la cual necesito que en la primera parte me tome como 1 remito, y en
>> la
>> segunda mitad me imprima la copia del remito, en la cual cada remito
>> contiene un
>> page header (con los datos de numero de remito, fecha y nombre de
>> cliente), y un
>> detail (datos de los articulos). muchas gracias
>>
>> From: Walter R. Ojeda Valiente
>> Sent: Thursday, September 08, 2011 10:02
>> PMTo:publice...@googlegroups.com
>>
>> Subject: RE: [vfp] Duda sobre como imprimir en Visual Foxpro en una
>> hoja dos reportes
>>

>> Hola Germ�n


>>
>> Lo que yo hago en situaciones similares es lo
>> siguiente:
>> - En un cursor o tabla temporal pongo todo lo que debo
>> imprimir

>> - Tengo un campo que me dice cual es el n�mero de copia que estoy


>> imprimiendo
>> - Le agrego las filas en blanco que sean necesarias
>> - Copio el
>> documento original las veces que sean necesarias
>> - Luego cambiando el alto de
>> las bandas hago que se impriman los documentos en el lugar
>> exacto
>>
>> Suponiendo que en el remito puedan imprimirse 8 productos, pero

>> solamente tiene 3 productos quedar�a algo as�:
>>
>> Podr�a quedarme algo
>> as�

>> de control obviamente lo hago por la primera columna (la que tiene un 1 �
>> un
>> 2)
>>
>> Esta t�cnica funciona siempre, sin problemas. F�cil y sencillo. Y
>> sirve tanto para imprimir 2 documentos, como 3, � 4, o los que necesites,
>> simplemente agregando m�s registros


>> similares.
>>
>> Saludos.
>>
>> Walter.
>>
>> From: gmont...@hotmail.comTo:publice...@googlegroups.com
>> Subject:
>> [vfp] Duda sobre como imprimir en Visual Foxpro en una hoja dos
>> reportes
>> Date: Thu, 8 Sep 2011 21:25:56 -0300
>>

>> Hola, quer�a consultarles sobre como hago, necesito


>> imprimir en una misma hoja un original y un duplicado de un remito, y no
>> se como
>> hacer para que al terminar de imprimir el primer reporte no me haga el
>> salto de

>> p�gina.
>

Marco Plaza

unread,
Sep 9, 2011, 11:25:50 AM9/9/11
to Comunidad de Visual Foxpro en Español
Que bueno Germán, esa es una buena solución también.. si luego tienes
tiempo revisate esto ( si usas una impresora de matriz de puntos ) tal
vez te seguía saltando la hoja por un el 'skip over perforation' que
hay que deshabilitarlo en la confg misma de la impresora cuando tu
reporte llega muy abajo..

Marco Plaza



On Sep 9, 10:39 am, "German Montini" <gmont...@hotmail.com> wrote:
> Gracias Marco, era lo que necesitaba, pero tampoco no funcionaba, lo mismo
> me eyectaba la hoja, lo solucion como me indic Walter, grabo dos veces los
> articulos, con un campo de grupo, y en lugar de usar la cabecera de pagina
> para que me muestre los datos de comprobante y de cliente, lo puse en
> cabecera de grupo. Muchas gracias.
> Germ n Montini
>
> --------------------------------------------------
> From: "Marco Plaza" <stmapw...@gmail.com>

Mario Alfredo

unread,
Sep 9, 2011, 1:09:44 PM9/9/11
to Comunidad de Visual Foxpro en Español
german que te pasa ayudale al amigo con el inventario, que mal educado
sos

German Montini

unread,
Sep 11, 2011, 12:15:28 AM9/11/11
to publice...@googlegroups.com
hola, Mario Alfredo, de que ayude a que amigo con el inventario me decis?.

--------------------------------------------------
From: "Mario Alfredo" <maov...@gmail.com>
Sent: Friday, September 09, 2011 2:09 PM


To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>
Subject: [vfp] Re: Duda sobre como imprimir en Visual Foxpro en una hoja dos
reportes

> german que te pasa ayudale al amigo con el inventario, que mal educado


> sos
>
> On Sep 8, 6:25 pm, "German Montini" <gmont...@hotmail.com> wrote:

>> Hola, quer�a consultarles sobre como hago, necesito imprimir en una misma

>> hoja un original y un duplicado de un remito, y no se como hacer para que

>> al terminar de imprimir el primer reporte no me haga el salto de p�gina.
>

HernanCano

unread,
Sep 11, 2011, 3:06:00 AM9/11/11
to Comunidad de Visual Foxpro en Español

Hola, Marco.

Me gustaría saber cómo se configura la hoja.

Yo definí el tamaño "media carta" en mi computador por la opción
"Personalizado" con impresora PDFCreator; llevé el reporte donde el
cliente y quedó al tamaño "carta"; así que debí crear el tamaño "media
carta" pero con la impresora láser de ellos. Unos días después
cambiaron a una Epson LX300 de puntos y se utiliza el mismo reporte.

Se debió reformatear el computador del cliente, y el mismo programa,
con el mismo reporte sin modificar nada, en la Epson ahora sale en la
mitad de la media carta.

Necesito que me ayudes con dos cosas:

1.
Saber por qué o como soluciono.

2.
¿Cuáles son las instrucciones para "configurar correctamente el tamaño
del papel para que coincida con media hoja".

Espero que entiendas que el escenario es en el computador del cliente
donde no hay VFP9 instalado, pero te cuento que dispongo de un
utilitario similar a Fox6Command compilado en VFP9, y también similar
a FoxConsole y a Run9Fox, en el que existe línea de comandos y (creo
que) puedo ejecutar MODIFY REPORT.

Gracias a quien pueda leer esta líneas....y muchas más si me ayuda.

Gire Abraham Naranjo

unread,
Oct 6, 2012, 6:46:37 AM10/6/12
to publice...@googlegroups.com
Pablo tengo el mismo problema tuyo como resolviste o como creaste el kardex serias tan amable de mandarme un ejemplo por favor saludos 

MAC HOWARD

unread,
Oct 6, 2012, 11:13:36 AM10/6/12
to publice...@googlegroups.com
Saludos.

Dispongo de un programa en vfp de kardex.

Que dudas tienen a ver en que les puedo colaborar.

El 06/10/12, Gire Abraham Naranjo <gire.abrah...@gmail.com> escribió:
> --
>
>
>
>


--
Hasta Pronto !

________________________________
MAC HOWARD OROZCO POLO
Analista Programador de Sistemas
Barranquilla - Colombia
https://sites.google.com/site/sistemasmachoward/
http://www.machowardop.blogspot.com/

Josepe

unread,
Oct 8, 2012, 7:16:23 PM10/8/12
to publice...@googlegroups.com
Un kardex es un detalle de transacciones, ordenado normalmente por fechas. Estos datos datos lleva más o menos

Fecha, Número de documento (compra o de venta), Referencia (código de proveedor o de cliente), Concepto, Cantidad (entrada o salida). Algunas veces el kardex lleva cargos y abonos en moneda, pero esto es opcional.

                                             REPORTE DE KARDEX                                                    Página: 1    
   -------------------------------------------------------------------------------------------------------------------------------
   Codpro   Docum.    Fecha    Tipo   Entradas     Salidas           Exist.    costo unit      debe       haber        saldo
   -------------------------------------------------------------------------------------------------------------------------------
     01.047.4 CAD NUDITOS MEDIANOS                   
        SALDO INIC   01/04/2008  0            18                           18      1.49611        26.93                     26.93
        F12412       16/04/2008 51                          1              17      1.43000                      1.43        25.50
        F12569       25/04/2008 51                          1              16      1.50000                      1.50        24.00
        F12606       26/04/2008 51                          1              15      1.50000                      1.50        22.50
        F12710       30/04/2008 51                          1              14      1.50000                      1.50        21.00
        F12738       30/04/2008 51                          1              13      1.50000                      1.50        19.50
        F12742       30/04/2008 51                          1              12      1.50000                      1.50        18.00
        F12753       30/04/2008 51                          1              11      1.50000                      1.50        16.50


Arnaldo Toledano

unread,
Oct 9, 2012, 10:31:38 AM10/9/12
to publice...@googlegroups.com
Una de las soluciones puede ser la siguiente.
1.- En la ventas.
    En la tabla del detalle de la factura, deben tener seguramente el código del articulo involucrado.
    A partir de esta tabla se consigue la información por las SALIDAS, (Cuidado, las notas de créditos son
   INGRESOS).
2.- Por la compras.
    Es probable que tengan una tabla con los datos de los ingresos, por lo general en las compras se
    genera una tabla con estos datos.
    Proveedor, Fecha Ingreso, Nro. Comprobante, Cantidad, Costo y algún otro dato.
    Ojo con las devoluciones, son EGRESOS.

Con ambas tablas se formar el Kardex.
Si usan DBF, lo mas aconsejable es leer primero una tabla y grabar en una tabla temporal los datos
obtenidos.
A continuación leen la otra tabla y graban nuevamente.
Esta tabla obtenida, debe tener un INDICE por el DTOS() de la fechas y a partir de estos datos se
origina el REPORTE.

El mismo criterio para un motor de DB, generando dos cursores.
Ventas
Compras
Y a partir de ellos el cursor final ordenado por fechas.


Arnaldo Toledano
P/D. Esta estructura de tablas te da el beneficio de RECONSTRUIR el STOCK.
Si partir de un Stock INICIAL con un INGRESO POR COMPRAS donde el proveedor es INICIO,
generas un proceso para ACTUALIZAR el STOCK y ante cualquier problema podes RECONSTRUIR el
STOCK sin problemas.
--
 
 
 

--
Arnaldo Toledano Tesys Informática Córdoba Argentina
Reply all
Reply to author
Forward
0 new messages