Estado antes y después de un evento

26/01/2005 - 12:18 por grbyte | Informe spam
Hola grupo,

cómo puedo saber el estado anterior y actual de un
ListItem después de un UPDATE.

Lo que quiero es saber si el elemento ha pasado de
pending a aproved o símplemente se ha modificado un campo
del ListItem.

Yo, después del UPDATE, me fijo si está a Aproved, y es
así en estos dos casos, pero no sé a ciencia cierta si ha
pasado de pending a aproved o no.

Gracias.

Preguntas similare

Leer las respuestas

#1 Gustavo
26/01/2005 - 15:33 | Informe spam
Hola de nuevo,
Como sugieres en tu posting anterior, la forma es mirando el hashtable
PropertiesBefore y PropertiesAfter y compararlas: si son iguales, el estado
del documento no ha cambiado. Y recuerda que estas propiedades tienen una
clave "vti_" para los campos estandard (necesario para poderlos leer), y en
los otros campos el nombre es simplemente el nombre del campo.
Suerte,
Gustavo
http://www.gavd.net/servers/

"grbyte" wrote:

Hola grupo,

cómo puedo saber el estado anterior y actual de un
ListItem después de un UPDATE.

Lo que quiero es saber si el elemento ha pasado de
pending a aproved o símplemente se ha modificado un campo
del ListItem.

Yo, después del UPDATE, me fijo si está a Aproved, y es
así en estos dos casos, pero no sé a ciencia cierta si ha
pasado de pending a aproved o no.

Gracias.

Respuesta Responder a este mensaje
#2 grbyte
27/01/2005 - 09:24 | Informe spam
Hola otra vez,

ya se que me contestaste en el Post anterior, y yo te
respondí también, lo has leido???

Lo que no se diferenciar es si alguien Edita las
propiedades de un ListItem y le da a guardar (sin
modificar nada) y si le da a Aprobar o Rechazar y Aprueba
o Rechaza, porque en los dos casos salta UPDATE y en los
dos las Propiedades Before y After devuelven lo mismo.

Igual se me escapa algo, pero me gustaría que me
contestases con ALGÚN ejemplo. Por ejemplo las
propiedades de After y Before en las que me puedo fijar
en uno y otro caso.

Gracias.

Hola de nuevo,
Como sugieres en tu posting anterior, la forma es


mirando el hashtable
PropertiesBefore y PropertiesAfter y compararlas: si son


iguales, el estado
del documento no ha cambiado. Y recuerda que estas


propiedades tienen una
clave "vti_" para los campos estandard (necesario para


poderlos leer), y en
los otros campos el nombre es simplemente el nombre del


campo.
Suerte,
Gustavo
http://www.gavd.net/servers/

"grbyte" wrote:

Hola grupo,

cómo puedo saber el estado anterior y actual de un
ListItem después de un UPDATE.

Lo que quiero es saber si el elemento ha pasado de
pending a aproved o sà­mplemente se ha modificado un




campo
del ListItem.

Yo, después del UPDATE, me fijo si està¡ a Aproved, y




es
asà­ en estos dos casos, pero no sé a ciencia cierta




si ha
pasado de pending a aproved o no.

Gracias.



.

Respuesta Responder a este mensaje
#3 Gustavo
28/01/2005 - 13:59 | Informe spam
Hola de regreso,
Como la curiosidad me corroe, he hecho un pequenno ejemplo de EventSink, que
puedes encontrar en mi sitio:

http://www.gavd.net/servers/sharepo...;itm"

Como veras en las instrucciones, el codigo solamente lee las propiedades
antes y despues y las escribe a un archivo local. Y aqui vienen las malas
noticias: las propiedades "despues" tienen dos items que las propiedades
"antes" no tienen:

vti_doclibmodcomm: con el comentario que el usuario incluyo
vti_doclibmodstat: 0=aprovado, 1=rechazado

Asi que parece que no hay forma de ver cual era el estado antes de cambiar.
Esta me parece otra de esas "Issue no documentada" de SharePoint, o, en pocas
palabras, una buena metida de pata. Y es una lastima, pues no seria tan
dificil de programar estas dos propiedades en el "antes" (pienso yo).
En cualquier caso, mira el codigo, de pronto algo te puede servir.
Saludos,
Gustavo
http://www.gavd.net/servers/



"grbyte" wrote:

Hola otra vez,

ya se que me contestaste en el Post anterior, y yo te
respondí también, lo has leido???

