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!!
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.
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
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
odbfDATASET:Skip
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!!
>
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
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
odbfDATASET:Skip
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
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
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!!
>>
>
>
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!!
>>
>
>