- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Samsung Galaxy Tab S10 Ultra - más dimenzió
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Canon EOS DSLR topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Forrmell.enn
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- AMD Navi Radeon™ RX 5xxx sorozat
- HiFi műszaki szemmel - sztereó hangrendszerek
- Hobby elektronika
-
PROHARDVER!
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
Hirdetés
- SZÉP Lenovo ThinkPad P15 G2 Tervező Laptop -75% 15,6" i9-11950H 64/2TB RTX A4000 8GB UHD OLED
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Eladó Apple MacBook Pro 13" A1706 (Late 2017, Silver - EMC 3163)
- Amazfit GTR 2 Classic okosóra dobozában töltőkábellel
- Mac mini M1 chip 8 magos CPU-val, 8 magos GPU-val
- Huawei Nova Y90 128GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! Felsőkategóriás számítógép PC Játékra! I9 13900KF / RTX 4080 / 32GB RAM / 1TB SSD
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- Xiaomi Redmi Note 14 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- RAKTÁRSÖPRÉS!!! - Videókártyák, Monitorok, Notebookok, Stb. - Szaküzletből! Számlával!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest