Página 1 de 1

odbfDATASET:Skip

Publicado: Lun Nov 19, 2007 10:03 pm
por jose.luis
Hola,
Este trozo de código
::oDATASET:SaveState(.T.)
::oDATASET:OrdSetFocus("PROD_NUM")
::oDATASET:SEEK(STR(::oPedido:Value,8))
DO WHILE !::oDATASET:EoF() .AND. ::oDATASET:n_pedido =
::oPedido:Value
logdebug(::oDATASET:n_pedido)
logdebug(::oDATASET:n_etiqueta)
logdebug(::oDATASET:fieldGetByName("N_etiqueta"))
nUltEtiq := MAX(1,::oDATASET:n_etiqueta)
::oDATASET:Skip(+1)
ENDDO
::oDATASET:RestoreState(.T.)
nUltEtiq++
Me muestra que dentro del bucle DO WHILE el primer y segundo logdebug no
cambian de valor mientras que el tercer si.
La pregunta es: ¿es correcto ese comportamiento? o... por el contrario...
¿deberí­a actualizarse el dataset de forma automática al hacer el skip?
--
Saludos y gracias,
José Luis Capel
www.capelblog.com vuelve a estar online!!

odbfDATASET:Skip

Publicado: Mar Nov 20, 2007 10:01 am
por ignacio
José Luis,
Seguramente estés en edición. Prueba con:
logdebug( ::oDATASET:n_etiqueta( dsFIELD ) )
Y sino, manda un pequeño ejemplo que muestre el problema. Gracias de
antemano.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
news:[email=4741fa4b@ozsrv2.ozlan.local...]4741fa4b@ozsrv2.ozlan.local...[/email]
> Hola,
>
> Este trozo de código
>
> ::oDATASET:SaveState(.T.)
> ::oDATASET:OrdSetFocus("PROD_NUM")
> ::oDATASET:SEEK(STR(::oPedido:Value,8))
>
> DO WHILE !::oDATASET:EoF() .AND. ::oDATASET:n_pedido =
> ::oPedido:Value
> logdebug(::oDATASET:n_pedido)
> logdebug(::oDATASET:n_etiqueta)
> logdebug(::oDATASET:fieldGetByName("N_etiqueta"))
> nUltEtiq := MAX(1,::oDATASET:n_etiqueta)
> ::oDATASET:Skip(+1)
> ENDDO
>
> ::oDATASET:RestoreState(.T.)
>
> nUltEtiq++
>
> Me muestra que dentro del bucle DO WHILE el primer y segundo logdebug no
> cambian de valor mientras que el tercer si.
>
> La pregunta es: ¿es correcto ese comportamiento? o... por el contrario...
> ¿debería actualizarse el dataset de forma automática al hacer el skip?
>
> --
> Saludos y gracias,
> José Luis Capel
> www.capelblog.com vuelve a estar online!!
>

odbfDATASET:Skip

Publicado: Mar Nov 20, 2007 10:43 am
por antonio.ortega
Si está en edición puedes usar (odataset:cAlias)->dBSkip(), a mi se me
produce por ejm. cuando quiero dar de alta a un cliente, y le quiero asignar
un numero correlativo, quizás lo hago mal, pero funciona.
Saludos.
Antonio F. Ortega

odbfDATASET:Skip

Publicado: Mar Nov 20, 2007 10:04 pm
por jose.luis
Ignacio,
Gracias por la respuesta. Efectivamente estaba en modo edición.
Saludos,
José Luis Capel
--
Saludos,
José Luis Capel
www.capelblog.com vuelve a estar online!!
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje de
noticias news:4742a27e$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> José Luis,
>
> Seguramente estés en edición. Prueba con:
>
> logdebug( ::oDATASET:n_etiqueta( dsFIELD ) )
>
> Y sino, manda un pequeño ejemplo que muestre el problema. Gracias de
> antemano.
>
> Un saludo
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
> news:[email=4741fa4b@ozsrv2.ozlan.local...]4741fa4b@ozsrv2.ozlan.local...[/email]
>> Hola,
>>
>> Este trozo de código
>>
>> ::oDATASET:SaveState(.T.)
>> ::oDATASET:OrdSetFocus("PROD_NUM")
>> ::oDATASET:SEEK(STR(::oPedido:Value,8))
>>
>> DO WHILE !::oDATASET:EoF() .AND. ::oDATASET:n_pedido =
>> ::oPedido:Value
>> logdebug(::oDATASET:n_pedido)
>> logdebug(::oDATASET:n_etiqueta)
>> logdebug(::oDATASET:fieldGetByName("N_etiqueta"))
>> nUltEtiq := MAX(1,::oDATASET:n_etiqueta)
>> ::oDATASET:Skip(+1)
>> ENDDO
>>
>> ::oDATASET:RestoreState(.T.)
>>
>> nUltEtiq++
>>
>> Me muestra que dentro del bucle DO WHILE el primer y segundo logdebug no
>> cambian de valor mientras que el tercer si.
>>
>> La pregunta es: ¿es correcto ese comportamiento? o... por el contrario...
>> ¿deberí­a actualizarse el dataset de forma automática al hacer el skip?
>>
>> --
>> Saludos y gracias,
>> José Luis Capel
>> www.capelblog.com vuelve a estar online!!
>>
>
>