- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Android szakmai topik
- iPhone topik
- Apple iPhone 17 Pro Max – fennsík
- Poco X3 Pro - hardverfrissítés
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Fotók, videók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
- Felrobbant a Pixel Fold Zack Nelson kezében
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Nefri
csendes tag
Tehát a lista úgy néz ki, hogy első oszlop "elemSzám" {4789} (ezt az egy elemet tartalmazza), második oszlop "aktév" {2016} (ezt az egy elemet tartalmazza) ennyi a lista (2 oszlop, 1 sor). Feladat: Kiolvasni az évszámot és ha nem egyezik a jelenlegi évszámmal akkor az "elemSzám"-ot visszacsökkenteni 1-re, az évszámot pedig javítani az aktuális évre. Tehát ez a kód évente csak 1* kell, hogy lefusson.
Időközben am megoldottam a problémát azzal, hogy találtam egy megoldást, hogy egy .update-en belül írjam át mind a két értéket és nem kell két külön update-et létrehozzak. Viszont ugyanebben a kódban eredetileg volt még egy ID generálós rész is, ahol ezt a két értéket felhasználva hoztam létre az ID-t. Ennek a résznek a frissítést követően kellett volna lefutnia, viszont ezt nem tudtam elérni, hogy megvárja, mindenképpen egyszerre akart lefutni, így végül kénytelen voltam egy másik eseményhez hozzárendelni. Ez ugyan jelenleg megoldotta a problémát, de a jövőben biztos, hogy lesznek esetek amikor, nem lehet így kicselezni a sorrendet. Tehát a kérdésem az lenne, hogy ha feltesszük, hogy a korábban linkelt kódom megfelelően működik, akkor, hogyan és hová kéne hozzáírnom az ID generálós részt, hogy biztosan az esetlegesen bekövetkező frissítést követően olvassa csak ki a rekordokat?
-
Nefri
csendes tag
válasz
fordfairlane #6703 üzenetére
Igazad van félre néztem. Viszont azt a hibát csak akkor írtam bele, amikor próbáltam átjavítani a neveket a postoláshoz, hogy könnyebben emészthetőek legyenek, bocsi. Tehát az összes lista hivatkozás a "TargetList"-re vonatkozik. Tudom esetleg szerkeszteni vhogy a régebbi postomat?
A where-el kapcsolatban pedig nem probléma, ha az összes mezőt frissíti mivel csak 1-van minden oszlopban. Lehet, hogy igazából el is lehetne hagyni, csak nem tudom, hogy akkor alapértelmezett ként az összes mezőt átírná-e vagy sem azt még tesztelnem kell.
Illetve azóta már kicsit beleástam magam a témába és úgy tűnik, hogy a jquery alapból asszinkron hajtódik végre. Így nem igazán várják meg egymást az utasítások, amik sorban következnének. Valószínűleg ebből származhat a probléma, bár jelen esetben valójában mind1, hogy melyik update hajtódik végre hamarabb a kódban, azért továbbra sem világos, hogy végül miért csak az 1-ik mező értékét frissíti.
-
Nefri
csendes tag
válasz
fordfairlane #6701 üzenetére
Szia!
Ez a kód egy részletete egy ID generálásnak. Az ID pedig úgy néz ki, hogy: (felhasználók által létrehozott elemek száma + "./" + aktuális évszám).
Azért van a feltétel vizsgálat mert csak akkor kell a rekordokat frissíteni ha a rekordokban szereplő évszám és az aktuális évszám nem egyezik (nem is kell az updateben felhasználni csak az update szükségességének megállapításához kell), mivel ebben az esetben frissíteni kell az aktuális évszámot, illetve le kell vinnem a létrehozott elemek számát 1-re. (Az egész esemény akkor hajtódik végre ha a user a Save gombra kattint).
Tehát azért van 2* a "Targetlist" mert az elsőnél csak beolvassa és a 2.nál pedig frissíti is ha szükséges. És igen a where feltételek jelzik, hogy az oszlopok mely mezőit kell frissíteni, jelen esetben mivel csak 1 mezőből állnak ezt az 1 mezőt targetelik ki a where-k. Sharepointpluszban csak where-el lehet targetelni elemeket egy oszlopban vagy pedig ID-val.
Amennyiben nincsen új év simán csak a elemek számát updateli +1-el, de mivel nem ezzel van a probléma, hanem azzal, hogy amikor 2 updatelést kéne végezni egymást követően, csak az egyiket végzi el, nem akartam ezzel is bonyolítani a megértést.
-
Nefri
csendes tag
Sziasztok!
Sharepoint listához írtam egy javascriptet. Elvileg az lenne a rendeltetése, hogy ha betöltődik az oldal ellenőrzi az évszámot és ha esetleg megváltozott az utolsó betöltés óta, akkor egy másik listának 2 mezőjét módosítsa. A kód gyönyörűen fut azzal a kis problémával, hogy teljesen random, hogy a 2 mezőből éppen melyiknek a módosításához van kedve. Hol az egyiket írja csak át, hol a másikat. Sajnos nem értek javascripthez, de úgy érzem, párhuzamosan ugrik rá a két feladatra és végül csak a gyorsabb hajtódik végre. Tudtok esetleg vmi gyógyírt, hogy szép sorban menjen végig a feladatokon vagy ha más a probléma, akkor mi az? A módosítandó lista összesen 2 oszlopból áll melyekben mindössze 1-1 elem van. Íme a kód:
$(document).ready(function() {
$SP().list("TargetList", "http://.../sites/Registry/").get({
fields: "actualyear", //Listából beolvassa az ott jegyzett évszámot
}, function getData(data) {
for (var i = 0; i < data.length; i++) {
//itt hasonlítja össze, hogy változott-e az évszám
if ((Number(data[i].getAttribute("actualyear")) < (Number(new Date().getFullYear())))) {
$SP().list("TargetList", "http://.../sites/Registry/").update({
actualyear: Number((new Date()).getFullYear()) //frissül az évszám (vagy ez hajtódik végre)
}, {
where: "actualyear < " + Number((new Date()).getFullYear()),
});
$SP().list("AdriaPostaSzamLista", "http://.../sites/Registry/").update({
lastnumber: Number("1") //újévkor 1-re változik a sorszám mező (vagy ez)
}, {
where: "lastnumber > " + Number("1")
});
}
}
});
});A megvalósításhoz Jquery és Sharepointplus-t használok.
Hálásan köszönök minden ötletet a javításra!
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! Acer KG251QF 24 144Hz FHD TN 1ms monitor garanciával hibátlan működéssel
- Corsair K70 RGB TKL // EU // Számla + Garancia //
- 10magos! Fémvázas! HP EliteBook 860 G9 i7-1255U 16GB 512GB 16" FHD+
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Telefon felvásárlás!! Samsung Galaxy A14/Samsung Galaxy A34/Samsung Galaxy A54
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest