SharePoint Community Sverige

Susanne Fahlén Hörnberg

Uppdatera listobjekt i lista B när nytt objekt skapats i lista A

Hej!
Har ett problem som kändes som det borde vara lätt att lösa, men jag har kört fast.

I Lista B har jag en listkolumn innehållande ett tal.
Detta tal vill jag decimera( minska med 1) när nytt listobjekt i Lista A har skapats. Typ simulera en nedräkning alltså...

I SPD har jag skapat upp ett arbetsflöde som hämtar talet från Lista B, minskar det med 1 och lagrar nytt tal i arbetsflödesvariabel X.

Sen gör jag en listuppdatering på Lista B och letar reda på rätt listobjekt genom att använda objektets ID som finns både i Lista A och Lista B och sätter talet till variabeln X.

Men talet uppdateras inte när jag skapar nya objekt i Lista A.

Jag har testat att kolla värdet i variabeln X via mail och det stämmer, så det är ju själva uppdateringen som går snett nånstans.

Nån som kan hjälpa?
Visst borde det gå att lösa?
Bilagor:

Gör ett inlägg på det här

Inlägg i den här diskussionen

Testa att ändra fältet satt från någon annan variable eller bara hårt sätta det till 12 eller liknande.
Prova även att göra detta på något annat fält.

Min tolkning är att eftersom variable X stämmer så kan felet ligga på:
- fälttyp
- summering av beräknade kolumner.
- Hittar inte rätt object via ID

Kursbokning är skoj, har själv byggt ett sådant. Lite ideér jag byggde:
Klicka på kurstillfälle och se vilka som är anmälda.
Sätt begränsat antal platser per kurs så att bokningar inte går att göra om det är "fullt"
Stöd för att boka/avboka
Knapp för att anmäla den inloggade användaren.

Gör ett inlägg på det här

Korrigering:

Jag har ju missat att nämna att det fungerar för mig med AD-inloggning, men inte för användarna med FBA-login.

Det handlar en CMS-liknande internetwebbplats med en intern adress och en extern adress där vi har kopplat in FBA.

Kan problemen vara behörighetsstyrda? Är det nåt där som blockerar?

Gör ett inlägg på det här

Efter en del mer letandes och testande, har det kommit fram till att det har med behörigheter att göra.

Tyvärr hittades följande länk:
http://blogs.msdn.com/sharepointdesigner/archive/2008/09/28/declara...

Det verkar som MS har gjort en liten tabbe...(igen?!)...

Jag är lite nyfiken,Tony...
Hur löste du/ni platsnedräkningen?

Gör ett inlägg på det här

Du har säkert något liknande:
Lista 1 Kurser
Lista 2 Bokningar

Listitem i Lista 1 håller KursTitle, Platser(int) och anmälda(int), Lediga platser(Platser - anmälda)
Listitem i Lista 2 håller Kursdeltagare(Namn) och Kurs(Namn)

Anmälar jag mig till en kurs skapas ett item i Lista 2, när denna är skapad letas den valda kursen upp i Lista 2 och sätter anmälda +1.

Title Golf
Platser 20
Anmälda 12 (ökas eller minskas vid boka/avboka)
Lediga Platser 8 (Platser - Anmälda) är denna noll kan man inte boka

Gör ett inlägg på det här

Ok, just det...

Så när det kommer in en anmälan kollar du om Lediga platser är noll och sen ökar på anmälda.

Gör du det via arbetsflöde?
Har du gjort det via SPD eller Visual Studio?

Jag frågar mest för att jag är nyfiken och vill se hur andra har löst uppgiften...
Jag har iallafall lyckats lösa vårt problem med ett "fulhack"
...Finns säkert mycket bättre lösningar, men hade inte tid.

Jag kopierade Läsa-rättigheten till en ny, plockade in rätten att ändra objekt i den nya och gav användare den nya behörigheten på listan Kurser. Då får arbetsflödet samma rättigheter och kan gå in och uppdatera antal platser...
Sen maskade jag bort alla övriga redigeringsmöjligheter för användaren genom ddwrt:HasRights() samt att jag gjorde egna modifierade listformulär för den listan.

Så nu fungerar det.

Kommer dock att göra en del bättre lösningar när och om jag får tid...

Gör ett inlägg på det här

Kul att det fungerar Susanne! Visual Studio och EventHandlers använde jag mig av.

Fulhack är alla vackra lösningars moder och barn till alla bra ideér :)

Gör ett inlägg på det här

Sant!

Tack för hjälp och intressant diskussion!

Gör ett inlägg på det här

RSS

© 2010   Skapad av Andreas Kviby   Powered by .

Emblem  |  Rapportera en händelse  |  Användarvillkor