Kapcsolatok

A szintaxis hasonló az 1c kérelemhez. Hasonló a lekérdezési feltételekhez. Érvénytelen paraméterek, mint pl

Minden hiányosság ellenére a szövegmezős keresés még mindig az egyik legnépszerűbb. String adattípusokat mindenhol találunk - nevek, számlaszámok, címek, valamint egyéb információk tárolhatók ebben a formátumban. A beépített 1C nyelvű lekérdezésekben a fejlesztők kényelme érdekében egy speciális „LIKE” operátort használnak. Ez az egyik leggyakrabban használt parancs, így szintaxisának és képességeinek alapos ismerete nélkül nehéz lesz a programozónak dolgoznia.

A LIKE operátor használatával

Mielőtt bármilyen operátort a gyakorlatban használna, világosan meg kell értenie annak célját, alkalmazási helyeit és szintaxisát. A „LIKE” 1C kérésben való használatának célja a sablonként bemutatott feltétel kielégítésének ellenőrzése. A visszatérési érték logikai típusú – igaz vagy hamis –, amely jelzi, hogy a megadott feltétel igaz-e. A LIKE operátor több helyen is használható egy lekérdezésben:

  • A „HOL” kulcsszóval jelölt feltételblokkban;
  • A Choice When Then Other End tervezésében;
  • Közvetlenül a kiválasztási mezőkben, a mező összehasonlítás eredményeként.

Az ellenőrző szintaxis mindig ugyanaz, és 3 hivatkozásból áll. A bal oldalon az ellenőrzött szövegérték, majd maga a „LIKE” operátor, a jobb oldalon pedig az ellenőrzött sablon látható. A sablonok gyors és egyszerű létrehozásához speciális szimbólumok vannak, amelyek megkönnyítik a fejlesztést:

  1. A „%” tetszőleges hosszúságú karakterek sorozata. Egyedi szavak vagy számok keresésére szolgál egy karakterláncban;
  2. „_” – tetszőleges karakter. Egyetlen karakter jelenlétének jelzésére szolgál;
  3. A „[...]” egy karaktersorozat, amelyet össze lehet hasonlítani egy karakterláncban található karakterrel. Egy ilyen minta segítségével a zárójelben szereplő karakterek egyezését ellenőrizzük. Megadhat egy szám- vagy betűtartományt is ([a-g], );
  4. A „[^...]” az előzővel ellentétes minta. A sorban megadott karakterek és a zárójelben szereplő karakterek közötti különbség ellenőrzésre kerül.

A helyes sablonok létrehozásának alapelvei jobb megértése és megértése érdekében nézzünk meg néhány példát, amelyekkel gyakran találkozhatunk a fejlesztők életében. Az első, amikor ki kell választanunk a nómenklatúra könyvtárából az összes olyan elemet, amelyek nevében a „CUTTER” szó szerepel. Ebben az esetben a LIKE-ot kell használnunk a lekérdezési feltételekben:

SELECT Nomenclature.Name AS Név FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name HASONLÓ ehhez: "% CUTTER%"

Ha mindkét „%” szimbólumot eltávolítjuk, akkor a lekérdezésben olyan termék jelenik meg, amelynek neve teljesen megegyezik az idézőjelben megadottal. Ha meghagyjuk a „CUTTER%” vagy „% CUTTER” sablont, akkor az eredmény egy listát kap az adott karakterkombinációval végződő, illetve kezdődő elemekről.


Nézzünk meg egy problémát, amely megzavarhatja a kezdő programozókat, akik nem ismerik a lekérdezés szintaxisát. Tegyük fel, hogy meg kell találnia az összes olyan elemet, amelyek nevében a „%” szimbólum szerepel. Különösen olyan esetekben, amikor lefoglalt karaktereket kell keresnie, van egy „speciális karakter” operátor. A #,\,/,~ és más karakterek speciális karakterként használhatók, ami után a fenntartott karakterek egyszerűen jelet jelölnek.

SELECT Nomenclature.Name AS Név FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name HASONLÓ ehhez: "%#%" SPECIAL CHARACTER "#"

Ha a keresésben paramétert kell használni, akkor a lekérdezésben a HASONLÓ paraméterrel rendelkező változót a rendszer az összeadás használatával használja. Ne feledje, hogy a paraméternek karakterlánc típusúnak kell lennie, különben a kérésben karakterláncra kell konvertálnia. Ez egy meglehetősen bonyolult művelet, és jobb, ha előre kizárja.

SELECT Nomenclature.Name AS Név FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name HASONLÓ ehhez: "%" + &name + "%"

A HASONLÓ funkció a platform minden verziójában alkalmazható, 8-tól kezdve, és alkalmazhatósága miatt az 1C fejlesztői nem akarnak változtatni rajta. Természetesen a szöveges keresés mindig a beírt név pontosságától függ, de továbbra is az egyik leggyakoribb. Ebben a tekintetben a professzionális 1C fejlesztőknek tanulmányozniuk kell a HASONLÓ használatát annak minden árnyalatával együtt.

MINT- Operátor egy karakterlánc mintához való hasonlóságának ellenőrzésére. A LIKE analógja SQL-ben.
Operátor MINT lehetővé teszi a tőle balra megadott kifejezés értékének összehasonlítását a jobb oldalon megadott minta karakterlánccal. A kifejezés értékének string típusúnak kell lennie. Ha a kifejezés értéke megegyezik a mintával, akkor az operátor eredménye TRUE, ellenkező esetben HAMIS.
A mintakarakterek következő karakterei szolgáltatási karakterek, és jelentésük eltér a karakterlánc karakterétől:
. % (százalék): tetszőleges számú karaktert tartalmazó sorozat
. _ (aláhúzás): egy tetszőleges karakter
. […] (egy vagy több karakter szögletes zárójelben): bármely, a szögletes zárójelben szereplő karakter
A felsorolás tartalmazhat tartományokat, például a-z, ami egy tetszőleges karaktert jelent a tartományban, beleértve a tartomány végeit is.
. [^...] (szögletes zárójelben egy tagadójel, amelyet egy vagy több karakter követ): bármely más karakter, amely nem szerepel a tagadójel után
Minden más szimbólum önmagát jelenti, és nem hordoz semmilyen további terhelést.
Ha a felsorolt ​​karakterek közül egyet önmagának kell írni, akkor ezt meg kell előznie<Спецсимвол>. Magamat<Спецсимвол>(bármely megfelelő karakter) ugyanabban az utasításban van definiálva a SPECIAL CHARACTER kulcsszó után.
Például, „%ABV[abvg]\_abv%” minta KÜLÖNLEGES KARAKTER A „\” egy karaktersorozatból álló részstringet jelent:
A betűk; B betűk; B betűk; egy számjegy; az a, b, c vagy d betűk egyike; aláhúzás; a betűk; b betűk; betűk v.
Ezenkívül ezt a sorozatot tetszőleges karakterkészlet előzheti meg.

Példák a felhasználásra:
Code 1C v 8.x Eljárás BankEndTextInput (elem, szöveg, érték, szabványos feldolgozás)
StandardProcessing = False;
//Lekérdezés a kereséssel, például "%" + mintával<Текст введенный пользователм в поле ввода> + "%"
Request = Új kérés;
Query.SetParameter("Név", "%" + Szöveg + "%");
Query.Text = "VÁLASZTÁS
| Bankok.Link
|FROM
| Directory.Banks HOGYAN Bankok
|HOL
| Banks.Name HASONLÓ &Név";

Eredmény = Query.Run();
Selection = Eredmény.Select();
Ha Eredmény.Empty() Akkor
//Nincs találat. Itt megjeleníthetsz üzenetet, vagy tehetsz mást :)
Másképp
//Nézd meg az eredményeket
tzResults = Eredmény.Unload();
//Készítsen egy olyan értéklistát, amely tartalmazza a talált elemeket.
Érték = Új értéklista();
Value.LoadValues(tzResults.UnloadColumn("Link"));
endIf;
Vége eljárás

Szükséges, hogy az „Alapértelmezett szerződések” csak a Főszerződés neveit tartalmazzák stb.:
Kód 1C v 8.x választás
Ha a név HASONLÍT a „Megállapodás száma”-hoz, akkor a „Szerződés száma” // Bármely „Szerződésszámmal” kezdődő sor megfelelő
Ha a név HASONLÍT a "Fő megállapodás%[^А-яЁе"+Symbol(33)+"-"+Symbol(126)+"№"""+Szimbólumok.PS+Szimbólumok.Tab+Szimbólumok.PF+Szimbólumok .NPP+ Symbols.VTab+"]%", majd "Default Contracts" // Bármely "Main Contract" karakterrel kezdődő sor megfelelő
Egyébként "egyéb"
Vége, mint egyfajta szerződés

Az oldalról vett információ

A HASONLÓ operátor a lekérdezésben ellenőrzi a táblázatokból származó karakterlánc-értékeket, hogy hasonlóak-e egy mintához.
Használata a következő: az ellenőrizendő karakterlánc ettől az operátortól balra, a minta pedig jobbra kerül.

Ellenőrzés után ennek megfelelően igaz vagy hamis értéket ad vissza, aktívan használják a feltételeket.
A sablon létrehozásához a következő szolgáltatáskaraktereket kell használni:

  • % (százalék) - tetszőleges számú karaktert tartalmazó sorozat
  • _ (aláhúzás) - egy tetszőleges karakter
  • […] (egy vagy több karakter szögletes zárójelben) – bármely, a szögletes zárójelben szereplő karakter
    Ezenkívül a különféle szimbólumok mellett tartományokat is használhat, például a-z(A-z), ami egy tetszőleges szimbólum jelenlétét jelenti a tartományban, beleértve a tartomány végeit is.
  • [^...] (szögletes zárójelben egy tagadójel, amelyet egy vagy több karakter követ) - a tagadójel után felsoroltaktól eltérő bármely karakter

A többi szimbólumot a rendeltetésüknek megfelelően használják.
Ha a fenti szolgáltatáskarakterek valamelyikét szimbólumként kell továbbítani, akkor azt meg kell előzni<Спецсимвол>. Magamat<Спецсимвол>(bármely megfelelő karakter) ugyanabban az utasításban van definiálva a SPECIAL CHARACTER kulcsszó után.
Például a „%ABV[abvg]\_abv%” SPECIÁLIS KARAKTER „\” minta egy karaktersorozatból álló részstringet jelent:
A betűk; B betűk; B betűk; egy számjegy; az a, b, c vagy d betűk egyike; aláhúzás; a betűk; b betűk; betűk v.
Ezenkívül ezt a sorozatot tetszőleges karakterkészlet előzheti meg.

Eljárás Válassza ki a Megállapodást, amely tartalmazza a névszöveget(mText)
//A kérésben olyan sablont fogunk használni, mint "%" + mText + "%" Request = New Request; Query.SetParameter("Név", "%" + Szöveg + "%"); Request.Text = "SELECT | Szerződések. Link, | Szerződések. Tulajdonos | FROM | Címtár. Partnerek szerződései AS Szerződések | | WHERE | Szerződések. Név HASONLÓ & Név"; Eredmény = Query.Run(); Selection = Eredmény.Select(); Report("Azok a megállapodások, amelyek a következő nevet tartalmazzák: " + mText + ", a következő szerződő felekkel rendelkeznek"); While Selection.Next() Cycle Report("Szerződés fél: " + Kiválasztás.Tulajdonos + "; Megállapodás: " + Kiválasztás. Link EndIf; EndProcedure