Lo que no se diferenciar es si alguien Edita las
propiedades de un ListItem y le da a guardar (sin
modificar nada) y si le da a Aprobar o Rechazar y Aprueba
o Rechaza, porque en los dos casos salta UPDATE y en los
dos las Propiedades Before y After devuelven lo mismo.

Igual se me escapa algo, pero me gustaría que me
contestases con ALGÚN ejemplo. Por ejemplo las
propiedades de After y Before en las que me puedo fijar
en uno y otro caso.

Gracias.

>Hola de nuevo,
>Como sugieres en tu posting anterior, la forma es
mirando el hashtable
>PropertiesBefore y PropertiesAfter y compararlas: si son
iguales, el estado
>del documento no ha cambiado. Y recuerda que estas
propiedades tienen una
>clave "vti_" para los campos estandard (necesario para
poderlos leer), y en
>los otros campos el nombre es simplemente el nombre del
campo.
>Suerte,
>Gustavo
>http://www.gavd.net/servers/
>
>"grbyte" wrote:
>
>> Hola grupo,
>>
>> cómo puedo saber el estado anterior y actual de un
>> ListItem después de un UPDATE.
>>
>> Lo que quiero es saber si el elemento ha pasado de
>> pending a aproved o sà­mplemente se ha modificado un
campo
>> del ListItem.
>>
>> Yo, después del UPDATE, me fijo si està¡ a Aproved, y
es
>> asà­ en estos dos casos, pero no sé a ciencia cierta
si ha
>> pasado de pending a aproved o no.
>>
>> Gracias.
>>
>.
>

Respuesta Responder a este mensaje
#4 grbyte
31/01/2005 - 09:27 | Informe spam
Gracias por las molestias Gustavo.

Pues sí, se puede decir que se les olvidó implementar las
propiedades Antes no??? Bueno qué se le va a hacer...

Por cierto, muy buena tu página de SP eh! Entraré de vez
en cuando para ver tus novedades.

Hola de regreso,
Como la curiosidad me corroe, he hecho un pequenno


ejemplo de EventSink, que
puedes encontrar en mi sitio:

http://www.gavd.net/servers/sharepo...item.aspx?


top=cod&itm"

Como veras en las instrucciones, el codigo solamente lee


las propiedades
antes y despues y las escribe a un archivo local. Y aqui


vienen las malas
noticias: las propiedades "despues" tienen dos items que


las propiedades
"antes" no tienen:

vti_doclibmodcomm: con el comentario que el usuario


incluyo
vti_doclibmodstat: 0=aprovado, 1=rechazado

Asi que parece que no hay forma de ver cual era el


estado antes de cambiar.
Esta me parece otra de esas "Issue no documentada" de


SharePoint, o, en pocas
palabras, una buena metida de pata. Y es una lastima,


pues no seria tan
dificil de programar estas dos propiedades en el "antes"


(pienso yo).
En cualquier caso, mira el codigo, de pronto algo te


puede servir.
Saludos,
Gustavo
http://www.gavd.net/servers/



"grbyte" wrote:

Hola otra vez,

ya se que me contestaste en el Post anterior, y yo te
respondà­ también, lo has leido???

Lo que no se diferenciar es si alguien Edita las
propiedades de un ListItem y le da a guardar (sin
modificar nada) y si le da a Aprobar o Rechazar y




Aprueba
o Rechaza, porque en los dos casos salta UPDATE y en




los
dos las Propiedades Before y After devuelven lo mismo.

Igual se me escapa algo, pero me gustarà­a que me
contestases con ALGàsN ejemplo. Por ejemplo las
propiedades de After y Before en las que me puedo




fijar
en uno y otro caso.

Gracias.

>Hola de nuevo,
>Como sugieres en tu posting anterior, la forma es
mirando el hashtable
>PropertiesBefore y PropertiesAfter y compararlas: si




son
iguales, el estado
>del documento no ha cambiado. Y recuerda que estas
propiedades tienen una
>clave "vti_" para los campos estandard (necesario




para
poderlos leer), y en
>los otros campos el nombre es simplemente el nombre




del
campo.
>Suerte,
>Gustavo
>http://www.gavd.net/servers/
>
>"grbyte" wrote:
>
>> Hola grupo,
>>
>> càf³mo puedo saber el estado anterior y actual de




un
>> ListItem despuàf©s de un UPDATE.
>>
>> Lo que quiero es saber si el elemento ha pasado de
>> pending a aproved o sàf­mplemente se ha modificado




un
campo
>> del ListItem.
>>
>> Yo, despuàf©s del UPDATE, me fijo si estàf¡ a




