En una pequeña aplicacion, en su ventana de captura de datos, tengo dos combobox, el primero definido directamente
Local oCombo := {"Si","No"}
Funciona bien, me toma sus datos, segun esten en la tabla.
El segundo combo, es un array que se rellena con los registros de otra tabla, y cuando accedo en la ventana de captura de datos, me cambia el orden de los items de manera curiosa, el 1º Item lo pone el último, el 2º lo pone el primero, el 3º lo pone el segundo...y así sucesivamente,
Con lo cual lo que informa primero es un dato que no es el que hay en la tabla.
Este es el código
Code: Select all
REDEFINE GET aDatos[16] ID 1016 PICTURE "99" OF oDlg UPDATE
REDEFINE GET aDatos[17] ID 1017 PICTURE "9999999999" OF oDlg UPDATE
REDEFINE COMBOBOX oConcep VAR cCombo ITEMS aConceptos ID 1018 OF oDlg UPDATE
Si pongo un msginfo de cCombo, me da correcto
El código donde cargo la tabla en el array aConceptos es este.
Code: Select all
* ------------------------------------------------------------------
FUNCTION PonConcepto()
* ------------------------------------------------------------------
Local nSele := Select()
Local n := 1
Local aConceptos[0]
dbSelectArea("CPT")
CPT->(dbGotop())
n := CPT->(RecCount())
ASIZE(aConceptos,n)
AFILL(aConceptos,"")
n:= 1
While CPT->(!Eof())
IF CPT->(Eof())
exit
EndIf
aConceptos[n] := CPT->concepto
CPT->(dbSkip())
n++
EndDo
dbSelectArea(nSele)
Return(aConceptos)
Una manita y una pierna, plisssssssssssss
Gracias
Pedro