Hirdetés
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Motorola G86 - majdnem Edge
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S25 - végre van kicsi!
- Apple iPhone 16 - ígéretek földje
- Amazfit Bip 6 - jót olcsón
- OnePlus 15 - van plusz energia
- Android szakmai topik
- A Samsung is leszámol a 128 GB-os tárhellyel a Galaxy S26-ban
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
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
Hirdetés
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4050
- BESZÁMÍTÁS! Lenovo Legion Slim 5 16APH8 Gamer notebook - R7 7840HS 32GB DDR5 1TB SSD RTX 4070 8GB
- i7-8700 vagy i7-9700 procit keresek (nem K, 65W kiadás)
- Apple iPhone 14 Pro 128GB,Újszerű,Dobozaval,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


