Campos Calculados
Publicado: Dom Mar 26, 2006 1:18 am
Buena, aqui molestando nuevamente.
Resulta que quiero crear tantos campos calculados como cantidad de Articulos
tenga un código determinado, o sea si la cantidad del codigo 10002 es igual
a 2, k me crees dos campos calculados, series1 y series 2, asi sucesivamente.
Lo que hago es lo siguiente.
METHOD FEquiposPostOpen( oSender ) CLASS TInventarios
Local aValues, nLen, i //{ "Normal", "Exento", "Recargo" }
LOCAL aSeries := Array(::oFEquipos:Cantidad)
LOCAL oField, xv
nLen := Len(aSeries)
WITH OBJECT ::oFEquipos
IF nLen#0
For i := 1 To nLen
aSeries := "Series"+alltrim(Str(i))
oField := :AddCalcField((aSeries), {|o|"00"+ALLTRIM(STR(i-1))}
)
xV := Eval( {|S1,S2| S1+S2 },":",(aSeries))
(xV) := "00"+ALLTRIM(STR(i))
NEXT
Endif
END WITH
RETURN Nil
De esta manera puedo ver k el resultado de ambas series es el mismo, que
estare haciendo mal, tendrian alguna idea mejor.
GRacias de antemanos
Resulta que quiero crear tantos campos calculados como cantidad de Articulos
tenga un código determinado, o sea si la cantidad del codigo 10002 es igual
a 2, k me crees dos campos calculados, series1 y series 2, asi sucesivamente.
Lo que hago es lo siguiente.
METHOD FEquiposPostOpen( oSender ) CLASS TInventarios
Local aValues, nLen, i //{ "Normal", "Exento", "Recargo" }
LOCAL aSeries := Array(::oFEquipos:Cantidad)
LOCAL oField, xv
nLen := Len(aSeries)
WITH OBJECT ::oFEquipos
IF nLen#0
For i := 1 To nLen
aSeries := "Series"+alltrim(Str(i))
oField := :AddCalcField((aSeries), {|o|"00"+ALLTRIM(STR(i-1))}
)
xV := Eval( {|S1,S2| S1+S2 },":",(aSeries))
(xV) := "00"+ALLTRIM(STR(i))
NEXT
Endif
END WITH
RETURN Nil
De esta manera puedo ver k el resultado de ambas series es el mismo, que
estare haciendo mal, tendrian alguna idea mejor.
GRacias de antemanos