In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

odbfDATASET:Skip

Foro de Xailer profesional en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

odbfDATASET:Skip

Mensaje 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!!
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9459
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

odbfDATASET:Skip

Mensaje 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!!
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
antonio.ortega
Mensajes: 124
Registrado: Mié May 17, 2006 10:50 am

odbfDATASET:Skip

Mensaje 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
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

odbfDATASET:Skip

Mensaje 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!!
>>
>
>
Responder