Operátor MINT lehetővé teszi az operátortól balra található lekérdezésben szereplő karakterlánc típusú adatok összehasonlítását az operátortól jobbra található karakterlánc típusú adatokkal. Az összehasonlítás eredménye igazra vagy hamisra értékelődik, így az összehasonlítás feltételként alkalmazható.

Az üzemeltető számára MINT Vannak speciális szolgáltatáskarakterek, amelyeket a rendszer nem karakterláncként érzékel:

  • "%" százalékszimbólum: azt jelzi, hogy tetszőleges számú karakter van egy karakterláncban
  • "[...]" egy vagy több karakter szögletes zárójelben: a felsorolt ​​karakterek bármelyikének (egyetlen) jelenlétét jelzi. Ezenkívül megadható egy karaktertartomány (például)
  • "_" aláhúzás: bármely tetszőleges karakter jelenlétét jelzi
  • "[^...]" tagadó karakter: bármely, a szögletes zárójelben megadott karaktertől eltérő karakter jelenlétét jelzi
Ha összehasonlítás céljából meg kell adnia a fenti speciális karakterek valamelyikét, akkor használja a "KÜLÖNLEGES SZIMBÓLUM" kulcsszót.

Különféle DBMS-ekkel való használat jellemzői

IBM DB2"Csak egy paraméter helyezhető el a HASONLÓ operátortól jobbra. Az egyetlen helyettesítő karakter a "_" (aláhúzás, amely bármely karaktert jelent) és a "%" (százalék, amely bármely karakter sorozatát jelenti).
DBMS használata esetén " PostgreSQL"vagy" Oracle adatbázis"a speciális karakterek "szögletes zárójelek [...]" csak akkor fogadhatók el, ha a kérés szövegében meg vannak adva, és NEM adják át paraméterként a kérésnek.

Így a fájladatbázisban a speciális karakterek mindig ugyanúgy és a kliens-szerver verzióban használt DBMS-től függően eltérően érzékelhetők.

Példa: válasszon olyan termékeket, amelyek nevében a „%” szimbólum szerepel

KIVÁLASZT | Ref.Link |FROM | Névjegyzék HOGYAN | Ref.Name LIKE "%\%" KÜLÖNLEGES KARAKTER "\"

Példa: válasszon olyan termékeket, amelyek neve a „tartály” szóval kezdődik

KIVÁLASZT | Ref.Link |FROM | Névjegyzék HOGYAN | Ref.Name HASONLÓ a "Bak%"-hoz

Példa: válasszon olyan termékeket, amelyek neve számmal végződik

KIVÁLASZT | Ref.Link |FROM | Névjegyzék HOGYAN | Ref.Name LIKE "%"

Ebben a cikkben mindent szeretnénk megbeszélni veled 1C lekérdezési nyelvi függvények, és lekérdező nyelvi konstrukciók. Mi a különbség a funkció és a design között? A függvényt zárójelekkel és a benne található lehetséges paraméterekkel hívjuk meg, a konstrukciót zárójelek nélkül írjuk. Kétségtelenül az 1C lekérdező nyelv összes struktúráját és funkcióját rugalmassá és multifunkcionálissá tenni az adatgyűjtési folyamatot. Ezek a függvények és konstrukciók a lekérdezési mezőkre vonatkoznak, és néhányuk a feltételekre is vonatkozik.

1C lekérdezési nyelvi funkciók

Mert egyértelmű leírás 1C lekérdezési nyelvi függvények sokkal kevésbé gyakori, mint a struktúrák leírása, úgy döntöttünk, hogy elkezdjük a függvények vizsgálatát. Most nézzük meg mindegyiket külön-külön, leírva a célját, a szintaxisát és a használati példáját, tehát:

1. Funkció DÁTUM IDŐ- ez a függvény egy "Dátum" típusú konstans mezőt hoz létre.

Szintaxis: DÁTUM IDŐ(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Használati példa:

2. DATE DIFFERENCE funkció- a két dátum közötti különbséget adja vissza az egyik dimenzióban (év, hónap, nap, óra, perc, másodperc). A mérés paraméterként kerül átadásra.

Szintaxis: DIFFERENCEDATE(<Дата1>, <Дата2>, <Тип>)

Használati példa:

Query.Text = "SELECT | DIFFERENCEDATE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS Napok száma";

3. VALUE függvény- beállít egy állandó mezőt egy előre meghatározott rekorddal az adatbázisból, bármilyen típusú üres hivatkozást is kaphat.

Szintaxis: VALUE(<Имя>)

Használati példa:

Request.Text = "SELECT //előre definiált elem | ÉRTÉK (Könyvtár. Pénznemek. Dollár) AS dollár, //üres hivatkozás | ÉRTÉK (Dokumentum. Áruk és szolgáltatások átvétele.EmptyLink) AS nyugta, //átutalási érték | ÉRTÉK (átutalás . Jogi magánszemély) AS magánszemély, //előre meghatározott számla ÉRTÉK (Számlatábla. Önelszámolás. Anyagok) AS Account_10" ;

4. SELECT funkció- előttünk van a kódban használt IF konstrukció analógja, csak ezt használják az 1C lekérdezésekben.

Szintaxis: VÁLASZTÁS MIKOR<Выражение>AKKOR<Выражение>MÁSKÉPP<Выражение>VÉGE

Használati példa:

Request.Text = //ha az összeg meghaladja a 7500-at, akkor 300 rubel kedvezményt kell alkalmazni, //tehát ha a feltétel aktiválódik, akkor a //függvény az Összeg - 300 értéket adja vissza //ellenkező esetben a kérés egyszerűen összeget ad vissza "KIVÁLASZT | KIVÁLASZT | AMIKOR TCR-bevételek.Összeg > 7500 | THEN TCR-bevételek.Összeg - 300 | EGYÉB TCR-bevételek.Összeg | VÉGE AS ÖsszegKedvezménnyel | FROM |

5. EXPRESS funkció- lehetővé teszi egy konstans mező kifejezését egy adott típussal.

Szintaxis: EXPRESS (Mezőnév AS Típusnév)

Használati példa:

Query.Text = "VÁLASZTÁS KÜLÖNBÖZŐ | Értékesítés.Regisztrátor.Szám, | KIVÁLASZT | WHEN Értékesítés.Regisztrátor LINK Dokumentum.Kiadás | THEN EXPRESS(Értékesítés.Regisztrátor mint dokumentum.Költség) | ELSE SELECT | WHEN Értékesítés.Regisztrátor LINK Dokumentum.Megvalósítás | THEN EXPRESS(Sales.Registrar AS Document. Implementation) |.

Van más lehetőség az EXPRESS függvény használatára vegyes típusú mezőkben, hol fordulnak elő? A legegyszerűbb példa a „Regisztrátor” bármely regiszterhez. Miért kell tehát minősítenünk a típust a regisztrátorban? Tekintsük azt a helyzetet, amikor az anyakönyvvezetőből kiválasztjuk a "Szám" mezőt, melyik táblázatból lesz kiválasztva a szám? A helyes válasz mindenkinek! Ezért, hogy a lekérdezésünk gyorsan működjön, meg kell adnunk egy explicit típust az EXPRESS függvény segítségével

Használati példa:

Query.Text = "SELECT | EXPRESS(Nómenklatúra.Megjegyzés AS sor(300)) AS megjegyzés, | EXPRESS(Nómenklatúra.Összeg AS szám(15,2)) AS Összeg |FROM | Címtár.Nómenklatúra AS Nómenklatúra";

6. ISNULL függvény(alternatív helyesírás ISNULL) - ha a mező NULL típusú, akkor azt a függvény második paraméterével helyettesítjük.

Szintaxis: NULLA(<Поле>, <ПодставляемоеЗначение>)

Használati példa:

Azt is érdemes megjegyezni, hogy a NULL típust célszerű MINDIG valamilyen értékre cserélni, mert A NULL típussal való összehasonlítás mindig FALSE-t ad vissza, még akkor is, ha a NULL értéket NULL-lal hasonlítja össze. Leggyakrabban a NULL értékek az összekapcsoló táblák eredményeként jönnek létre (minden típusú csatlakozás, kivéve a belsőket).

Query.Text = //Válassza ki a teljes tételt és egyenlegeit //ha valamelyik cikkben nincs egyenleg, akkor egy //NULL mező lesz, ami a 0 értékre lesz cserélve "SELECT | No. Link, | ISNULL (ProductsInStockRemaining, 0) AS Remaining FROM |. Directory.Nomenclature AS No.

7. REPREZENTÁCIÓ funkció- lehetővé teszi a kérés mezőjének megjelenítését.

Szintaxis: TELJESÍTMÉNY(<НаименованиеПоля>)

Használati példa:

Query.Text = "SELECT | REPREZENTÁCIÓ(FreeRemainingRemains.Nomenclature) AS Nomenklatúra, | REPRESENTATION(FreeRemaining.Warehouse) AS Raktár, | FreeRemaining.InStockRemaining |FROM |Accumulation Register.FreemainingAS FreeRemaining;FreeRemainingARemaining"

Konstrukciók az 1C lekérdezési nyelven

Fentebb megbeszéltük veled 1C lekérdezési nyelvi függvények, itt az ideje átgondolni konstrukciókat az 1C lekérdező nyelven, nem kevésbé fontosak és hasznosak, kezdjük.

1. Építés LINK- egy referenciatípus ellenőrzésére szolgáló logikai operátor. Leggyakrabban akkor fordul elő, amikor egy összetett típusú mezőt egy adott típushoz hasonlítanak. Szintaxis: LINK<Имя таблицы>

Használati példa:

Request.Text = //ha a rögzítő értéktípusa bizonylat Nyugta, //akkor a lekérdezés "Áru átvétele", ellenkező esetben "Árueladás" "SELECT | SELECT | WHEN Remaining.Registrar LINK Document.Receipt of GoodsServices | AKKOR ""Átvétel" |. "Fogyasztás" |

2. Tervezés KÖZÖTT- ez az operátor ellenőrzi, hogy az érték a megadott tartományon belül van-e.

Szintaxis: KÖZÖTT<Выражение>ÉS<Выражение>

Használati példa:

Request.Text = //a teljes nómenklatúra lekérése, amelynek kódja 1 és 100 között van "SELECT | Nomenclature.Link |FROM | Directory.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code BETWEEN 1-100" ;

3. B és B konstrukció HIERARCHIA- ellenőrizze, hogy az érték benne van-e az átvitt listában (átvihetők listaként tömbök, értéktáblázatok stb.). Az IN HIERARCHY operátor lehetővé teszi a hierarchia megtekintését (egy példa a számladiagram használatára).

Szintaxis: BAN BEN(<СписокЗначений>), HIERARCHIABAN(<СписокЗначений>)

Használati példa:

Request.Text = //válassza ki a fiók összes alszámláját "SELECT | Önfenntartó. Kapcsolja össze a fiókot Számlák. Önellátó áruk.

4. Kialakítás HASONLÓ- Ez a funkció lehetővé teszi, hogy egy karakterláncot egy karakterlánc-mintával hasonlítsunk össze.

Szintaxis: MINT "<ТекстШаблона>"

Sorminta opciók:

% - tetszőleges számú karaktert tartalmazó sorozat.

Egy tetszőleges karakter.

[...] - szögletes zárójelben szereplő egyetlen karakter vagy karaktersorozat. A felsorolás megadhat tartományokat, például a-z, ami egy tetszőleges karaktert jelent a tartományban, beleértve a tartomány végeit is.

[^...] - a szögletes zárójelben szereplő egyetlen karakter vagy karaktersorozat, kivéve a tagadójel után felsoroltakat.

Használati példa:

Query.Text = //keresse meg a teljes nómenklatúrát, amely tartalmazza a TABUR gyökeret és //kis vagy nagy t betűvel kezdődik "SELECT | Nomenclature. Link | FROM | Directory. Nomenclature AS Nomenclature | WHERE | Products. Name LIKE "" [Tt ]abur%""" ;

5. Tervezés ENGEDÉLYEZVE- ez az operátor lehetővé teszi, hogy csak azokat a rekordokat válasszuk ki az adatbázisból, amelyekhez a hívó olvasási jogosultsággal rendelkezik. Ezek a jogok rekordszinten (RLS) vannak konfigurálva.

Szintaxis: Az ALOWED a SELECT kulcsszó után van írva

Használati példa:

Request.Text = "KIVÁLASZTÁS ENGEDÉLYEZETT | Partnerek. Link | FROM | Címtár. Partnerek MINT szerződő felek";

6. Tervezés KÜLÖNBÖZŐ- lehetővé teszi olyan rekordok kiválasztását, amelyekben nincsenek ismétlődő rekordok.

Szintaxis: A SELECT kulcsszó után a VARIOUS szerepel

Használati példa:

Request.Text = //kiválasztja azokat a rekordokat, amelyekhez az olvasónak joga van "SELECT VARIOUS | Counterparties.Name |FROM | Directory. Counterparties AS Counterparties" ;

Ezenkívül a KÜLÖNBÖZŐ konstrukció használható az ALOWED operátorral és más operátorokkal.

Használati példa:

Request.Text = //különféle rekordokat választ ki, amelyekhez az olvasónak joga van "SELECT ALOWED VARIOUS | Counterpartties.Name |FROM | Directory. Counterparties AS Counterparties";

7. Tervezés ELŐSZÖR- a lekérdezés eredményéből kiválasztja a paraméterben megadott rekordok számát.

Szintaxis: FIRST<число>

Használati példa:

Request.Text = //válassza ki az első 4 CCD-számot a "SELECT FIRST 4 | CCD Numbers. Link | FROM | Directory. CCD Numbers AS CCD Numbers" könyvtárból;

8. Tervezés VÁLTOZÁSRA- lehetővé teszi az asztal zárolását, csak tranzakciókban működik (csak az automatikus zárolásoknál releváns).

Szintaxis: VÁLTOZÁSRA<НаименованиеТаблицы>

Használati példa:

Query.Text = "SELECT | Szabad Maradék Maradék. Nómenklatúra, | Szabad Maradék. Raktár, | Szabad Maradék. Raktáron Maradt | FROM | Felhalmozások nyilvántartása. Ingyenes Maradványok. Maradványok, mint szabad maradványok Maradékok | VÁLTOZTATÁSI lajstrom | Szabad Maradékok";

9. Tervezés MEGRENDELÉS- meghatározott mezők szerint rendezi az adatokat. Ha a mező hivatkozás, akkor a zászló beállításakor AUTOMATIKUS RENDELÉS A rendezés linkábrázolás szerint történik, ha a jelző ki van kapcsolva, akkor a hivatkozások a memóriában lévő hivatkozási cím rangja szerint lesznek rendezve.

Szintaxis: RENDEZÉS<НаименованиеПоля>AUTOMATIKUS RENDELÉS

Használati példa:

Query.Text = "SELECT | Free Remainings Remainings. Nomenclature AS Nomenclature, | Free Remainings Remainings. Warehouse AS Raktár, | Free Remainings Remainings. Raktáron Maradvány | FROM | Regisztráljon Felhalmozások. Szabad Maradványok. Fennmaradó AS Free Remaining Remainings BY | |. Nómenklatúra |. AUTOMATIKUS MEGRENDELÉS";

10. Tervezés GROUP BY- a lekérdezési karakterláncok meghatározott mezők szerinti csoportosítására szolgál. A numerikus mezőket minden összesítő függvénynél használni kell.

Szintaxis: CSOPORTOSÍT<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Használati példa:

Keresés .Raktár";

11. Tervezés HAVING- lehetővé teszi, hogy a WHERE konstrukcióhoz hasonlóan összesítő függvényt alkalmazzon egy adatkiválasztási feltételhez.

Szintaxis: HAJNÁL<агрегатная функция с условием>

Használati példa:

Query.Text = //csoportosított rekordokat választ ki, ahol az InStock mező nagyobb, mint 3 "SELECT | ItemsInStocks.Nomenclature AS Nomenclature, | ItemsInWarehouses.Warehouse, | SUM(ItemsInStocks.InStock) AS KÉSZLET |FROM | RegisztrálásKészletekbe | GROUP BY |. ProductsInWarehouses.Nomenclature, ProductsInWarehouse |

12. Építés INDEX BY- a lekérdezési mező indexelésére szolgál. Az indexeléssel rendelkező lekérdezések végrehajtása hosszabb ideig tart, de felgyorsítja az indexelt mezők közötti keresést. Csak virtuális táblákban használható.

Szintaxis: INDEX BY<Поле1, ... , ПолеN>

Használati példa:

Query.Text = "SELECT | Ts.NameOS, | Ts.FolderNumber, | Ts.CodeOS, | Ts.Term, | Ts.Type | PLACE DataTs | FROM | &Ts AS Ts | | INDEX BY | Ts.NameOS, | Ts .CodeOS";

13. Tervezés HOL- lehetővé teszi, hogy feltételt szabjon bármely kiválasztási mezőre. Az eredmény csak a feltételnek megfelelő rekordokat tartalmazza.

Szintaxis: AHOL<Условие1 ОператорЛогСоединения УсловиеN>

Használati példa:

Query.Text = //az összes CompensationRemaining rekord ki van választva<>0 és //AmountForCalcCompRemains > 100 "SELECT | CompensationRPORremains.Counterparty, |CompensationRPORremains.Child, | CompensationRPORremains.CompensationRemaining, | CompensationRPORremains.AmountForCalcCompRemains KompenzációRPORmarad |HOL |KártérítésRPORmarad.Kártérítés Maradvány<>0 | És CompensationRPORemains.AmountForCalcCompRemaining> 100" ;

14. Tervezési EREDMÉNYEK... ÁLTALÁNOS- az összegek kiszámítására szolgál, a terv meghatározza azokat a mezőket, amelyek alapján az összegek kiszámításra kerülnek, és az összesített függvényeket alkalmazza az összesített mezőkre. Ha az ÖSSZESEN konstrukciót követően minden mezőhöz összegeket használ, az adatok csoportosulnak. Van egy opcionális GENERAL konstrukció is, melynek használata további csoportosítást is biztosít. Az alábbiakban láthat egy példát a kérés eredményére.

Szintaxis: EREDMÉNYEK<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>ÁLTAL<ОБЩИЕ> <Поле1, ... , ПолеN>

Használati példa:

Request.Text = "SELECT | Számítások. Ügyfélszerződés. Szerződés típusa AS Szerződés típusa, | Számítások. Partneri megállapodás AS szerződés, | Számítások. Ügyfél, | Számítások. Kölcsönös elszámolási egyenleg összege AS egyenleg | FROM | Felhalmozási nyilvántartás. Kölcsönös Elszámolás Ügyfelei Egyenlegekkel |. ÖSSZESEN | ÁLTALÁNOS |

Az ábra a kérés teljesítése során kialakult csoportosításokat vázolja, a felső az ÁLTALÁNOS, a második a Partnerszerződés-szerződés típusa mezőre vonatkozik.



Tetszett a cikk? Oszd meg