Numeracion consecutiva de codigo (SOLUCIONADO)
Numeracion consecutiva de codigo (SOLUCIONADO)
Amigos del foro,
Estoy tratando de crear un codigo que me genere numeracion automatica el registro nuevo siguiente, es decir, cada vez que ingrese un nuevo registro, asigne un nuevo numero de codigo en forma consecutiva.
Aca el codigo que estoy utilizando
cCODANT := BANCO->BCO_CODIGO
@ 1,1 GET oCodigo VAR CODBCO OF oDlg SIZE 40, 10 ;
VALID (CODBCO := StrZero( Val( CODBCO), 12 ), CODBCO: = cCODANT+1, oCodigo:Refresh(), .T. )
STATIC FUNCTION BCONUEVO(TNUEVO)
IF TNUEVO
NREG:=BANCO->(RECNO())
CODBCO := SPACE(12)
NOMBCO := SPACE(30)
CTABCO := SPACE(30)
ELSE
NREG:=BANCO->(RECNO())
CODBCO := BANCO->BCO_CODIGO
NOMBCO := BANCO->BCO_DESCRI
CTABCO := BANCO->BCO_CUENTA
ENDIF
RETURN (.T.)
Estoy tratando de crear un codigo que me genere numeracion automatica el registro nuevo siguiente, es decir, cada vez que ingrese un nuevo registro, asigne un nuevo numero de codigo en forma consecutiva.
Aca el codigo que estoy utilizando
cCODANT := BANCO->BCO_CODIGO
@ 1,1 GET oCodigo VAR CODBCO OF oDlg SIZE 40, 10 ;
VALID (CODBCO := StrZero( Val( CODBCO), 12 ), CODBCO: = cCODANT+1, oCodigo:Refresh(), .T. )
STATIC FUNCTION BCONUEVO(TNUEVO)
IF TNUEVO
NREG:=BANCO->(RECNO())
CODBCO := SPACE(12)
NOMBCO := SPACE(30)
CTABCO := SPACE(30)
ELSE
NREG:=BANCO->(RECNO())
CODBCO := BANCO->BCO_CODIGO
NOMBCO := BANCO->BCO_DESCRI
CTABCO := BANCO->BCO_CUENTA
ENDIF
RETURN (.T.)
Last edited by Compuin on Tue Feb 15, 2011 5:48 pm, edited 1 time in total.
Re: Numeracion consecutiva de codigo
Hola
Cuando estes en la opción de Altas, busca primero el último código que tienes
BCO->(dbGoBottom())-----> ir al final de la tabla
CODBCO := VAL(BCO->CODBCO) +1 ---------> tomar el último código y sumarle uno
CODBCO := StrZero(VAl(CODBCO),12)----> Si ademas quieres ponerlo con todos los ceros
y después
@ 1,1 GET oCodigo VAR CODBCO OF oDlg SIZE 40, 10 ;
VALID (CODBCO := StrZero( Val( CODBCO), 12 ), CODBCO: = cCODANT+1, oCodigo:Refresh(), .T. )
la lectura del get corespondiente
Cuando estes en la opción de Altas, busca primero el último código que tienes
BCO->(dbGoBottom())-----> ir al final de la tabla
CODBCO := VAL(BCO->CODBCO) +1 ---------> tomar el último código y sumarle uno
CODBCO := StrZero(VAl(CODBCO),12)----> Si ademas quieres ponerlo con todos los ceros
y después
@ 1,1 GET oCodigo VAR CODBCO OF oDlg SIZE 40, 10 ;
VALID (CODBCO := StrZero( Val( CODBCO), 12 ), CODBCO: = cCODANT+1, oCodigo:Refresh(), .T. )
la lectura del get corespondiente
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Numeracion consecutiva de codigo
Pedro, siguiendo tu sugerencia deberia quedar asi,.
STATIC FUNCTION BCONUEVO(TNUEVO)
IF TNUEVO
NREG:=BANCO->(RECNO())
BANCO->(DBGOBOTTOM()) //-----> ir al final de la tabla
CODBCO := VAL(BANCO->CODBCO) +1
CODBCO := SPACE (12)
NOMBCO := SPACE(30)
CTABCO := SPACE(30)
ELSE
NREG:=BANCO->(RECNO())
CODBCO := BANCO->BCO_CODIGO
NOMBCO := BANCO->BCO_DESCRI
CTABCO := BANCO->BCO_CUENTA
ENDIF
RETURN (.T.)
Solo que me arroja error con CODBCO := VAL(BANCO->CODBCO) +1 al decir que variable no existe
STATIC FUNCTION BCONUEVO(TNUEVO)
IF TNUEVO
NREG:=BANCO->(RECNO())
BANCO->(DBGOBOTTOM()) //-----> ir al final de la tabla
CODBCO := VAL(BANCO->CODBCO) +1
CODBCO := SPACE (12)
NOMBCO := SPACE(30)
CTABCO := SPACE(30)
ELSE
NREG:=BANCO->(RECNO())
CODBCO := BANCO->BCO_CODIGO
NOMBCO := BANCO->BCO_DESCRI
CTABCO := BANCO->BCO_CUENTA
ENDIF
RETURN (.T.)
Solo que me arroja error con CODBCO := VAL(BANCO->CODBCO) +1 al decir que variable no existe
Re: Numeracion consecutiva de codigo
Disculpa, puse CODBCO, que es tu variable, para que tu pusieras ahí el nombre del campo, que veo que es BCO_CODIGO
Más o menos así
Más o menos así
Code: Select all
STATIC FUNCTION BCONUEVO(TNUEVO)
IF TNUEVO
NREG:=BANCO->(RECNO())
BANCO->(DBGOBOTTOM()) //-----> ir al final de la tabla
CODBCO := VAL(BANCO->BCO_CODIGO) +1
CODBCO := StrZero(CODBCO,12)
NOMBCO := SPACE(30)
CTABCO := SPACE(30)
ELSE
NREG:=BANCO->(RECNO())
CODBCO := BANCO->BCO_CODIGO
NOMBCO := BANCO->BCO_DESCRI
CTABCO := BANCO->BCO_CUENTA
ENDIF
RETURN (.T.)
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Numeracion consecutiva de codigo
Pedro,
Excelente tu aporte. De esa manera funciona..ahora... todavia muestra el cursos en el codigo cuando este deberia estar en NOMBCO ya que CODBCO es llenado en forma automatica al dar de Alta....como posiciono el cursor en el siguiente campo?
Excelente tu aporte. De esa manera funciona..ahora... todavia muestra el cursos en el codigo cuando este deberia estar en NOMBCO ya que CODBCO es llenado en forma automatica al dar de Alta....como posiciono el cursor en el siguiente campo?
Re: Numeracion consecutiva de codigo
El que el cursor se quede en el campo es porque espera la validación del usuario, es decir el enter que lo valide, si no deseas que el usuario valide el código que tú ya le das, creo que debes poner un messagepara que tome el enter , algo así PostMessage( ::hWnd, WM_KEYDOWN, 13 ) ,o no validarlo y directamente ir al segundo get.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Numeracion consecutiva de codigo
Ok muchas gracias por tu apoyo.
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
Como puedo ir directamente al segundo Get????
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
No lo he probado , pero intenta, una vez salgas de la función BANCO NUEVO poner oGet:SetFocus(2) que supongo será el siguiente get
Tambien puedes probar, poniendo en el primer get este valid y quitar el otro
Valid (oGet:KillFocus(), oGet:SetFocus(2),.t.)
Tambien puedes probar, poniendo en el primer get este valid y quitar el otro
Valid (oGet:KillFocus(), oGet:SetFocus(2),.t.)
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
Ok probare y te estare comentando.
Gracias
Gracias
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
Saludos, auqnue parece ya conseguistes la solcion vas a tener problema si eliminas el ultimo registro, ya que te va a dar como creacion el mismo numero eliminado, para eevitar eso, en mi caso, uso una DBF con numeros de controles la cual llamo control, alli tengo un campo que se llama por decir algo cod_cliente, ese campo se va a incrementando cuando el usuario ya da el toque final de grabar o salvar el registro, y solo si es nuevo, si es modificacion no lo toco, asi me permito la opcion de poder comenzar a enumerar mis clientes, proveedores, numero de factura, recibos de pago, etc, desde el numero que yo quiera, y tengo mayor control ya que puedo tocar esa DBF sin tocar la DBF de mis maestros, llamole a los clientes y demas nombrados, es solo una idea mas y funciona super bien, cualquier duda puedo enviarte un ejemplo...
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
Gracias Jose Luis,
Podrias por favor enviarme el ejemplo que me comentas?
Gracias de antemano
Podrias por favor enviarme el ejemplo que me comentas?
Gracias de antemano
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
ESTES ES EL CODIGO MANEJADOR DE LA DBF...
#include "FiveWin.ch"
#include "Folder.ch" // PARA USO DEL folder
FUNCTION fldconfig() // MAESTRO CONFIGURACIONES (constantes)
LOCAL oGetF1 := Array (15),; // GET FOLDER 2
oBtnCONFIG := Array (2) // BARRA DE BOTONES
PUBLIC oConfig := TGenerales() // VARIABLE PUBLICA DEFINIDA EN CLASES.PRG
DEFINE WINDOW oConfig:oWnd TITLE "Modulo: ARCHIVOS - Maestro Configuraciones" OF oDatos:oWndPPAL MDICHILD NO SYSTEMENU NOZOOM
SET MESSAGE OF oConfig:oWnd TO "Configuraciones y Constantes... " 2007
DEFINE DIALOG oConfig:oDlg RESOURCE "DLG_FOLDER" OF oConfig:oWnd // DEFINICION DEL oDLG PRINCIPAL
REDEFINE FOLDER oConfig:oFld ID 401 OF oConfig:oDlg; // DEFINICION DEL oFOLDER
PROMPT "Constantes"; // PESTAÑAS DEL FOLDER
DIALOGS "Config-01"
/////////////////////////////
DBSELECTAREA("jlconfig") // MAESTRO CONFIG
jlconfig->( OrdSetFocus(1) )
jlconfig->( DBGOTOP() )
DATABASE oConfig:oDbf
oConfig:oDbf:GOTOP()
oConfig:oDbf:LOAD()
////////////////////////////
// INICIO BARRA DE BOTONES
DEFINE BUTTONBAR oConfig:oBar SIZE 50, 50 OF oConfig:oWnd UPDATE 2007 // DEFINO BARRA BOTONES
oConfig:oBar:bRClicked := {|| NIL } // DESACTIVA BARRA DE BOTONES NAVEGUE BOTON DERECHO
DEFINE BUTTON oBtnCONFIG[1] OF oConfig:oBar UPDATE NOBORDER FILENAME oDatos:rBMP+"SALVAR32.BMP"; // BOTON BARRA - GUARDAR/ACTUALIZAR
ToolTip "Guardar/Actualizar";
MESSAGE "Guardar / Actualizar Datos";
ACTION ( grabacfg( oConfig:oDbf ),; // GUARDO DATOS
MSGWAIT("Espere, Guardando Datos...", " ATENCIÓN", 1) )
DEFINE BUTTON oBtnCONFIG[2] OF oConfig:oBar UPDATE NOBORDER FILENAME oDatos:rBMP+"SALIR32.BMP"; // BOTON BARRA - SALIR
ToolTip "Salir";
MESSAGE "Retornar al Menu Principal";
ACTION ( oConfig:oWnd:END() )
// INICIO oGETs 1ra.PESTAÑA oConfig:oFld
REDEFINE GET oGetF1[3] VAR oConfig:oDbf:cfg_codalu; // CODIGO ALUMNO CONSECUTIVO
ID 203 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_codalu >=0 )
REDEFINE GET oGetF1[4] VAR oConfig:oDbf:cfg_codpro; // CODIGO PROFESOR CONSECUTIVO
ID 204 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_codpro >=0 )
REDEFINE GET oGetF1[5] VAR oConfig:oDbf:cfg_codcon; // CODIGO CONGRESO CONSECUTIVO
ID 205 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_codcon >=0 )
REDEFINE GET oGetF1[7] VAR oConfig:oDbf:cfg_numfac; // NUMERO FACTURA CONSECUTIVO
ID 207 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_numfac >=0 )
REDEFINE GET oGetF1[8] VAR oConfig:oDbf:cfg_contro; // NUMERO CONTROL
ID 208 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "@K !!-!!!!!!!" READONLY
// FIN oGET F I N G E T s
ACTIVATE DIALOG oConfig:oDlg NOWAIT; // ACTIVA DLG Y LO UBICO DEBAJO DEL BTNBAR
ON INIT ( oConfig:oDlg:MOVE(oBtnCONFIG[2]:nWidth, 0) );
VALID( !GETKEYSTATE( VK_ESCAPE ) ) // DESHABILITA SALGA DEL DIALOGO CON Esc
ACTIVATE WINDOW oConfig:oWnd; // VENTANA TOMA TAMAÑO DEL DIALOGO
ON INIT ( oConfig:oWnd:SetSize(oConfig:oDlg:nWidth, oConfig:oDlg:nHeight + oBtnCONFIG[2]:nWidth) )
RETURN .T. // FIN MAESTRO CONFIGURACIONES (constantes)
------------------------------------------------------------------------------------------------------------------------------------
ACA COMO ACCEDO Y HAGO EL CODIGO CONSECUTIVO, HAY FUNCIONES QUE NO SON NECESARIAS YA QUE NO TIENE NADA
QUE VER CON EL AUMENTO DEL CODIGO...
DEFINE BUTTON oBtnALUM[5] OF oBarALUM UPDATE NOBORDER FILENAME oDatos:rBMP+"SALVAR32.BMP"; // BOTON BARRA GUARDAR/ACTUALIZAR
ToolTip "Guardar/Actualizar";
MESSAGE "Guardar / Actualizar Datos";
WHEN (nSALVAR > 1);
ACTION ( IIF( oDatos:lAPPEND == .T. ,;
(oDbfCONFIG:cfg_codalu := jlconfig->cfg_codalu + 1 ,;
oDbfALUM:alu_codigo := oDbfCONFIG:cfg_codalu ,;
nCodAlu := oDbfALUM:alu_codigo ,;
oDbfALUM:alu_nivel := nRadNIVEL ,;
oDbfALUM:alu_fecha := DATE() ,;
grabacfg( oDbfCONFIG ), .T.), .T. ) ,; // ASIGNO CODIGO AL NUEVO REGISTRO (se controla en jlconfig)
graba(oDbfALUM, oBrwALUM) ,; // GUARDO DATOS Y RETORNO AL xBROWSE PPAL.
addnotas(nCodAlu, oDbfNOTAS, oBrwNOTAS, oDatos:lAPPEND) ,; // ADICIONO LAS MATERIAS A dbf NOTAS Y LUEGO CARGO EL array
oFldALUM:SetOption(1) ,;
jlalumno->( OrdSetFocus(2) ) ,; // COLOCA DE NUEVO INDICE A LOS NOMBRES-EN VALIDACION codigo NO SE REPITA LO PONGO EN EL 1
oBrwALUM:GOTOP(), oBrwALUM:REFRESH() ,; // VOY 1er REGISTRO Y FERESCO xBRW
nSALVAR := 1 )
----------------------------------------------------------------------------------------------------------------------------------
ACA UNA IMAGEN...ESPERO TE SIRVA, CUALQUIER DUDA O MEJORIA ES BIENVENIDA....
Uploaded with ImageShack.us
#include "FiveWin.ch"
#include "Folder.ch" // PARA USO DEL folder
FUNCTION fldconfig() // MAESTRO CONFIGURACIONES (constantes)
LOCAL oGetF1 := Array (15),; // GET FOLDER 2
oBtnCONFIG := Array (2) // BARRA DE BOTONES
PUBLIC oConfig := TGenerales() // VARIABLE PUBLICA DEFINIDA EN CLASES.PRG
DEFINE WINDOW oConfig:oWnd TITLE "Modulo: ARCHIVOS - Maestro Configuraciones" OF oDatos:oWndPPAL MDICHILD NO SYSTEMENU NOZOOM
SET MESSAGE OF oConfig:oWnd TO "Configuraciones y Constantes... " 2007
DEFINE DIALOG oConfig:oDlg RESOURCE "DLG_FOLDER" OF oConfig:oWnd // DEFINICION DEL oDLG PRINCIPAL
REDEFINE FOLDER oConfig:oFld ID 401 OF oConfig:oDlg; // DEFINICION DEL oFOLDER
PROMPT "Constantes"; // PESTAÑAS DEL FOLDER
DIALOGS "Config-01"
/////////////////////////////
DBSELECTAREA("jlconfig") // MAESTRO CONFIG
jlconfig->( OrdSetFocus(1) )
jlconfig->( DBGOTOP() )
DATABASE oConfig:oDbf
oConfig:oDbf:GOTOP()
oConfig:oDbf:LOAD()
////////////////////////////
// INICIO BARRA DE BOTONES
DEFINE BUTTONBAR oConfig:oBar SIZE 50, 50 OF oConfig:oWnd UPDATE 2007 // DEFINO BARRA BOTONES
oConfig:oBar:bRClicked := {|| NIL } // DESACTIVA BARRA DE BOTONES NAVEGUE BOTON DERECHO
DEFINE BUTTON oBtnCONFIG[1] OF oConfig:oBar UPDATE NOBORDER FILENAME oDatos:rBMP+"SALVAR32.BMP"; // BOTON BARRA - GUARDAR/ACTUALIZAR
ToolTip "Guardar/Actualizar";
MESSAGE "Guardar / Actualizar Datos";
ACTION ( grabacfg( oConfig:oDbf ),; // GUARDO DATOS
MSGWAIT("Espere, Guardando Datos...", " ATENCIÓN", 1) )
DEFINE BUTTON oBtnCONFIG[2] OF oConfig:oBar UPDATE NOBORDER FILENAME oDatos:rBMP+"SALIR32.BMP"; // BOTON BARRA - SALIR
ToolTip "Salir";
MESSAGE "Retornar al Menu Principal";
ACTION ( oConfig:oWnd:END() )
// INICIO oGETs 1ra.PESTAÑA oConfig:oFld
REDEFINE GET oGetF1[3] VAR oConfig:oDbf:cfg_codalu; // CODIGO ALUMNO CONSECUTIVO
ID 203 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_codalu >=0 )
REDEFINE GET oGetF1[4] VAR oConfig:oDbf:cfg_codpro; // CODIGO PROFESOR CONSECUTIVO
ID 204 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_codpro >=0 )
REDEFINE GET oGetF1[5] VAR oConfig:oDbf:cfg_codcon; // CODIGO CONGRESO CONSECUTIVO
ID 205 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_codcon >=0 )
REDEFINE GET oGetF1[7] VAR oConfig:oDbf:cfg_numfac; // NUMERO FACTURA CONSECUTIVO
ID 207 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "9999999";
VALID ( oConfig:oDbf:cfg_numfac >=0 )
REDEFINE GET oGetF1[8] VAR oConfig:oDbf:cfg_contro; // NUMERO CONTROL
ID 208 OF oConfig:oFld:aDialogs[1] UPDATE PICTURE "@K !!-!!!!!!!" READONLY
// FIN oGET F I N G E T s
ACTIVATE DIALOG oConfig:oDlg NOWAIT; // ACTIVA DLG Y LO UBICO DEBAJO DEL BTNBAR
ON INIT ( oConfig:oDlg:MOVE(oBtnCONFIG[2]:nWidth, 0) );
VALID( !GETKEYSTATE( VK_ESCAPE ) ) // DESHABILITA SALGA DEL DIALOGO CON Esc
ACTIVATE WINDOW oConfig:oWnd; // VENTANA TOMA TAMAÑO DEL DIALOGO
ON INIT ( oConfig:oWnd:SetSize(oConfig:oDlg:nWidth, oConfig:oDlg:nHeight + oBtnCONFIG[2]:nWidth) )
RETURN .T. // FIN MAESTRO CONFIGURACIONES (constantes)
------------------------------------------------------------------------------------------------------------------------------------
ACA COMO ACCEDO Y HAGO EL CODIGO CONSECUTIVO, HAY FUNCIONES QUE NO SON NECESARIAS YA QUE NO TIENE NADA
QUE VER CON EL AUMENTO DEL CODIGO...
DEFINE BUTTON oBtnALUM[5] OF oBarALUM UPDATE NOBORDER FILENAME oDatos:rBMP+"SALVAR32.BMP"; // BOTON BARRA GUARDAR/ACTUALIZAR
ToolTip "Guardar/Actualizar";
MESSAGE "Guardar / Actualizar Datos";
WHEN (nSALVAR > 1);
ACTION ( IIF( oDatos:lAPPEND == .T. ,;
(oDbfCONFIG:cfg_codalu := jlconfig->cfg_codalu + 1 ,;
oDbfALUM:alu_codigo := oDbfCONFIG:cfg_codalu ,;
nCodAlu := oDbfALUM:alu_codigo ,;
oDbfALUM:alu_nivel := nRadNIVEL ,;
oDbfALUM:alu_fecha := DATE() ,;
grabacfg( oDbfCONFIG ), .T.), .T. ) ,; // ASIGNO CODIGO AL NUEVO REGISTRO (se controla en jlconfig)
graba(oDbfALUM, oBrwALUM) ,; // GUARDO DATOS Y RETORNO AL xBROWSE PPAL.
addnotas(nCodAlu, oDbfNOTAS, oBrwNOTAS, oDatos:lAPPEND) ,; // ADICIONO LAS MATERIAS A dbf NOTAS Y LUEGO CARGO EL array
oFldALUM:SetOption(1) ,;
jlalumno->( OrdSetFocus(2) ) ,; // COLOCA DE NUEVO INDICE A LOS NOMBRES-EN VALIDACION codigo NO SE REPITA LO PONGO EN EL 1
oBrwALUM:GOTOP(), oBrwALUM:REFRESH() ,; // VOY 1er REGISTRO Y FERESCO xBRW
nSALVAR := 1 )
----------------------------------------------------------------------------------------------------------------------------------
ACA UNA IMAGEN...ESPERO TE SIRVA, CUALQUIER DUDA O MEJORIA ES BIENVENIDA....
Uploaded with ImageShack.us
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
Gracias Jose Luis,
Lo probare y te dare mis comentarios.
Saludos.
Lo probare y te dare mis comentarios.
Saludos.
Re: Numeracion consecutiva de codigo (SOLUCIONADO)
para elegir un get en concreto para poner el foco
oGet[1]:oJump := oGet[2]
oGet[2]:SetFocus()
y en el ini
odlg:bStart = {|| if ( lalta , oGet[1]:SetFocus() , oGet[3]:SetFocus() ) }
oGet[1]:oJump := oGet[2]
oGet[2]:SetFocus()
y en el ini
odlg:bStart = {|| if ( lalta , oGet[1]:SetFocus() , oGet[3]:SetFocus() ) }