-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
fordfairlane
veterán
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?
Én csak azt nem értem, hogyha, a mostani leírásod alapján, egy lista van, azon egy elem, ami két mezőből áll, egyik a számlálót, másik az évet tartalmazza (és ez így teljesen logikus), akkor hogyan működött az eredeti kódrészleted úgy, hogy néha az egyik update futott le, néha a másik. Az eredeti kódrész ugyanis két külön listára hajt végre két külön updatet.
Egyre zavarosabb ez az egész már nekem, asszem kiszállok ebből. Öregszem vagy nem tudom, mi...
-
fordfairlane
veterán
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.
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.
Egyrészt az aszinkron végrehajtás nem a jquery jellegzetessége, hanem a javascript engineké, másrészt nincs ellenőrizetlen aszinkronitás. A két update nem várja meg egymást, de a többi sorban, egymás után kerül végrehajtásra (jól is néznénk ki, ha nem így lenne) és ez elvileg nem okozhat problémát, mivel két, egymástól független listaelemen(elemein) hajtódik végre. Ennek elvileg működnie kéne, ezért kérdeztem rá a háttérben levő dolgokra.
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.
Hogy érted azt, hogy egy mező van minden oszlopban? Úgy érzem, keverednek a fogalmak.
Hány elem (rekord) van ezeken a listákon (táblákban)? Az elemek hány mezőből (oszlopból) állnak?
-
fordfairlane
veterán
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.
Továbbra sem egyértelmű az adatszerkezet. Az eredeti hozzászólásban egy listát írtál, két oszloppal, a kód viszont két külön listát updatel. Méghozzá where feltételekkel updatel, nem ID-val, ami azt eredményezi, hogy függetlenül attól, hány elem (rekord) van az adott listán, egy lépésben az összes olyan listaelemet frissíteni fogja a megadott listán, amelyekre teljesül a where feltétel.
-
fordfairlane
veterán
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!
Nem értek a Sharepointhoz, de itt valami nagyon nem stimmel.
Ha jól látom, van egy lekérdezés Targetlistről, és két külön update. Egyik a TargetListre, egy meg valami másikra. Minek van a lekérdezés, meg az "if" feltételvizsgálat, ha az update statementek "where" feltételében ott van, hogy mik azok a rekordok, amiket módosítani kell? A lekérdezés eredménye sehol nincs felhasználva az updateknél.
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Minidisc walkman - tapasztalatok - tanácsok
- Háztartási gépek
- One otthoni szolgáltatások (TV, internet, telefon)
- Xiaomi 17 Ultra - jó az optikája
- Apple MacBook
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Parfüm topik
- Milyen videókártyát?
- Sony MILC fényképezőgépcsalád
- Napokon belül váratlan versenyzővel bővül a VGA-piac
- További aktív témák...
- Teljesen ÚJ - iPhone 17 Pro 256 GB Kártyafüggetlen - Fóliás - 0 ciklus - Apple garancia
- Intel Core ULTRA 9 285K +32GB 7600MHz Patriot Viper XTREME 5 DDR5 kit! (Bolti ár: kb 600ezer Ft!)
- RYZEN 7 5700X3D (8 mag/16 szál, 96MB L3 cache)! GARANCIA/SZÁMLA (a Te nevedre kiállítva)!
- Intel Core i3-4160, 16GB DDR3 félkonfig - Alaplap, CPU, RAM, SSD, hűtő
- 2 darab Metalica VIP Superior 2 napos jegy csere 4 darab egynaposra
- 27% - ASUS ROG CROSSHAIR X670E HERO Alaplap.
- Apple iPhone 11 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:100%
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- BESZÁMÍTÁS! MSI B760M i5 13600KF 32GB DDR5 512GB SSD RX 7800 XT 16GB DeepCool CG530 THERMALTAKE 750W
- BESZÁMÍTÁS! Acer Predator Helios 300 GAMER notebook - i7 10750H 16GB DDR4 1TB SSD RTX 3070 8GB WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
