Svetainės skyriai
Redaktoriaus pasirinkimas:
- Telefonų numerių numerologija, laimingi skaičiai ir jų reikšmių iššifravimas
- SKD 1S ataskaitos tipo tvarkymas SKD rodant lentelę su išdėstymu
- Naudojant funkciją isnull()
- Pedagoginių situacijų atvejai Pedagogikos atvejo užduotis
- Pratchett sargas. (vertė S. Žužunava, redagavo A. Žikarencevas) parsisiųsti fb2. Citatos iš knygos „Apsaugai! Sargybiniai! Terry Pratchett
- Profesija: informacijos saugumo specialistas
- Nomenklatūra 1s apskaitoje 8
- Apskaitos informacija 1s įmonė 8
- Kaip atsižvelgti į kompiuterines programas, antivirusines ir pagalbos sistemas Užsisakykite programinę įrangą organizacijoje
- Asmens duomenų tvarkymo principai, sąlygos ir tikslai Asmens duomenų tvarkymo įmonėje tikslai
Reklama
1c, kur lygi vertei arba nuliui. Naudojant funkciją isnull() |
27.06.2017 NULL, ISNULL() ir IS NULL 1C užklausoseKas yra NULLNULL užklausos rezultate reiškia, kad nėra reikšmės (tai nėra tuščia reikšmė, ne nulis, ne nulinė nuoroda).Pavyzdžiui, sujungus užklausos lenteles, jungiantis naudojant ryšio laukus vienoje iš lentelių reikšmės nerasta. Arba prašyme nurodomas neegzistuojantis atributas (savybė). NULL nėra tas pats, kas NULL!Jei 1C užklausoje norite nustatyti pasirinkimą (sąlygą) su NULL patikrinimu, visada bus grąžinta tokia konstrukcija kaip „WHERE VT.Field1 = NULL“. MELAS! Norėdami patikrinti, turėtumėte naudoti specialų operatorių1C užklausoje YRA NULLNorėdami patikrinti NULL reikšmę (arba dirbti su reikšmėmis), turite naudoti šią konstrukciją „WHERE VT.Field1 IS NULL“ arba kitą pavyzdį, naudokite konstrukcijoje PASIRINKIMAS"PARANKA | KAI VT.Laukas 1 YRA NULL | TAD" Verta paminėti, kad funkcija patikrinti, ar laukas yra NULL, yra viena iš daugiausiai išteklių reikalaujančių 1C užklausų funkcija. Todėl, jei norite jį naudoti užklausos sąlygomis, pagalvokite, ar galima tokį čekį pakeisti vidinis sujungimas(užklausų sujungimo tipas, kai pasirinkime lieka tik įrašai, esantys abiejose lentelėse).Funkcija ISNULL() 1C užklausojeFunkcija ISNULL() leidžia pakeisti trūkstamą reikšmę užklausos lauke nurodyta reikšme (standartinė reikšmė, stub).Pavyzdžiui, jei nėra informacijos apie prekės savikainą, nurodome ją lygią 0 (nulis) "SELECT | ISNULL(T.Price, 0) AS Price | FROM Remaining Goods AS T" IšvadaRašykite užklausas teisingai ir optimaliai. Nes blogas prašymas reiškia stabdžius ir šlykštų kodą)Sveiki. NULL tipas yra literalas, kuriame gali būti tik viena reikšmė, reikšmė "NULL". Naudojamas dirbant su duomenų baze (sujungiant lenteles), naudojamas trūkstamai reikšmei nustatyti dirbant su duomenų baze. NULL tipo reikšmės susidaro dėl sujungimų, kai elementas iš vienos lentelės neturi atitinkamo elemento iš kitos. NULL tipo reikšmė turi specifinių savybių: Norėdami nustatyti reikšmę NULL, naudokite konstrukciją IS NULL (yra NULL). Norint iškirpti laukus, kuriuose yra NULL reikšmės dėl užklausos, naudojamos šios konstrukcijos: - is not NULL - not is NULL PavyzdžiaiNULL reikšmės tikrinimo pavyzdys PASIRINKITE katalogą. Nomenklatūra. Vardas, katalogas. Nomenklatūra. PurchasingPrice WHERE katalogas. Nomenklatūra. Pirkimo kaina Taip NULL Funkcijos ISNULL() pavyzdys Pagarbiai 1C programuotojas. 1C užklausų kalba yra vienas iš pagrindinių 7.7 ir 8 versijų skirtumų. Vienas iš svarbiausių dalykų mokantis 1C programavimo yra užklausos kalba. 1C 8.3 versijoje užklausos yra galingiausias ir efektyviausias įrankis duomenims gauti. Užklausos kalba leidžia patogiai gauti informaciją iš duomenų bazės. Pati sintaksė labai primena klasikinį T-SQL, išskyrus tai, kad 1C, naudojant užklausos kalbą, duomenis galite gauti tik naudodami konstrukciją Select. Kalba taip pat palaiko sudėtingesnes konstrukcijas, pavyzdžiui, (užklausa užklausoje). 1C 8 užklausos gali būti parašytos ir kirilica, ir lotynų kalba. Šiame straipsnyje pabandysiu pakalbėti apie pagrindinius raktinius žodžius 1C užklausos kalba:
Taip pat keletas mažų 1C kalbos gudrybių, kurias naudodami galite optimaliai sukurti užklausos tekstą. Norėdami derinti užklausas 1C 8.2 sistemoje, pateikiamas specialus įrankis - užklausų konsolė. Aprašymą galite pamatyti ir atsisiųsti naudodami nuorodą -. Pažvelkime į svarbiausius ir įdomiausius 1C užklausos kalbos operatorius. PASIRINKTI1C Enterprise 8 užklausos kalba bet kuri užklausa prasideda raktiniu žodžiu PASIRINKTI. 1C kalboje nėra UPDATE, DELETE, CREATE TABLE, INSERT konstrukcijų; šios manipuliacijos atliekamos objektų technologijoje. Jo tikslas yra tik skaityti duomenis. Pavyzdžiui:
Užklausa pateiks lentelę su elementų pavadinimais. Šalia konstrukcijos PASIRINKTI galite rasti raktinių žodžių DĖL POKYČIŲ, LEIDŽIAMAS, ĮVAIRUS, PIRMAS … LEIDŽIAMAS— iš lentelės pasirenka tik tuos įrašus, į kuriuos dabartinis vartotojas turi teises. ĮVAIRUS— reiškia, kad rezultate nebus pasikartojančių eilučių. PASIRINKIMAS (ATVEJIS)Labai dažnai šį dizainą programišiai neįvertina. Jo naudojimo pavyzdys:
Pavyzdys pateiks teksto reikšmę lauke „Prekės tipas“ – „Produktas“ arba „Paslauga“. KUR1C užklausos kalbos dizainas, leidžiantis pasirinkti gautus duomenis. Atkreipkite dėmesį, kad sistema gauna visus duomenis iš serverio ir tik tada parenkama pagal šį parametrą.
Pavyzdyje pasirenkame įrašus, kurių atributo „Paslauga“ reikšmė nustatyta į „True“. Šiame pavyzdyje galėtume išsiversti su tokia sąlyga:
Iš esmės mes pasirenkame eilutes, kuriose po raktinio žodžio esanti išraiška yra lygi „Tiesa“. Išraiškose galite naudoti tiesiogines sąlygas:
Sąlygose naudodami operatorių „VALUE()“, naudokite prieigą prie iš anksto nustatytų elementų ir išvardijimo 1C užklausoje:
Laiko reikšmės gali būti nurodytos taip:
Dažniausiai sąlygos nurodomos kaip parametrai, perduodami užklausai: Gaukite 267 vaizdo įrašų pamokas 1C nemokamai:
Atributo tipui gali būti nustatyta sąlyga, jei jis yra sudėtinio tipo: Jei reikia apriboti pasirinkimą iš reikšmių sąrašo arba masyvo, galite atlikti šiuos veiksmus:
Būklė taip pat gali būti sudėtinga, susidedanti iš kelių sąlygų:
GRUPUOTI PAGAL1C 8.2 užklausos kalbos, naudojamos rezultatui sugrupuoti, dizainas. Pavyzdžiui:
Šioje užklausoje visi kvitai bus apibendrinti pagal sumą ir kiekį pagal prekes. Be raktinio žodžio SUMA Galite naudoti kitas agregavimo funkcijas: KIEKIS, SKIRTINGŲJŲ SKAIČIUS, MAKSIMALUS, MINIMUMAS, VIDUTINIS. TURIMASDizainas, kuris dažnai pamirštamas, bet labai svarbus ir naudingas. Tai leidžia nurodyti pasirinkimą suminės funkcijos pavidalu, to negalima padaryti projektuojant KUR. HAVING naudojimo 1C užklausoje pavyzdys:
Taigi atrinksime prekių, kurių atkeliavo daugiau nei 5 vnt., skaičių. REIKŠMĖ ()Pavyzdžiui:
TYPE užklausojeDuomenų tipą galima patikrinti naudojant TYPE() ir VALUETYPE() funkcijas arba loginį REFERENCE operatorių. EXPRESS ()„Express“ operatorius 1C užklausose naudojamas duomenų tipams konvertuoti. Sintaksė: EXPRESS(<Выражение>KAIP<Тип значения>) Naudodami jį galite konvertuoti eilučių reikšmes į datą arba nuorodines reikšmes į eilutės duomenis ir pan. Praktikoje neriboto ilgio laukams konvertuoti labai dažnai naudojamas Express() operatorius, nes neriboto ilgio laukų negalima pasirinkti, sugrupuoti ir pan. Jei tokie laukai nekonvertuojami, gausite klaidą Negalite lyginti neriboto ilgio laukų ir nesuderinamų tipų laukų.
ISNULL (ISNULL)Gana naudinga 1C užklausos kalbos funkcija, kuri tikrina įrašo reikšmę ir ar ji lygi NULL, Tai leidžia jį pakeisti savo verte. Dažniausiai naudojamas gaunant virtualias likučių ir apyvartų lenteles, siekiant pasislėpti NULL ir padėkite aiškų 0 (nulis).
Tokia 1C užklausos kalbos funkcija ISNULL grąžins nulį, jei nėra reikšmės, todėl bus išvengta klaidos. PRISIJUNKYra 4 jungčių tipai: KAIRĖ, TEISINGAI, PILNAS, VIDINIS. KAIRĖS ir DEŠINĖS PRIJUNGIMASSujungimai naudojami susieti dvi lenteles pagal konkrečias sąlygas. Funkcija kada KAIRĖ PRISIJUNGTI yra tai, kad imame visą pirmąją nurodytą lentelę ir sąlyginai susiejame antrąją lentelę. Antrosios lentelės laukai, kurių negalima susieti su sąlyga, užpildomi reikšme NULL. Kairiojo prisijungimo 1C užklausoje pavyzdys: Jis grąžins visą lentelę ir užpildys lauką „Bankas“ tik tose vietose, kur tenkinama sąlyga „Counterparties.Name = Banks.Name“. Jei sąlyga neįvykdyta, laukas Bankas bus nustatytas į NULL. RIGHT JOIN 1C 8.3 kalba absoliučiai panašus KAIRĖS jungtis, išskyrus vieną skirtumą: in PRIJUNGIMO TEISĖ„Pagrindinė“ lentelė yra antra, o ne pirmoji. PILNAS PRIJUNGIMASPILNAS PRIJUNGIMAS skiriasi nuo kairės ir dešinės tuo, kad rodo visus įrašus iš dviejų lentelių ir jungia tik tuos, kuriuos gali sujungti pagal sąlygą. Pavyzdžiui:
Užklausos kalba abi lenteles pateiks visiškai, tik jei bus įvykdyta sąlyga Sujungti įrašus. Skirtingai nuo kairiojo / dešiniojo sujungimo, NULL gali būti rodomas dviejuose laukuose. VIDINIS PRISIJUNGIMASVIDINIS PRISIJUNGIMAS skiriasi nuo pilno tuo, kad rodo tik tuos įrašus, kuriuos būtų galima prijungti pagal tam tikrą sąlygą. Pavyzdžiui:
Ši užklausa pateiks tik tas eilutes, kuriose bankas ir sandorio šalis turi tą patį pavadinimą. IšvadaTai tik nedidelė 1C 8 užklausų kalbos sintaksės dalis; ateityje pasistengsiu išsamiau apsvarstyti kai kuriuos dalykus, parodyti ir dar daugiau! NULL– trūkstamų vertybių. NULL yra tipą formuojanti reikšmė, t.y. yra tipas NULL ir viena šio tipo reikšmė. NULL reikšmės užklausoje rodomos šiais atvejais: YRA NULL naudojamas operatoriuje SELECT (tarsi tikrinant, ar reikšmė tuščia (reikšmė NULL)): Funkcija ISNULL(reikšmė, ResultIfNULL) grąžina pirmojo parametro reikšmę, jei ji nėra NULL, ir antrojo parametro reikšmę, jei ji nėra ISNULL skiriasi nuo CHOICE dėl šių priežasčių: Negalite patikrinti NULL verčių naudodami įprastą lygybę, nes SQL naudoja trijų reikšmių logiką - True, False, NULL, o tokio palyginimo rezultatas bus NEŽINOMA, o tai 1C 8.0 yra panašus į FALSE. Dėmesio! Tai įvadinė pamokos versija, kurios medžiaga gali būti neišsami. Prisijunkite prie svetainės kaip studentas Prisijunkite kaip mokinys, kad galėtumėte pasiekti mokyklos medžiagą Užklausos kalba 1C 8.3 pradedantiesiems programuotojams: funkcijos ir operatoriai, skirti dirbti su tipais (VALUE TYPE, TYPE, REFERENCE, ISNULL, EXPRESS)Prisiminkime, kad kiekvienas katalogo, dokumento ar bet kurio kito taikomosios programos objekto atributas (ypatybė, laukas) turi savo tipą. Ir mes galime pažvelgti į šį tipą konfigūratoriuje: Užklausos kalboje yra visa klasė funkcijų ir operatorių, skirtų darbui su detalių tipais. Pažiūrėkime į juos. VALUE TYPE funkcijaŠi funkcija paima vieną parametrą (reikšmę) ir grąžina jo tipą. Paveikslėlyje aprašytiems rekvizitai (aukščiau) Skonis katalogas Maistas bus grąžinta: Dabar pažiūrėkime į rekvizitus Išskirtinis bruožas kataloge Miestai: Matote, kad šis rekvizitas gali būti vienas iš kelių tipų: Linija, Katalogas.Skoniai, Katalogas.Spalvos. Tokio tipo detalės vadinamos KOMPOZITINE. Jei bandysime užpildyti tokios detalės reikšmę režimu 1C:Enterprise, sistema paklaus, kokio tipo vertė bus įvesta: Ir tik po mūsų pasirinkimo galėsime įvesti pasirinkto tipo reikšmę. Taigi, to paties tipo katalogo elementai ( Katalogas.Miestai) galės saugoti tame pačiame atribute ( Išskirtinis bruožas) skirtingų tipų vertės (stygos, spalvos arba skoniai). Tuo galite įsitikinti patys spustelėję katalogo elementus Miestai 1C: įmonės režimu. Skaitote bandomąją pamokos versiją, yra visos pamokos. Čia skiriamoji požymio reikšmė yra katalogo elementas Skoniai: Štai eilutė: Ir čia apskritai yra žinyno elementas Spalvos: Tai yra galimybės, kurias mums atveria sudėtinis duomenų tipas! Įdomu, kaip elgsis funkcija TIPO VERTĖS ant butaforijos Išskirtinis elementas, turintys sudėtinį duomenų tipą: Tai jau labai įdomu. Pažvelkime į kiekvieną eilutę atskirai. Elemento Rusija skiriamojo požymio vertės tipas yra lygus NULL. Su tokiu tipu susiduriame pirmą kartą. Šio tipo reikšmės naudojamos tik trūkstamai vertei nustatyti dirbant su duomenų baze. Tai tiesa, nes Rusijos elementas yra grupė, o ne įprastas katalogo elementas Miestai, todėl jis neturi lauko Išskirtinis bruožas. Ir trūkstamos reikšmės tipas, kaip skaitėme aukščiau, visada yra lygus NULL. Permės skiriamojo požymio vertės tipas yra lygus Skoniai. Tai tiesa, nes į duomenų bazę Permės miestui įvesto skiriamojo požymio reikšmė yra nuoroda į katalogo elementą Skoniai. Krasnojarskui atributo tipas yra lygus Spalvos, nes duomenų bazėje pasirinkta reikšmė yra nuoroda į katalogo elementą Spalvos. Voronežui atributo tipas yra lygus Linija, nes į duomenų bazę įvesta reikšmė yra įprasta eilutė. Indija vėl yra grupė, todėl nėra jokios reikšmės. Ir trūkstamos reikšmės tipas, kaip prisimename, yra lygus NULL. Štai toks dalykas. Jei einate į katalogo elementą Miestai su vardu San Paulas, tada pamatysite tą lauką Išskirtinis bruožas visiškai neužpildytas. Jis tuščias. A visi tušti sudėtinio tipo laukai turi ypatingą reikšmę NEAPIBRĖŽTAS . SU NEAPIBRĖŽTAS taip pat susiduriame pirmą kartą. Reikšmė NEAPIBRĖŽTAS naudojamas, kai reikia naudoti tuščią reikšmę, kuri nepriklauso jokiam kitam tipui. Būtent tokia mūsų situacija. Ir vertės tipas NEAPIBRĖŽTAS, kaip tikriausiai jau atspėjote, yra lygus NULL. Funkcija TYPETam reikia tik vieno parametro - primityvaus tipo pavadinimo ( LINIJA, NUMERIS, DATA, BOLIO) arba lentelės, kurios nuorodos tipą norite gauti, pavadinimą. Šios konstrukcijos rezultatas bus tipo tipo reikšmė nurodytam tipui. Skamba neaiškiai, ar ne? Pažvelkime į šio dizaino pritaikymą ir viskas iškart atsidurs savo vietose. Tarkime, kad turime pasirinkti visus katalogo įrašus Miestai, kurie turi sudėtinius rekvizitus Išskirtinis bruožas turi tipo reikšmę LINIJA: Dabar pažymėkime visus įrašus, turinčius atributų reikšmes Išskirtinis bruožas yra nuorodos į katalogo elementus Spalvos(lentelė Katalogas.Spalvos): AtsitrauktiKaip prisimenate, kai kurie katalogo elementai Miestai neturi butaforijos Išskirtinis bruožas. Funkcija TIPO VERTĖS tokiems elementams ji gamina NULL. Kaip galite pasirinkti tokius elementus užklausoje? Tam numatytas specialus loginis operatorius YRA NULL(nepainioti su funkcija ISNULL, kurią apžvelgsime toliau). Skaitote bandomąją pamokos versiją, yra visos pamokos. Štai jo naudojimo pavyzdys: Puiku. Bet ar pastebėjote, kad nėra San Paulo, butaforijos vertės tipo elemento Išskirtinis bruožas kurį taip pat išdavė NULL. Kodėl taip atsitiko? Bet reikalas tas, kad situacija grupėms (Rusija, Indija, Brazilija), kurioms pildant detales Išskirtinis bruožas iš principo neįmanoma, nes jie jo visai neturi, skiriasi nuo situacijos San Paulo elementui, kuriam galima užpildyti rekvizitus, bet jis tiesiog neužpildytas ir prilygsta, kaip prisimename, ypatinga vertybė NEAPIBRĖŽTAS. Norėdami pasirinkti visus reikiamus įrašus Išskirtinis bruožas esama, bet neužpildyta, turėtų būti naudojama kita konstrukcija: Tačiau palyginimas su UNEFINED, siekiant nustatyti tuščius (neužpildytus) atributus, veiks tik sudėtiniams tipams. Beje, loginis operatorius IS NULL turi neigimo formą, kuri atrodo taip: Loginis operatorius LINKPavyzdžiui, pasirinkime iš katalogo Miestai tik tie įrašai, kurie turi sudėtinio atributo reikšmę Išskirtinis bruožas yra nuoroda į katalogo elementą Skoniai: Kaip prisimenate, tą pačią problemą galime išspręsti naudodami TIPO VERTĖS Ir TIPAS: Funkcija ISNULLFunkcija skirta pakeisti reikšmę NULLį kitą prasmę. Mes prisimename, kad prasmė NULL grąžinama, jei prašomo atributo (lauko, ypatybės) nėra. Pavyzdžiui, rekvizitai Išskirtinis bruožas katalogų grupėms Miestai: Funkcija ISNULL padės mums išvesti kitokią reikšmę, jei ši vertė yra lygi NULL. Skaitote bandomąją pamokos versiją, yra visos pamokos. Tebūnie šiuo atveju eilutė "Tokio rekvizito nėra!": Pasirodo, jei pirmasis funkcijos parametras ISNULL nėra lygus NULL, tada jis grįžta. Jei jis yra NULL, tada grąžinamas antrasis parametras. EXPRESS funkcijaŠi funkcija skirta tik laukams, kurių tipas yra sudėtinis. Puikus tokios srities pavyzdys yra nuosavybė Išskirtinis bruožas katalogo elementams Miestai. Kaip prisimename, sudėtiniai laukai gali būti vienas iš kelių tipų, nurodytų konfigūravimo priemonėje. Laukui Išskirtinis bruožas tokie galiojantys tipai yra LINIJA, Katalogas.Spalvos Ir Katalogas.Skoniai. Kartais tampa būtina sudėtinio lauko reikšmes perkelti į konkretų tipą. Išvardykime visas lauko reikšmes Išskirtinis bruožas rinkti tekstą Nuoroda.Spalvos: Dėl to visos elementų vertės, kurios buvo tipo Katalogas. Spalvos, liko užpildyti ir buvo konvertuoti į nurodytą tipą. Visos kitų tipų reikšmės ( LINIJA, Katalogas.Skoniai) dabar yra lygūs NULL. Tai yra tipo liejimo naudojant funkciją ypatumas EXPRESS. Tipą galite perkelti į primityvų tipą ( BOLIO, NUMERIS, LINIJA, DATA) arba į atskaitos tipą. Skaitote bandomąją pamokos versiją, yra visos pamokos. Tačiau tipas, kuriam atliekama liejimas, turi būti įtrauktas į šio sudėtinio lauko tipų sąrašą, kitaip sistema išmes klaidą. Atlikite testąPradėti testą 1. Pasirinkite teisingiausią teiginį 2. Iškviečiamos detalės, kurios gali turėti vienos iš kelių tipų reikšmes 3. Norėdami nustatyti atributo vertės tipą, naudokite funkciją 4. Tuščios sudėtinio tipo detalės yra svarbios |
Skaityti: |
---|
Populiaru:
Nauja
- SKD 1S ataskaitos tipo tvarkymas SKD rodant lentelę su išdėstymu
- Naudojant funkciją isnull()
- Pedagoginių situacijų atvejai Pedagogikos atvejo užduotis
- Pratchett sargas. (vertė S. Žužunava, redagavo A. Žikarencevas) parsisiųsti fb2. Citatos iš knygos „Apsaugai! Sargybiniai! Terry Pratchett
- Profesija: informacijos saugumo specialistas
- Nomenklatūra 1s apskaitoje 8
- Apskaitos informacija 1s įmonė 8
- Kaip atsižvelgti į kompiuterines programas, antivirusines ir pagalbos sistemas Užsisakykite programinę įrangą organizacijoje
- Asmens duomenų tvarkymo principai, sąlygos ir tikslai Asmens duomenų tvarkymo įmonėje tikslai
- Paskolos internetu Kazachstane – geriausi pasiūlymai