Aproved, y
es
>> asàf­ en estos dos casos, pero no sàf© a ciencia




cierta
si ha
>> pasado de pending a aproved o no.
>>
>> Gracias.
>>
>.
>



.

Respuesta Responder a este mensaje
#5 Gustavo
31/01/2005 - 10:35 | Informe spam
Hola,
Gracias por el comentario sobre mi sitio; poco a poco va creciendo y
volviendose algo interesante.
En cuanto a tu problema, que Microsoft no lo haya implementado no significa
que nosotros no lo podamos hacer. Si los documentos que quieres registrar no
son muchos (no mas de un par de miles), siempre puedes hacer una lista oculta
para el usuario en donde guardas el ID del documento y su estado, y el
controlador mira cada vez en tu lista para saber cual era el estado antes, y
lo pone al dia. Si son mas documentos, puedes hacer tu propia base de datos
para guardar el registro. Como sabes, hay un monton de maneras para matar
pulgas...
Saludos,
Gustavo
http://www.gavd.net/servers/


"grbyte" wrote:

Gracias por las molestias Gustavo.

Pues sí, se puede decir que se les olvidó implementar las
propiedades Antes no??? Bueno qué se le va a hacer...

Por cierto, muy buena tu página de SP eh! Entraré de vez
en cuando para ver tus novedades.

>Hola de regreso,
>Como la curiosidad me corroe, he hecho un pequenno
ejemplo de EventSink, que
>puedes encontrar en mi sitio:
>
>http://www.gavd.net/servers/sharepo...item.aspx?
top=cod&itm"
>
>Como veras en las instrucciones, el codigo solamente lee
las propiedades
>antes y despues y las escribe a un archivo local. Y aqui
vienen las malas
>noticias: las propiedades "despues" tienen dos items que
las propiedades
>"antes" no tienen:
>
>vti_doclibmodcomm: con el comentario que el usuario
incluyo
>vti_doclibmodstat: 0=aprovado, 1=rechazado
>
>Asi que parece que no hay forma de ver cual era el
estado antes de cambiar.
>Esta me parece otra de esas "Issue no documentada" de
SharePoint, o, en pocas
>palabras, una buena metida de pata. Y es una lastima,
pues no seria tan
>dificil de programar estas dos propiedades en el "antes"
(pienso yo).
>En cualquier caso, mira el codigo, de pronto algo te
puede servir.
>Saludos,
>Gustavo
>http://www.gavd.net/servers/
>
>
>
>"grbyte" wrote:
>
>> Hola otra vez,
>>
>> ya se que me contestaste en el Post anterior, y yo te
>> respondà­ también, lo has leido???
>>
>> Lo que no se diferenciar es si alguien Edita las
>> propiedades de un ListItem y le da a guardar (sin
>> modificar nada) y si le da a Aprobar o Rechazar y
Aprueba
>> o Rechaza, porque en los dos casos salta UPDATE y en
los
>> dos las Propiedades Before y After devuelven lo mismo.
>>
>> Igual se me escapa algo, pero me gustarà­a que me
>> contestases con ALGàsN ejemplo. Por ejemplo las
>> propiedades de After y Before en las que me puedo
fijar
>> en uno y otro caso.
>>
>> Gracias.
>>
>> >Hola de nuevo,
>> >Como sugieres en tu posting anterior, la forma es
>> mirando el hashtable
>> >PropertiesBefore y PropertiesAfter y compararlas: si
son
>> iguales, el estado
>> >del documento no ha cambiado. Y recuerda que estas
>> propiedades tienen una
>> >clave "vti_" para los campos estandard (necesario
para
>> poderlos leer), y en
>> >los otros campos el nombre es simplemente el nombre
del
>> campo.
>> >Suerte,
>> >Gustavo
>> >http://www.gavd.net/servers/
>> >
>> >"grbyte" wrote:
>> >
>> >> Hola grupo,
>> >>
>> >> càf³mo puedo saber el estado anterior y actual de
un
>> >> ListItem despuàf©s de un UPDATE.
>> >>
>> >> Lo que quiero es saber si el elemento ha pasado de
>> >> pending a aproved o sàf­mplemente se ha modificado
un
>> campo
>> >> del ListItem.
>> >>
>> >> Yo, despuàf©s del UPDATE, me fijo si estàf¡ a
Aproved, y
>> es
>> >> asàf­ en estos dos casos, pero no sàf© a ciencia
cierta
>> si ha
>> >> pasado de pending a aproved o no.
>> >>
>> >> Gracias.
>> >>
>> >.
>> >
>>
>.
>

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida