Sr. Antonio Linares
Posted: Sat Mar 08, 2008 3:39 pm
Buen dia, saludos
Tengo una duda referente a usar dos set relations
SET RELATION TO clientes->clave INTO clientes
SET RELATION TO conceptos->cve INTO conceptos
El detalle es cuando tengo uno solo si me trabaja bien pero cuando le incluyo el segundo si me ejecuta el sistema pero entro al modulo de captura de documentos y me saca del sistema sin generarme ningun error...
Que puedo hacer ante este problema??
envio parte de mi codigo donde llamo a mis funciones
ESTOS SON MIS GET´S
REDEFINE get aYDts[4] Var cve1 ID 104 OF oDlg1 PICTURE "99999" WHEN NwMod valid TRAE_CLIENTE(cve1) //4 CLAVE CLIENTE
REDEFINE SAY oGet PROMPT cVar id 105 OF oDlg1 //12 VERIFICAR SI ESTA CORRECTO NOMBRE DEL CLIENTE
REDEFINE get aYDts[8] Var nCve ID 106 OF oDlg1 PICTURE "999" //valid trae_concepto(nCve) //5 CONCEPTO
REDEFINE SAY oSCon PROMPT cVar2 ID 107 OF oDlg1
EN EL PRIMERO EL USUARIO TECLEA LA CLAVE DEL CLIENTE Y VALIDA EN LA TABLA DE CLIENTES SI EXISTE Y EN EL REDEFINE SAY LO TRAE AL EDITBOX
EN EL SEGUNDO ES LO MISMO PERO SE TECLEA LA CLAVE DEL CONCEPTO Y VA Y BUSCA SI ESTA EN LA TABLA
LOS NOMBRES DE LAS TABLAS SON CAT_CLI PARA CLIENTES Y CAT_CON PARA CONCEPTOS
ESTAS SON MIS FUNCIONES
FUNCTION Trae_Cliente(cve1)
IF Clientes->(dbseek(cve1))
cVar := clientes->NOMBRE
oGet:Refresh()
RETURN(.T.)
ELSE
MsgInfo("Cliente no registrado")
RETURN(.F.)
ENDIF
return .T.
//***********************************************************
function trae_concepto(nCve)
IF conceptos->(dbseek(str(nCve,3)))
cVar2 := conceptos->concepto
oSCon:Refresh()
RETURN(.T.)
ELSE
MsgInfo("Concepto no registrado")
RETURN(.F.)
ENDIF
return .T.
ESTA ES MI GENERACION DE INDICES
FIELD CLAVE
use cat_cli alias clientes shared new
IF !FILE("cat_cli.CDX")
index on clave tag cat_cli //cambiar a campo
set index to cat_cli
ELSE
set index to cat_cli
ENDIF
use cap_doc alias captura shared new
IF !FILE("cat_doc.CDX")
index on clave tag cve_catdoc
set index to cap_doc
ELSE
set index to cap_doc
ENDIF
field cve
use cat_con alias conceptos shared new
index on cve tag cve_con
NO SE SI TENGA QUE VER QUE EL CAMPO CVE DE CONCEPTOS ES NUMERICO, LES MENCIONO TAMBIEN QUE EN LA TABLA CAP_DOC EXISTEN EN COMUN LOS _ CON LOS QUE GENERON INDICES, ES EL CAMPO CLAVE Y CVE QUE ESTAN CAP_DOC Y RESPECTIVAMENTE EN CLIENTES Y CONCEPTOS
SALUDOS Y ESPERO ME HAYA EXPLICADO BIEN
Tengo una duda referente a usar dos set relations
SET RELATION TO clientes->clave INTO clientes
SET RELATION TO conceptos->cve INTO conceptos
El detalle es cuando tengo uno solo si me trabaja bien pero cuando le incluyo el segundo si me ejecuta el sistema pero entro al modulo de captura de documentos y me saca del sistema sin generarme ningun error...
Que puedo hacer ante este problema??
envio parte de mi codigo donde llamo a mis funciones
ESTOS SON MIS GET´S
REDEFINE get aYDts[4] Var cve1 ID 104 OF oDlg1 PICTURE "99999" WHEN NwMod valid TRAE_CLIENTE(cve1) //4 CLAVE CLIENTE
REDEFINE SAY oGet PROMPT cVar id 105 OF oDlg1 //12 VERIFICAR SI ESTA CORRECTO NOMBRE DEL CLIENTE
REDEFINE get aYDts[8] Var nCve ID 106 OF oDlg1 PICTURE "999" //valid trae_concepto(nCve) //5 CONCEPTO
REDEFINE SAY oSCon PROMPT cVar2 ID 107 OF oDlg1
EN EL PRIMERO EL USUARIO TECLEA LA CLAVE DEL CLIENTE Y VALIDA EN LA TABLA DE CLIENTES SI EXISTE Y EN EL REDEFINE SAY LO TRAE AL EDITBOX
EN EL SEGUNDO ES LO MISMO PERO SE TECLEA LA CLAVE DEL CONCEPTO Y VA Y BUSCA SI ESTA EN LA TABLA
LOS NOMBRES DE LAS TABLAS SON CAT_CLI PARA CLIENTES Y CAT_CON PARA CONCEPTOS
ESTAS SON MIS FUNCIONES
FUNCTION Trae_Cliente(cve1)
IF Clientes->(dbseek(cve1))
cVar := clientes->NOMBRE
oGet:Refresh()
RETURN(.T.)
ELSE
MsgInfo("Cliente no registrado")
RETURN(.F.)
ENDIF
return .T.
//***********************************************************
function trae_concepto(nCve)
IF conceptos->(dbseek(str(nCve,3)))
cVar2 := conceptos->concepto
oSCon:Refresh()
RETURN(.T.)
ELSE
MsgInfo("Concepto no registrado")
RETURN(.F.)
ENDIF
return .T.
ESTA ES MI GENERACION DE INDICES
FIELD CLAVE
use cat_cli alias clientes shared new
IF !FILE("cat_cli.CDX")
index on clave tag cat_cli //cambiar a campo
set index to cat_cli
ELSE
set index to cat_cli
ENDIF
use cap_doc alias captura shared new
IF !FILE("cat_doc.CDX")
index on clave tag cve_catdoc
set index to cap_doc
ELSE
set index to cap_doc
ENDIF
field cve
use cat_con alias conceptos shared new
index on cve tag cve_con
NO SE SI TENGA QUE VER QUE EL CAMPO CVE DE CONCEPTOS ES NUMERICO, LES MENCIONO TAMBIEN QUE EN LA TABLA CAP_DOC EXISTEN EN COMUN LOS _ CON LOS QUE GENERON INDICES, ES EL CAMPO CLAVE Y CVE QUE ESTAN CAP_DOC Y RESPECTIVAMENTE EN CLIENTES Y CONCEPTOS
SALUDOS Y ESPERO ME HAYA EXPLICADO BIEN