GRID RELEASE O HIDE ?
Moderator: Rathinagiri
GRID RELEASE O HIDE ?
Hola amigos, aquí con un problemilla esperando vuestra generosa ayuda ...
Dentro de una ventana tengo el Grid1 para llenar los datos de una Factura, cuando en el campo del código del producto digito el mismo correctamente, todo ok; pero si no sé el código del producto, digito algún código que no existe para que se abra el Grid2 donde puedo ver los códigos, productos y precios ...
El primer problema es que el focus no pasa al Grid2, tengo que pasar con alt+tab o con el mouse, luego busco de arriba abajo el producto que deseo, pero no sé cómo si con ENTER o con ESCAPE cerrar el Grid2 y volver al Grid1 y que a la vez capture el código, el nombre y el precio y los pase automáticamente al Grid1 ...
Si sigo incrementando productos a la factura y nuevamente no sé el código, ahí da el error de que el Grid2 Already defined !!!
De antemano muchas gracias.
Dentro de una ventana tengo el Grid1 para llenar los datos de una Factura, cuando en el campo del código del producto digito el mismo correctamente, todo ok; pero si no sé el código del producto, digito algún código que no existe para que se abra el Grid2 donde puedo ver los códigos, productos y precios ...
El primer problema es que el focus no pasa al Grid2, tengo que pasar con alt+tab o con el mouse, luego busco de arriba abajo el producto que deseo, pero no sé cómo si con ENTER o con ESCAPE cerrar el Grid2 y volver al Grid1 y que a la vez capture el código, el nombre y el precio y los pase automáticamente al Grid1 ...
Si sigo incrementando productos a la factura y nuevamente no sé el código, ahí da el error de que el Grid2 Already defined !!!
De antemano muchas gracias.
- Attachments
-
- ERROR.JPG (69.33 KiB) Viewed 3922 times
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
GRID RELEASE O HIDE ?
LOUIS wrote:El primer problema es que el focus no pasa al Grid2, tengo que pasar con alt+tab o con el mouse
Hola Louis, es muy dificil ayudar siin código ejemplo... tienes que poner el código y que uno pueda compilar-lo para ver donde erraste...
Intentaré ayudarte, pero vuelvo a repetir: muy dificil sin demo...
Y que tal si le pones un botón de "encerrar" o "volver" y llamas a una funcion donde antes de encerrar la ventana del Grid2 atribuya un valor a una variable publica. Eso antes de encerrar la ventana. Tambien puedes encerar la ventana o esconderla. Y del otro lado (GIRD1) obtienes con GetPropety el valor del código que precisas.LOUIS wrote:luego busco de arriba abajo el producto que deseo, pero no sé cómo si con ENTER o con ESCAPE cerrar el Grid2 y volver al Grid1 y que a la vez capture el código, el nombre y el precio y los pase automáticamente al Grid1 ...
Debe ser porque abres una ventana que ya está definida. Puedes esconderla y mostrarla.LOUIS wrote:... nuevamente no sé el código, ahí da el error de que el Grid2 Already defined !!!
Fijate lo que Roberto dice sobre eso: http://hmgforum.com/viewtopic.php?p=47532#p47532
La verdad que la idea dél es genial. Pero pocos de nosotros la usamos (somos todos cabezas duras)...
Espero haberte ayudado en algo. Pero acostumbrate a poner código mijo...
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: GRID RELEASE O HIDE ?
Amigo Pablo, gracias por responder ... adjunto un rar donde va el prg el hbp y 2 dbf
Para empezar a alimentar la factura (GRID_1), favor pulsar Alt+A
En BD poner 99 y en CODIGO cualquier numero para que abra la segunda dbf (GRID_2)
Compilo con 3.0.46
Gracias por revisar esto ...
Para empezar a alimentar la factura (GRID_1), favor pulsar Alt+A
En BD poner 99 y en CODIGO cualquier numero para que abra la segunda dbf (GRID_2)
Compilo con 3.0.46
Gracias por revisar esto ...
- Attachments
-
- GRID_VTAS.rar
- (15.67 KiB) Downloaded 172 times
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
GRID RELEASE O HIDE ?
Hola Louis,
Intenté de varias formas hacer funcionar tu ejemplo. Pero no tengo mucha experiencia con ROWSOURCE. En verdad no me gusta usarlo directamente en el DBF con Grids ni con ningun control. Y mucho menos con 2 grids.
Creo que tendrás que elaborar más esa inclusion, ya que con Alt + A estarias usando un APPEND prero no físico en el DBF. Y si usas Alt + A el usuário tambien tendrás que usar:
ALT + D --> Delete
ALT + R --> ReCall
ALT + S --> Save (On Save)
ALT + U --> ClearBuffer
Me parece que todo muy complicado para el usuário todo eso. Yo lo haria comenzando por el primer GRID de forma virtual. Abriria el grid con array, porque por lo que se vé es un PEDIDO y todo pedido empieza de cero (no necesariamente extricto pero por lo general si). Entonces empiezo el array del cero. Sin registros. Despues si quiero consultar otro grid, puede ser ROWSOURCE pero yo lo haria en otra ventana. Aunque sigo en mi linea de evitar al máximo el uso de ROWSOURCE. Porque mismo que el segundo grid sea para visualizar las piezas, bien que podrias visualizar con un virtual grid con apenas registros filtrados. Sea por descripcion de la pieza, sea por fabricante de la pieza, o sea por la composicion de la mascara del código. Hay inúmeras posibilidades. Muy laborioso todo. Creo que abrir un banco de datos completo, no es tan necesário (la mayoria de las veces). Si aún decides trabajar con ROWSOURCE, deberias utilizar de forma indexada.
Otra cosa que es importante que entiendas. Que trabajar en GUI (programacion gráfica, estilo Windows en este caso). No es hecha de forma secuencial como lo hacias en Clipper. Todo es un objeto. Y no todo (mejor dicho casi nada) trabaja en forma de secuencia. Un formulario (screen), un grid, todo trabaja indepediente. Puedes cerrar, puede desaparecer, pero generalmente mantienes todo abierto para que sea consultado. A veces puedes cerrarlo y abrilo como pretendes. Pero no de la forma que quieres. Estás validnado algo con algo abierto... muy dificil de contralar con que tiene que ser controlado y encima validado.
Bueno Louis, pensé que mismo con el código yo podria cambiar algunas cositas nomás. Pero por lo visto es un trabajo grande. O al menos yo no sé resolverte con tu mismo código. Pero espero que mis consejos te hayan servido de algo.
Otro consejo, muy importante: pasá a usar la ultima version HMG. Por ahora es la 3.4.3 (no usé las versiones viejas).
Intenté de varias formas hacer funcionar tu ejemplo. Pero no tengo mucha experiencia con ROWSOURCE. En verdad no me gusta usarlo directamente en el DBF con Grids ni con ningun control. Y mucho menos con 2 grids.
Creo que tendrás que elaborar más esa inclusion, ya que con Alt + A estarias usando un APPEND prero no físico en el DBF. Y si usas Alt + A el usuário tambien tendrás que usar:
ALT + D --> Delete
ALT + R --> ReCall
ALT + S --> Save (On Save)
ALT + U --> ClearBuffer
Me parece que todo muy complicado para el usuário todo eso. Yo lo haria comenzando por el primer GRID de forma virtual. Abriria el grid con array, porque por lo que se vé es un PEDIDO y todo pedido empieza de cero (no necesariamente extricto pero por lo general si). Entonces empiezo el array del cero. Sin registros. Despues si quiero consultar otro grid, puede ser ROWSOURCE pero yo lo haria en otra ventana. Aunque sigo en mi linea de evitar al máximo el uso de ROWSOURCE. Porque mismo que el segundo grid sea para visualizar las piezas, bien que podrias visualizar con un virtual grid con apenas registros filtrados. Sea por descripcion de la pieza, sea por fabricante de la pieza, o sea por la composicion de la mascara del código. Hay inúmeras posibilidades. Muy laborioso todo. Creo que abrir un banco de datos completo, no es tan necesário (la mayoria de las veces). Si aún decides trabajar con ROWSOURCE, deberias utilizar de forma indexada.
Otra cosa que es importante que entiendas. Que trabajar en GUI (programacion gráfica, estilo Windows en este caso). No es hecha de forma secuencial como lo hacias en Clipper. Todo es un objeto. Y no todo (mejor dicho casi nada) trabaja en forma de secuencia. Un formulario (screen), un grid, todo trabaja indepediente. Puedes cerrar, puede desaparecer, pero generalmente mantienes todo abierto para que sea consultado. A veces puedes cerrarlo y abrilo como pretendes. Pero no de la forma que quieres. Estás validnado algo con algo abierto... muy dificil de contralar con que tiene que ser controlado y encima validado.
Bueno Louis, pensé que mismo con el código yo podria cambiar algunas cositas nomás. Pero por lo visto es un trabajo grande. O al menos yo no sé resolverte con tu mismo código. Pero espero que mis consejos te hayan servido de algo.
Otro consejo, muy importante: pasá a usar la ultima version HMG. Por ahora es la 3.4.3 (no usé las versiones viejas).
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: GRID RELEASE O HIDE ?
Estimado Amigo Pablo :
El problema es que no entiendo muy bien esos Array (ni lo virtual ), mis inicios fueron en Fox y de ahí pasé a Clipper siempre en modo procedural.
Si me ayudases con un ejemplo para pasar de la primera dbf a la segunda y capturar los datos para ponerlos en la primera ... sería fantástico.
Disculpad si os pido mucho
Se os agradece.
El problema es que no entiendo muy bien esos Array (ni lo virtual ), mis inicios fueron en Fox y de ahí pasé a Clipper siempre en modo procedural.
Si me ayudases con un ejemplo para pasar de la primera dbf a la segunda y capturar los datos para ponerlos en la primera ... sería fantástico.
Disculpad si os pido mucho
Se os agradece.
Code: Select all
#include <hmg.ch>
Function Main
PUBLIC COD,NOM,PVP
QU=''
* Grid Column Controls Definitions
aCtrl_1 := {'TEXTBOX','CHARACTER','99'}
aCtrl_2 := {'TEXTBOX','CHARACTER'}
aCtrl_3 := {'TEXTBOX','CHARACTER'}
aCtrl_4 := {'TEXTBOX','NUMERIC','99999.99'}
aCtrl_5 := {'TEXTBOX','NUMERIC','99999.99'}
aCtrl_6 := {'TEXTBOX','NUMERIC','99.99'}
aCtrl_7 := {'TEXTBOX','NUMERIC','99999.99'}
SELE 1
USE FACTURA
SELE 2
USE ITEMS
SELE 1
GOTO TOP
DEFINE WINDOW SAMPLE AT 0,0 WIDTH 1280 HEIGHT 768 MAIN
@ 00,0 LABEL Label_1 PARENT SAMPLE VALUE "GENERANDO UNA FACTURA DE VENTA" WIDTH 1280 HEIGHT 768 FONT "CALIBRI" SIZE 48 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 64,0 LABEL Label_2 PARENT SAMPLE VALUE "PRINCIPAL DE PRODUCTOS DETALLE DE LA FACTURA " WIDTH 1280 HEIGHT 704 FONT "CALIBRI" SIZE 36 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 115,575 GRID GRID_1 PARENT SAMPLE ;
WIDTH 700 HEIGHT 658 ;
HEADERS {'BD','C O D I G O','D E S C R I P C I O N','CANT.','PRECIO','DSCTO %','A PAGAR'} ;
WIDTHS {30,99,275,70,70,70,70} ;
COLUMNCONTROLS { aCtrl_1 , aCtrl_2 , aCtrl_3 , aCtrl_4 , aCtrl_5 , aCtrl_6 , aCtrl_7 } ;
COLUMNVALID { {|| .t. }, {|| X1() }, {|| X2() }, {|| .t. }, {|| X3() }, {|| .t. }, {|| .t. } } ;
ROWSOURCE "FACTURA" ;
COLUMNFIELDS {'BD','CODIGO','DETALLE','CANTIDAD','PRECIO','DSCTO','TOTAL'} ;
FONTCOLOR {160,240,20} ;
BACKCOLOR {0,100,180} ;
EDIT ;
ALLOWAPPEND ;
ALLOWDELETE
END WINDOW
sample.activate
commit
USE
SELE 2 && ITEMS
USE
release all like *
RETURN
*-------------
Procedure X1()
QU = ALLTRIM(THIS.CELLValue)
QU = ALLTRIM(QU)
SELE 2 && ITEMS
GOTO TOP
LOCA FOR CODIGO=QU
IF FOUN()
*OK
ELSE
MSGINFO ('CODIGO NO EXISTE !!!')
GOTO TOP
@ 115,0 GRID GRID_2 PARENT SAMPLE ;
WIDTH 570 HEIGHT 658 ;
HEADERS {'CODIGO','D E S C R I P C I O N','S T O C K','PRECIO'} ;
WIDTHS {100,300,70,100} ;
ROWSOURCE "ITEMS" ;
FONTCOLOR {160,240,20} ;
BACKCOLOR {0,100,180} ;
COLUMNFIELDS {'CODIGO','NOMBRE','STOCK','PRECIO'}
ENDIF
NOM=NOMBRE
MSGINFO ('&NOM')
COD=CODIGO
PVP=PRECIO
SELE 1 && FACTURA
This.CellValue := COD
Return
*-------------
Procedure X2()
IF Empty ( This.CellValue )
This.CellValue := NOM
ENDIF
RETURN
*---------------
Procedure X3()
IF Empty ( This.CellValue )
This.CellValue := PVP
ENDIF
RETURN
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
GRID RELEASE O HIDE ?
Hola Louis, disculpame pero no tengo ese tiempo.
Podria aprender a dominar los arrays. Olvidate sobre Grid virtual (no era eso que queria decir) sinó que hicieras pruebas con Grid con array. hay vários ejemplos em controls\grid.
Este em particular mezcla 2 grid (rowsource con grid de arrays):
C:\hmg.3.4.3\SAMPLES\Miscellaneous\PEDIDOS
Podria aprender a dominar los arrays. Olvidate sobre Grid virtual (no era eso que queria decir) sinó que hicieras pruebas con Grid con array. hay vários ejemplos em controls\grid.
Este em particular mezcla 2 grid (rowsource con grid de arrays):
C:\hmg.3.4.3\SAMPLES\Miscellaneous\PEDIDOS
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: GRID RELEASE O HIDE ?
Estimados Amigos:
He modificado el código para hacerlo "funcional" a mi manera como diría Frank Sinatra , sin embargo, si alguien de Uds. desea mejorarlo sería muy bueno para aprender otra opción
He modificado el código para hacerlo "funcional" a mi manera como diría Frank Sinatra , sin embargo, si alguien de Uds. desea mejorarlo sería muy bueno para aprender otra opción
Code: Select all
#include <hmg.ch>
Function Main
SET CENT ON
SET DATE FREN
PUBLIC COD,NOM,PVP
PASE=0
QU=''
FACT='001001000012345'
CLI='1234567890123'
VEN='123'
FEC=DTOC(DATE())
aCtrl_1 := {'TEXTBOX','CHARACTER','99'}
aCtrl_2 := {'TEXTBOX','CHARACTER'}
aCtrl_3 := {'TEXTBOX','CHARACTER'}
aCtrl_4 := {'TEXTBOX','NUMERIC','99999.99'}
aCtrl_5 := {'TEXTBOX','NUMERIC','99999.99'}
aCtrl_6 := {'TEXTBOX','NUMERIC','99.99'}
aCtrl_7 := {'TEXTBOX','NUMERIC','99999.99'}
SELE 1
USE FACTURA
SELE 2
USE ITEMS
SELE 1
GOTO TOP
DEFINE WINDOW SAMPLE AT 0,0 WIDTH 1280 HEIGHT 768 MAIN NOCAPTION
@ 00,0 LABEL Label_1 PARENT SAMPLE VALUE "GENERANDO UNA FACTURA DE VENTA" WIDTH 1280 HEIGHT 768 FONT "CALIBRI" SIZE 48 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 64,0 LABEL Label_2 PARENT SAMPLE VALUE "PRINCIPAL DE PRODUCTOS DETALLE DE LA FACTURA " WIDTH 1280 HEIGHT 704 FONT "CALIBRI" SIZE 36 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 115,575 GRID GRID_1 PARENT SAMPLE ;
WIDTH 700 HEIGHT 658 ;
HEADERS {'BD','C O D I G O','D E S C R I P C I O N','CANT.','PRECIO','DSCTO %','A PAGAR'} ;
WIDTHS {30,99,275,70,70,70,70} ;
COLUMNCONTROLS { aCtrl_1 , aCtrl_2 , aCtrl_3 , aCtrl_4 , aCtrl_5 , aCtrl_6 , aCtrl_7 } ;
COLUMNVALID { {|| .t. }, {|| X1() }, {|| X2() }, {|| .t. }, {|| X3() }, {|| .t. }, {|| .t. } } ;
ROWSOURCE "FACTURA" ;
COLUMNFIELDS {'BD','CODIGO','DETALLE','CANTIDAD','PRECIO','DSCTO','TOTAL'} ;
FONTCOLOR {160,240,20} ;
BACKCOLOR {0,100,180} ;
EDIT ;
ALLOWAPPEND ;
ALLOWDELETE
ON KEY ESCAPE ACTION FIN()
END WINDOW
sample.activate
RETURN
*----------------
Procedure FIN()
commit
USE
SELE 2 && ITEMS
USE
release all like *
USE FACTURA
IF FLOCK()
REPLA ALL FACTURA WITH FACT FOR EMPT(FACTURA)
REPLA ALL FECHA WITH DATE()
REPLA ALL TOTAL WITH CANTIDAD*PRECIO*(100-DSCTO)/100
REPLA CLIENTE WITH CLI FOR EMPT(CLIENTE)
REPLA VENDEDOR WITH VEN FOR EMPT(VENDEDOR)
ENDIF
SUM ALL CANTIDAD*PRECIO TO VALO1
SUM ALL CANTIDAD*PRECIO*DSCTO/100 TO VALO2
VALO3 := VALO1-VALO2
VALO4 := (VALO1-VALO2)*.14
SUM ALL TOTAL TO VALO5
VALO5 := VALO5+VALO4
CLOS ALL
SAMPLE.hide
DEFINE WINDOW SAMPLE2 AT 0,0 WIDTH 1280 HEIGHT 768 NOCAPTION
@ 000,0 LABEL Label_1 PARENT SAMPLE2 VALUE "RESUMEN DE LA FACTURA DE VENTA # &FACT" WIDTH 1280 HEIGHT 768 FONT "CALIBRI" SIZE 36 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 100,0 LABEL Label_2 PARENT SAMPLE2 VALUE "FECHA: &FEC" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 140,0 LABEL Label_3 PARENT SAMPLE2 VALUE "CLIENTE: &CLI" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 180,0 LABEL Label_4 PARENT SAMPLE2 VALUE "VENDEDOR: &VEN" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 240,000 LABEL Label_5 PARENT SAMPLE2 VALUE "VALOR BRUTO:" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 240,250 LABEL Label_M VALUE (Transform(VALO1,'$99,999,999.99')) FONT "TAHOMA" SIZE 24 FONTCOLOR YELLOW BOLD WIDTH 250 HEIGHT 120 TRANSP
@ 280,000 LABEL Label_6 PARENT SAMPLE2 VALUE "DESCUENTO:" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 280,250 LABEL Label_N VALUE (Transform(VALO2,'$99,999,999.99')) FONT "TAHOMA" SIZE 24 FONTCOLOR YELLOW BOLD WIDTH 250 HEIGHT 120 TRANSP
@ 320,0 LABEL Label_7 PARENT SAMPLE2 VALUE "----------------------------------------------" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 360,000 LABEL Label_8 PARENT SAMPLE2 VALUE "SUBTOTAL:" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 360,250 LABEL Label_O VALUE (Transform(VALO3,'$99,999,999.99')) FONT "TAHOMA" SIZE 24 FONTCOLOR YELLOW BOLD WIDTH 250 HEIGHT 120 TRANSP
@ 400,000 LABEL Label_9 PARENT SAMPLE2 VALUE "IMPUESTO:" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 400,250 LABEL Label_P VALUE (Transform(VALO4,'$99,999,999.99')) FONT "TAHOMA" SIZE 24 FONTCOLOR YELLOW BOLD WIDTH 250 HEIGHT 120 TRANSP
@ 440,0 LABEL Label_10 PARENT SAMPLE2 VALUE "----------------------------------------------" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 480,000 LABEL Label_11 PARENT SAMPLE2 VALUE "TOTAL A COBRAR:" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
@ 480,250 LABEL Label_Q VALUE (Transform(VALO5,'$99,999,999.99')) FONT "TAHOMA" SIZE 24 FONTCOLOR YELLOW BOLD WIDTH 250 HEIGHT 120 TRANSP
@ 520,0 LABEL Label_12 PARENT SAMPLE2 VALUE "=============================" WIDTH 1280 HEIGHT 30 FONT "CALIBRI" SIZE 24 BOLD ITALIC FONTCOLOR WHITE BACKCOLOR BLUE
ON KEY ESCAPE ACTION FIN2()
END WINDOW
sample2.activate
RETURN
*---------------
Procedure FIN2()
SAMPLE2.RELEASE
SAMPLE.RELEASE
RETURN
*---------------
Procedure X1()
QU = ALLTRIM(THIS.CELLValue)
QU = ALLTRIM(QU)
SELE 2 && ITEMS
GOTO TOP
LOCA FOR CODIGO=QU
IF FOUN()
*OK
ELSE
MSGINFO ('CODIGO NO EXISTE !!!')
GOTO TOP
IF PASE=0
@ 115,0 GRID GRID_2 PARENT SAMPLE ;
WIDTH 570 HEIGHT 658 ;
HEADERS {'CODIGO','D E S C R I P C I O N','S T O C K','PRECIO'} ;
WIDTHS {100,300,70,100} ;
ROWSOURCE "ITEMS" ;
FONTCOLOR {160,240,20} ;
BACKCOLOR {0,100,180} ;
COLUMNFIELDS {'CODIGO','NOMBRE','STOCK','PRECIO'}
PASE=1
ENDIF
ENDIF
NOM=NOMBRE
MSGINFO ('&NOM')
COD=CODIGO
PVP=PRECIO
SELE 1 && FACTURA
This.CellValue := COD
Return
*---------------
Procedure X2()
IF Empty ( This.CellValue )
This.CellValue := NOM
ENDIF
RETURN
*---------------
Procedure X3()
IF Empty ( This.CellValue )
This.CellValue := PVP
ENDIF
RETURN
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
GRID RELEASE O HIDE ?
Hola Louis,
No me gusta entregar algo asi inacabado y más por la idea que uno tiene que entregar la caña de pescar: no el pescado...
Debes dominar. Esto no es una buena forma de empezar. Tienes que conocer HMG. Empieza por entender los SAMPLES, te vá ayudar mucho.
Te entrego de la forma que yo lo haria. Claro hay mucho que hacer... pero con dos condiciones:
1. Usá la ultima version 3.4.3 por favorrrrr...
2. Disponibilizálo, cuando lo termines
Fijate el contenido de los archivo forms (los fmg). Puedes transpasarlos a tu código PRG. Pero de esta forma es mejor cuando tienes que arreglar/posicionar los controles... Me puse en poco tiempo, usá la IDE para crear ventanas de mejor calidad.
Espero que te guste. Me debes un Arroz marinero // Arroz con mariscos, cuando vaya algun dia a Ecuador, te lo voy a cobrar (eso si vives en la costa)...
No me gusta entregar algo asi inacabado y más por la idea que uno tiene que entregar la caña de pescar: no el pescado...
Debes dominar. Esto no es una buena forma de empezar. Tienes que conocer HMG. Empieza por entender los SAMPLES, te vá ayudar mucho.
Te entrego de la forma que yo lo haria. Claro hay mucho que hacer... pero con dos condiciones:
1. Usá la ultima version 3.4.3 por favorrrrr...
2. Disponibilizálo, cuando lo termines
Fijate el contenido de los archivo forms (los fmg). Puedes transpasarlos a tu código PRG. Pero de esta forma es mejor cuando tienes que arreglar/posicionar los controles... Me puse en poco tiempo, usá la IDE para crear ventanas de mejor calidad.
Espero que te guste. Me debes un Arroz marinero // Arroz con mariscos, cuando vaya algun dia a Ecuador, te lo voy a cobrar (eso si vives en la costa)...
- Attachments
-
- GRID_VTAS.rar
- Source Files
- (18.01 KiB) Downloaded 177 times
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: GRID RELEASE O HIDE ?
OK MR PABLO, SERÁ UN GUSTO CONOCERLO E INVITARLO
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
GRID RELEASE O HIDE ?
Si, será un gusto para mi tambien. Pero estaba embromando sobre el arroz marinero.
Los mariscos y el preparado se ve muy bien en las fotos...
No me dijiste si está a tu gusto el código o si erias empezar con 3.4.3
Los mariscos y el preparado se ve muy bien en las fotos...
No me dijiste si está a tu gusto el código o si erias empezar con 3.4.3
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein