itthon / ablakok áttekintése / Console 1s 8.3 kezelt űrlapok kérése. A Query Console használata

Console 1s 8.3 kezelt űrlapok kérése. A Query Console használata

A Query Console nagyon kényelmesen használható, ha valamilyen komplex hibakeresésre van szüksége, vagy gyorsan meg kell szereznie bizonyos adatokat.

Számos különféle konzolt találhat az interneten. A normál és a kezelt űrlapok esetében ezek általában teljesen különböző konzolok. Ennek értelmében letölthető az 1C 8.3 és 8.2 univerzális lekérdező konzol, amely mindkét esetben működik. Ne feledje, hogy a konzol be van kapcsolva kezelt felület csak vastag kliensben fogsz nyitni.

A Query Console használata

Az 1C programban a lekérdezési konzol ugyanúgy nyílik meg, mint bármely külső feldolgozás: a "Fájl" - "Megnyitás" menü vagy a "Ctrl + O" gyorsbillentyűkombináció használatával. Gyakori használat esetén a külső feldolgozáshoz is hozzáadható a információs bázis.

A kérések listája a kéréskonzol bal oldalán látható. Ez lehetővé teszi, hogy ne csak egy kérést tároljon, hanem egyszerre több kérést is. A lekérdezési fa hierarchikus felépítésű, ami nagyon kényelmes a csoportosításukhoz.

A "Hozzáadás" gombra kattintva új kérést adhat hozzá úgy, hogy saját maga ad nevet neki. Ezenkívül a beépített funkcionalitás lehetővé teszi lekérdezések létrehozását másolással, felfelé vagy lefelé történő mozgatást a listán és még sok mást.

Maga a kérés szövege a feldolgozási űrlap jobb oldalán jelenik meg. Megírható manuálisan vagy a lekérdezéskészítő segítségével. A lekérdezéskészítő csak a vastag kliensben működik.

A konstruktor gombtól jobbra található a "Lekérdezés operátorok beszúrása" gomb. Azonnal hozzáad egy üres lekérdezési struktúrát feltétellel, csoportosítással, sorrenddel és összegekkel.

A jobb oldalon nagyon hasznos gombok találhatók, amelyek segítenek, ha ezt a lekérdezést használja az 1C megoldásainak fejlesztésekor.

A gomb lehetővé teszi az Ön által írt lekérdezés szöveggé alakítását. A mi esetünkben úgy fog kinézni, mint az alábbi képen.

A kéréseket fájlba mentheti, vagy betöltheti onnan. Ez nagyon kényelmes a jövőbeni használatra.

A lekérdezés közvetlen végrehajtása előtt be kell állítania a bemeneti paramétereit (ha vannak), majd kattintson a "Lekérdezés futtatása" gombra. Itt is lehetőség van a kérések nem teljes egészében, hanem külön-külön bármilyen csomag végrehajtására.

A nézet mód határozza meg, hogy a lekérdezés eredménye hogyan jelenjen meg: lista, hierarchikus lista vagy fa.

A végrehajtás eredménye a kérési konzol alján jelenik meg. A kapott sorok számát és a végrehajtási időt is megjeleníti. Ha szükséges, áthelyezheti a lekérdezés eredményének sorait.

Nagyon gyakran arra kérik a felhasználókat, hogy válasszanak ki néhány adatot, és mentsék el azokat Excelbe. Erre is szüksége lehet. A feladat elvégzéséhez csak a „Továbbiak” menü „Display list” elemét kell kiválasztania. A program felszólítja a szükséges oszlopok megjelölésére.

A kimenet oszloplistájának beállításán kívül itt konkrét sorokat is megadhat. Ez úgy történik, hogy magában a lekérdezésben kiemeli a sorokat. Továbbá az oszlopkiválasztási űrlapon elegendő a zászlót a „Csak kiválasztott” beállításban beállítani.

Példánkban az összes lekérdezés eredményadatát megjelenítettük. Külső fájlba mentheti őket a megnyitott táblázatdokumentumból történő másolással vagy a Ctrl+O gyorsbillentyűk kombinációjával. Számos lehetőség van a formátumok mentésére, a „*” lehetőséget választottuk. xlsx".

Amint látja, a lekérdezőkonzolban dolgozni nagyon kényelmes és hasznos, ezért erősen javasoljuk a letöltését és a gyakorlatba ültetését.

Query Console 1s- Kényelmes eszköz a lekérdezések felépítéséhez és hibakereséséhez vállalati módban 1s. A Query Console használata Egy kérést hajthat végre az 1s adatbázisba, és közvetlenül a képernyőn láthatja a kérés eredményét az 1s vállalatnál. Ebben a cikkben két konzolt fogunk megvizsgálni, az egyiket az 1s 8.2-hez (normál formák), a másik pedig normál és felügyelt 1s 8.3-as formában is működhet.

Töltse le a Query Console 1s-t

A feldolgozás megkezdéséhez először meg kell tennie letöltés query console 1s, az alábbiakban letöltési linkeket adunk, de most vegyük észre, hogy az 1s kérési konzol a következő típusok valamelyikébe sorolható:

  1. Normál űrlapokhoz (1s 8.2)
  2. Kezelt űrlapokhoz (1s 8.3)
  3. Vegyes (1s 8.2 és 1s 8.3 esetén is működik)

Cikkünkben két konzolt fogunk megvizsgálni, az első csak az 1s 8.2-en (normál űrlapokon), a második pedig az 1s 8.3-on működik ( kezelt űrlapok). Kissé eltérnek egymástól, a különbségekről később lesz szó, de egyelőre megjegyezzük, hogy a felügyelt alkalmazásokban a konzol csak a "Thick Client" indítási módban fog megfelelően működni.

Töltse le az 1s kérési konzolt egy normál alkalmazáshoz 1s 8.2

Az alábbiakban egy képernyőkép a feldolgozásról, letöltheti az 1s kérési konzolt egy normál 1s 8.2 alkalmazáshoz

Töltse le az 1s kérési konzolt a felügyelt alkalmazásokhoz 1s 8.3

Ez pedig a második konzol, a képernyőképet is megtekintheti az alábbi képernyőn, a link segítségével letöltheti az 1s kérési konzolt az 1s 8.3 menedzselt alkalmazáshoz

Az 1s kérési konzol működési elveinek és főbb funkcióinak leírása normál alkalmazáshoz 1s 8.2


Ez query console 1s 8.2 normál alkalmazáshoz könnyen használható, és nem igényel különleges ismereteket a felhasználótól. A képernyőképen egy lekérdezés írására szolgáló tesztmező látható, amelybe manuálisan és a konstruktor segítségével is írhatunk lekérdezést. Az ábrán az 1-es szám alatt a "Paraméterek" gomb látható, rákattintva egy űrlapot látunk a kérés paramétereinek behelyettesítéséhez, erre később visszatérünk. A 2-es szám alatt megjelenik a munkaterület és a műveletsor magával a kéréssel, itt tudunk kéréseket hozzáadni, törölni, illetve külön fájlba menteni a lemezre. 3 in szám alatt query console 1s 8.2 van eredménykimeneti beállítás, ez megjeleníthető tábla formájában vagy hierarchikusan fa formájában, a második opciót akkor használjuk, amikor a lekérdezés eredményeként a hierarchiát kell látnunk. A 4. pont megmutatja, hogy vannak-e ideiglenes táblák a lekérdezésben, ha vannak, akkor ezeket debugolni tudjuk, és megnézzük a végrehajtás eredményét, ami egy ideiglenes táblába kerül.

Most nézzünk meg néhány egyedi pontot lekérdező konzol 1s.

Fent látható egy ablak, amelyben a paraméterek be vannak cserélve a kérésbe. A "Kéréstől" gombra kattintva megkapjuk a kérésben megadott paramétereket, most már csak be kell állítani a kívánt értékeket és be kell zárni az űrlapot. Egyébként, ha egy kérést szerkeszt, és az űrlapon korábban hozzáadott paraméterei már nem használatosak, akkor azok szürkével lesznek kiemelve. Ha sok ilyen paraméter van, akkor azokat a "Használatlan törlése" gombbal lehet eltávolítani az ablakból.

Ha vannak ideiglenes táblák a lekérdezésben, akkor külön allekérdezésekben hibakeresést végezhet, és megtekintheti az allekérdezés végrehajtásának eredményét, ha az 1c lekérdező konzol főablakában azt látjuk, hogy vannak ideiglenes táblák, akkor kattintson az "Ideiglenes" gombra. táblázatok" gombot (a főkonzol ablakának 4. pontja). Kattintás után megjelenik a fent látott ablak, amely a lekérdezés összes ideiglenes tábláját mutatja, kattintson a "Debug" gombra, és a következő ablakot fogjuk látni.

Az 1s kéréskonzol funkcióinak rövid leírása egy felügyelt alkalmazás 1s-hez 8.3

Megismerkedtünk a főbb funkciókkal query console 1s 8.2, itt az ideje átgondolni query console 1s 8.3. Ez a feldolgozás nem fogjuk olyan részletesen megvizsgálni, mint az előzőt, hanem röviden áttekintjük a fő paramétereket és beállításokat.

És gyors információ. Ebben a cikkben megpróbálom leírni, hogyan kell használni a Query Console-t, és megadom a Lekérdezőkonzol letöltéséhez szükséges hivatkozást.

Nézzük meg közelebbről ezt az eszközt.

Letöltési kérelem konzol 1C

Először is, a lekérdezőkonzol használatának megkezdéséhez le kell töltenie valahonnan. A feldolgozást általában két típusra osztják - kezelt és normál (vagy néha 8.1 és 8.2 / 8.3).

Megpróbáltam kombinálni ezt a két nézetet egy feldolgozásban - a kívánt üzemmódban megnyílik a kívánt űrlap ( felügyelt módban a konzol csak vastag módban működik).

Letöltheti az 1C 8.3 (8.2) kérési konzolt kezelt és normál űrlapokhoz a következő linkről:.

Az 1C lekérdező konzol leírása

Ha érdekli, hogyan íródnak le a lekérdezések az 1C rendszerben, javaslom, hogy olvassa el a cikket és.

Kezdjük a lekérdezési konzol vizsgálatát a fő feldolgozó panel leírásával:

A lekérdezési konzol fejlécében ezredmásodperces pontossággal láthatjuk az utolsó lekérdezés végrehajtási idejét, ez lehetővé teszi a különböző tervek összehasonlítását teljesítmény szempontjából.

A parancssor első gombcsoportja felelős az aktuális lekérdezések külső fájlba mentéséért. Ez nagyon kényelmes, mindig visszatérhet egy összetett lekérdezés írásához. Vagy például tároljon egy listát bizonyos konstrukciók tipikus példáiról.

A bal oldalon, a Kérelem mezőben új kéréseket hozhat létre és mentheti el egy fastruktúrába. A gombok második csoportja csak a kérések listájának kezeléséért felelős. Ezzel kérést hozhat létre, másolhat, törölhet, áthelyezhet.

Ingyenes 267 1C videóleckéket kaphat:

  • Kérelem futtatása- egyszerű végrehajtás és az eredmény elérése;
  • Csomag végrehajtása- lehetővé teszi az összes köztes kérés megtekintését
  • Ideiglenes táblázatok megtekintése- lehetővé teszi az ideiglenes lekérdezések által visszaadott eredmény megtekintését a táblázatban.

Kérelem paraméterei:

Lehetővé teszi a kérés aktuális paramétereinek beállítását.

A lekérdezési paraméterek ablakában a következők érdekesek:

  • Gomb Kérésre automatikusan megtalálja az összes paramétert a kérésben, a fejlesztő kényelme érdekében.
  • Zászló Egyetlen paraméter az összes kéréshez- telepítéskor a feldolgozása nem törli a paramétereket, amikor kérésről kérésre lép az általános kérések listájában.

Állítson be egy paramétert értéklistaként nagyon egyszerű, elég az érték törlése gombra (keresztre) kattintani a paraméterérték kiválasztásakor, a rendszer kéri az adattípus kiválasztását, ahol ki kell választani az "Értéklista" lehetőséget:

Szintén a felső panelen található egy gomb a lekérdezési konzol beállításainak meghívására:

Ahol megadhatja a lekérdezés automatikus mentési beállításait és a lekérdezés végrehajtási beállításait.

A kérés szövege a konzol kérés mezőjébe kerül. Ez megtehető egy egyszerű lekérdezési tesztkészlettel vagy egy speciális eszköz - a lekérdezés konstruktor - meghívásával.

A helyi menüből (jobb egérgombbal) hívható, amikor a beviteli mezőre kattintunk:

Ezen a menün is szerepelnek hasznos funkciókat, mint például a kérés megtisztítása vagy kötőjelek ("|") hozzáadása, vagy a kéréskód lekérése ebben a kényelmes formában:

Request = Új kérés; Kérés. Szöveg = " |KIVÁLASZT | Pénznemek.Referencia |FROM | Kézikönyv. Pénznemek AS pénznemek"; RequestResult = Kérelem. Execute() ;

A lekérdezési konzol alsó mezőjében megjelenik a lekérdezés eredménymezője, amelyhez ez a feldolgozás létrejött:

Ezenkívül a lekérdezési konzol a listán kívül adatokat is tud megjeleníteni fa formájában az összegeket tartalmazó lekérdezésekhez.

Kezdjük tehát egy egyszerűvel: a konfigurátorban hozzon létre egy Új feldolgozást, nevezze el Lekérdezéskonzolnak vagy Lekérdezéskészítőnek, ahogy tetszik.

Azonnal hozzáadhatunk egy táblát az "Adatok"-hoz a jövőbeni paraméterekhez, amelyekre szükségünk van, hogy a konzolunkban ne a legprimitívebb kérést futtassuk, hanem paraméterekkel és hivatkozásokkal, például a munkánkhoz kérést hozunk létre a periodikus regiszterekhez. , de itt a Parameter=&Date megadása nélkül sehol.

A Paraméterek táblánk létrehozásához az "Adatok" fülön a "Tabular part"-ban adjunk hozzá egy új táblát, nevezzük Query Parameters-nek, itt adjuk hozzá ennek a táblának az oszlopait: 1) ParameterName, string type = 25 karakter; ParameterValue, itt egy összetett adattípus, lásd az ábrát:

Ezért a képen látható módon - válassza ki az összetett típust a ParameterValue oszlophoz: a megnyíló típusok menüben jelölje be az "Összetett típus" jelölőnégyzetet, válassza ki a számot, a karakterláncot (20 karaktert adjon meg), a dátumot, a logikai értéket, és tegye be a legalacsonyabb pipa - AnyReference - azt jelenti, hogy kérésünk paramétereinek megadásakor a konfigurációnk bármely objektumára hivatkozhatunk, például könyvtárakra vagy dokumentumokra.

Most létre kell hoznunk jövőbeli Query Console-unk formáját. A feldolgozás során lépjen a "Űrlapok" fülre és adjon hozzá egy újat. Belépünk ebbe az űrlapba és máris korlátlan a kreativitás mezője - a most létrehozott két attribútumot és a táblát a paraméterekkel tetszés szerint rendezheti! Ehhez használhat szabványos űrlapelemeket, például csoportot vagy oldalt oldalakkal (ha jobban szeret lapozni.

A lényeg itt egy dolog: a "TextValues" attribútumot az űrlap bal oldali szerkesztőmezőjébe húzva ügyeljen arra, hogy a "View" = a szöveges dokumentum mezője legyen a tulajdonságai között. Lásd az ábrát:

A "QueryTable" attribútum tulajdonságainál tetszőlegesen megadhatja - "Display Grid" és "Display Headers".

Ezután a jobb oldali űrlapszerkesztő ablakban lépjen a "Parancsok" fülre, és adjon hozzá egy új gombot, amikor rákattint, a konzolunk végrehajt egy bizonyos műveletet. Készítsünk egy "Lekérdezés konstruktor" gombot, a gombhoz tetszőleges ikont adhatunk, a lényeg, hogy magát a gombot mozgassuk a bal oldali űrlapszerkesztő ablakba - hogy láthassuk. Ezután a megfelelő formában szerkesztő ablak, kattintson a jobb gombbal a gombunkra és válassza ki a tulajdonságokat - a tulajdonságokban kattintson a "Művelet" elemre, megjelenik egy modális ablak azzal a kérdéssel, hogy pontosan hol fog lefutni a programkódunk, amelyet a gombhoz rendelünk - válassza ki az „A kliensen” lehetőséget.

Az űrlapmodul megnyílik egy kész üres eljárással: "Eljáráskérés konstruktor (parancs)". Ezen az eljáráson belül leírjuk a szabványos Query Builder 1c8 hívását. Nagyon könnyű: Constructor=Új lekérdezés konstruktor; De vannak itt buktatók - a platformba épített Query Constructor CSAK vastag kliens alatt működik felhasználói módban! Ezért beillesztjük a #Ha előfeldolgozó utasítás feltételét, de itt Ön dönti el saját maga, a platformja alapján, vagy szokásos űrlapja van, akkor válassza a " ThickClientOrdinaryApplication" vagy kezelt űrlapok platformja van, akkor " ThickClientManagedApplication". lásd az ábrát.

Most már csak hozzá kell adni ehhez az eljáráshoz a kérés szövegének írásához szükséges feltételt, amelyet a Lekérdezéskészítő generál nekünk a "Szövegkérés" űrlap attribútumaiban:

Ha Constructor.OpenModally()=True, akkor Object.QueryText=Constructor.Text; EndIf;

De kézzel is módosíthatunk valamit a kérés szövegében (felhasználói módban - a "QueryText" kellékek ablakában), hogy a változtatásaink a QueryConstructorba kerüljenek, amikor újra hívják - tegyünk ide egy egyszerű feltételt:

Ha nem EmptyString(Object.QueryText) Akkor Constructor.Text=Object.QueryText; EndIf;

Ennyi, az 1c8 platformba épített Query Constructort csatlakoztattuk, nézzük a munkánkat. Ehhez futtassa az 1C:Enterprise programot vastag kliens módban az alábbi módszerek egyikével: 1) a Configurator főmenüje - Hibakeresés - StartDebugging - ThickClient; 2) vagy ha ezek a billentyűk vannak a vezérlőpulton a konfigurátorban - csak nyomja meg a sárga kört egy vastag ponttal, lásd az ábrát:

Elindul az 1sEnterprise8 felhasználói mód, megtaláljuk a feldolgozásunkat, elindítjuk, rákattintunk a "Kikérdező konstruktor" gombra és megnézzük, hogyan nyílik meg a platformba épített konstruktor. lásd az ábrát.

Tehát elindul a Request Constructor, már elkezdhetjük benne a leendő kérésünket, de kíváncsian várjuk, hogy az általunk készített kérés hogyan fog sikerülni! Ehhez pedig létre kell hoznunk egy másik gombot a konfigurátorban a konzolunk formájának szerkesztéséhez, nevezzük ezt "Run Request"-nek. A "Művelet futtatása" gomb tulajdonságaira kattintunk, ismét kiugrik a menü, amelyben megkérdezik, hogy hol lesz a programkódunk feldolgozása, ez az eset válassza a "Mind a kliensen, mind a szerveren" lehetőséget, ismét belépünk a ModuleForms-ba.

A kliensünkön található ExecuteRequest() eljárásban egy feltételt írunk, ha a felhasználó nem írta be a kérés szövegét, de kéri annak végrehajtását:

If EmptyString(Object.QueryText) Then report("Írja be a lekérdezés szövegét!"); EndIf;

A rendszer már automatikusan generált számunkra egy hivatkozást az ExecuteRequestOnServer() eljáráshoz; - ez jó, menjünk erre az eljárásra, ami a szerveren lefut, és ide írjuk be a megadott kérésünk végrehajtásához szükséges kódot.

Itt vannak lehetőségek: A lekérdezések felépítésével kapcsolatos összes kifejezést saját maga is megírhatja, pl. manuálisan, de van egy még egyszerűbb lehetőség - az eljáráson belül nyomja meg a jobb egérgombot, és a legördülő menüben válassza a "Lekérdezéskészítő eredményfeldolgozással, lásd az ábrát" lehetőséget:

Ha rákattintott a Lekérdezéskészítő eredményfeldolgozással elemre, akkor felugrik egy modális ablak "A lekérdezés szövege nem található. Újat hoz létre?", kattintson az Igen gombra. Az eredmény megkerülése. Ez az, nincs szükségünk másra innen. ennél a konstruktornál kattintson az "OK" gombra - egy modális ablak jelenik meg "Nincs mező a kérésben, kattintson az "OK" gombra.

Ezt követően az ExecuteRequestOnServer() eljárásunkon belül a következő kész üres jelenik meg:

Térjünk át a konstruktor által felépített kifejezésre:

Request.Text = "";

Request.Text =Object.QueryText;

Annyira egyszerű, hogy a feldolgozási űrlapon lévő "Kérés végrehajtása" gombunk már gyakorlatilag működik, egyelőre csak feldolgozni egyszerű lekérdezések paraméterek nélkül, de a lényeg, hogy működjön! Már csak a feldolgozási űrlap „Értéktáblázat” pontjában kell vizuálisan megjeleníteni - kérésünk eredményeit. Hadd emlékeztesselek arra, hogy az "Értéktáblázat" attribútumunk "Táblázatdokumentum" típusú, mert különben felhasználói módban nem látjuk az eredményeinket. A felhasználó mindig részt vesz a táblázatos adatok kiadásában akár egy táblázatos dokumentum, akár egy elrendezés segítségével, nagyon szeretném, ha az adatokat értéktáblázaton keresztül tudnám megjeleníteni - mivel nagyon könnyen használható és ismerős, de Sajnos az értéktáblázat csak egy eszköz, amelyre a fejlesztőnek szüksége van, nem lehet vele adatokat megjeleníteni a képernyőn ...

Nézzük meg közelebbről, mi is az a táblázatos dokumentum - olyan, mint egy Excel-lap - egy adott cellában lévő rekordhoz csak a táblázatcellák segítségével juthatunk el, itt területnek nevezzük őket, de mi magunk választhatjuk ki ennek a tartományát. terület egy adott cellába:

Tehát kitaláltuk, mi az a táblázatos dokumentum, és magunk határoztuk meg, hogy a lekérdezésből származó adatokat ennek a táblázatos dokumentumnak egy adott cellájában kell meghatároznunk. De gondoljuk át: mi az a „RequestResult”, amit a konstruktor olyan gyorsan generált nekünk? A súgó megnyitása - A lekérdezés eredménye egy táblázat, amely rendelkezik a megfelelő tulajdonságokkal! lásd az ábrát.

És ha most a QueryResult = Query.Execute(); (a konstruktor által létrehozott) kifejezés után írunk, itt van egy ilyen egyszerű ciklus a gyűjteményekhez:

Minden ColumnName From QueryResult.Columns Loop report(Oszlopnév.Név); EndCycle;

E ciklus után egyelőre nézd meg a konstruktor által automatikusan felépített összes kifejezést. És futtassa az 1C:Enterprise8-at egy vastag kliens alatt. Hozzon létre bármilyen egyszerű kérést (Használhatja a Query Builder-t - már működik nálunk) és kattintson a "Kérés futtatása" gombra:

Ekkor az ablak alján látni fogod az üzenetekben - hogy a QueryResult tábla tárolja azoknak a mezőknek a nevét, amelyeket egy egyszerű lekérdezéssel most kiválasztottunk.

Most jelenítsük meg szenvedésünk mezőinek ezeket a neveit egy táblázatkezelő dokumentumban:

Minden ColumnName From QueryResult.Columns esetén Loop Cell=Object.QueryTable.Scope(1,QueryResult.Columns.Index(Oszlopnév)+1); Cell.Text=Oszlopnév.Név; EndCycle;

A lekérdezési adatok részleteinek megjelenítéséhez töröljük a konstruktor által automatikusan létrehozott kifejezéseket, és pontosan ugyanazt a ciklust illesszük be, mint amit az oszlopnevek megjelenítésére használtunk a "SelectionDetailedRecords" cikluson belül, csak most nem a "QueryResult"-ot kell átvinnünk. táblázat adatait a Cellaszöveghez, és magának a Kijelölésnek az adatait, nézzük meg a súgóban, hogyan érheti el a lekérdezés Részletes kijelölése mezőt:

SamplingDetailRecords = QueryResult.Select(); Míg SelectionDetailedRecords.Next() Loop //az első sorban már megvannak a táblázat oszlopainak nevei, így az első sor alá töltjük be az adatokatDocumentLineNumber=Object.QueryTable.TableHeight+1; Minden ColumnName From QueryResult.Columns esetén Loop Cell=Object.QueryTable.Region(Document RowNumber,QueryResult.Columns.Index(Oszlopnév)+1); Cell.Text=SelectionDetailRecords[OszlopNév.Név]; EndCycle; EndCycle;

Ennyi, ellenőrizhetjük, betölthetjük a vállalkozást egy vastag kliens alá, megadhatunk egy egyszerű kérést paraméterek nélkül, kattintsunk a "Kérés futtatása" gombra, lásd az ábrát:

Hurrá, minden működik!!!

Nagyon kényelmes, amikor a Query Console megnyitásakor/bezárásakor ismét a "QueryText" mezőbe kerül a lekérdezési szövegünk, amellyel a konzol bezárása előtt dolgoztunk. Ehhez csak engedélyeznie kell az űrlap tulajdonságot = Automatikus mentés lásd a képet:

Minden, a konzolunk működik. Ahhoz, hogy bonyolultabb lekérdezéseket írhassunk a bennük megadott paraméterekkel, létre kell hoznunk egy másik "FindParameters" gombot, valamint a "RunQuery" gomb kódját - a "FindParameters" gomb kódja végrehajtásra kerül a kliensen és a szerveren. Továbbá a szerver eljárásban ugyanúgy elindítjuk a kérést a "QueryText" ablakból átadott szöveggel, a "Query.FindParameters()" kifejezés segítségével megkeressük az átadott paramétereket és egyszerűen beírjuk a a "QueryParameters" űrlap táblázatos része egy ciklusban. Ne felejtse el később átadni őket az elkészült paramétertáblázatból az "Execute Request" eljárásnak.

Néhány gombot is hozzáadhat a konzolunkhoz, amelyek kiürítik a Paraméterek ablakot és a Lekérdezési szöveg ablakot felhasználói módban.

A Query Console használatra kész, sikeres kreatív megoldásokat kívánunk egy olyan egyszerű és hatékony eszköz segítségével, mint a Query Console!

Ez a feldolgozás az 1s8.3 platformra íródott (felügyelt űrlapok), vastag kliens alatt fut. Az 1s8.2 platformon is írható, mint lent konvencionális formák, és ellenőrzés alatt.

A letöltésben egy minta található az általunk most létrehozott Query Console-ból.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

A Query Console frissítése:

1) Mostantól a beépített Query Builderrel rendelkező, házi készítésű Query Console bármelyik kliens alatt futni fog: normál és felügyelt űrlapok vastag kliense alatt, vékony és webes kliens alatt.

ps A beépített Query Builder formája és megjelenése eltérő - attól függően, hogy melyik kliens alatt indítottuk el a Konzolunkat.

&AtClient Procedure Query Constructor(Command) //a szabványos Query Constructor meghívása csak vastag kliens esetén lehetséges. #If ThickClientManagedApplication vagy ThickClientRegularApplication Then Constructor=New Query Constructor; Ha nem EmptyString(Object.QueryText) Akkor Constructor.Text=Object.QueryText; EndIf; Ha Constructor.OpenModally()=True, akkor Object.QueryText=Constructor.Text; EndIf; // #Egyébként // Report("A Query Builder csak vastag kliens alatt hívható meg"); // Visszatérés; //# EndIf #Else Report("A Query Buildert vékony kliens alatt futtatod - kissé eltér a formája és a teljesítménye!"); Constructor = Új kérés Constructor(); Ha nem EmptyString(Object.QueryText) Akkor Constructor.Text=Object.QueryText; EndIf; AlertConstructor = New AlertDescription("RunAfterClosingConstructor", ThisForm); Constructor.Show(ConstructorAlert); # EndIf EndProcedure &AtClient eljárás ExecuteAfterClosingConstructor(Eredmény, Konstruktorparaméterek) Export //Result=szöveg, ha a versenyt az ok gombbal zárták Object.QueryText = ShortLP(Eredmény); //művek!!! Vége eljárás

2) Hozzáadtuk az egyszerű Query Console-hoz, hogy összetett lekérdezéseket vigyünk be a paramétereknek átadott ideiglenes táblázattal!!! A mechanizmus nagyon egyszerűnek és elegánsnak bizonyult - XML-kód használata nélkül, mint a professzionális konzolokon.

Magát a kódot és az ideiglenes táblák paramétereihez való átvitel mechanizmusát a második csatolt fájlban láthatja. Az Ideiglenes táblázatok saját verziójának fejlesztése a paraméterekben megtekinthető ezen a linken: https://forum.site/forum9/topic183700/

Most hogyan kell használni a konzolt egy összetett lekérdezéssel, amikor egy ideiglenes tábla kerül átadásra a paramétereihez. Például felveheti ennek a kérésnek a kódját;

SELECT ExternalData.Product, ExternalData.Quantity PUT ExternalData FROM &ExternalData AS ExternalData; ////////////////////////////////////////////////// ////////////////////////////// SELECT ExternalData.Item, ExternalData.Quantity, ISNULL(ItemsRemains.QuantityRemains, 0) AS 1. mező , IS NULL(ItemsRemainsRemains.QuantityRemains, 0) - ExternalData.Quantity AS RemainingFROM ExternalData AS ExternalData Product

Hasonlóan a fenti lekérdezési kódhoz - létrehozhatja saját összetett lekérdezését, figyelembe véve az adatobjektumokat.

Tehát a lekérdezés konstruktorában a fenti lekérdezést a Constructor bezárásával hoztuk létre - a lekérdezés szövege a konzol "Query Text" mezőjébe esik, kattintson a "Paraméterek keresése" gombra, látjuk, hogy a karakterlánc = "Külső Adat", értéktípus \u003d "Értéktábla" jelent meg a Paraméterek táblában, lásd az ábrát.

Ebben a paramétertáblázatban - írja be a Dátum paramétert, például a mai dátumot, majd kattintson a "Külső adatok" ideiglenes tábla paraméterére a szerkesztéshez, kattintson a három pontra az "Értéktáblázat" mezőben - többféle típus Megjelenik, kattintson a sorra, a mechanizmusunk felfordítja helyettünk az űrlapot, ahol kézzel kell megadnunk ezt a nagyon ideiglenes táblát.

Itt vegyük figyelembe, hogy ebben az esetben a "TempTables" oldalon alul az "Ideiglenes táblanév a paraméterekben" mezőben - az ideiglenes táblánk neve jelenik meg (a Parameters táblából van másolva).

A "TempTables" oldalon eddig csak egy üres táblát látunk - ez a leendő ideiglenes táblánk Típusainak táblázata. A "Hozzáadás" gombbal hozzáadjuk a leendő tábla attribútumának nevét és típusát. . Legyen óvatos – a névnek és típusnak meg kell egyeznie azzal, amit a &ExternalData kérésben adtunk meg:

Most megnyomjuk az "UpdateTemporaryTable" gombot - és itt lesz egy második tábla - a "Hozzáadás" gombon keresztül közvetlenül feltöltjük az ideiglenes tábla adataival.

Ennyi, még egyszer leellenőrizhetjük magunkat, hogy beírtuk-e a lekérdezési paraméterek primitív adatait a paramétertáblázatba az 1. feldolgozási oldalon, és rákattintunk az "Execute Request" gombra - minden számít, aszerint választ a korlátozással. ideiglenes táblázatunk paraméterében továbbított adatok

ps Ha hibát követett el a részletek nevének és típusának beírása során (az első táblázatban) - csak zárja be a Konzolt és nyissa meg újra - az ideiglenes adattábla törlődik - és a Típusok tábla újra szerkeszthető és a új adattábla újra létrehozható.

Ennyi, saját kezűleg egy nagyon erős munkaeszközt készíthetünk, ráadásul a konzolunk még mindig nagyon fürge a professzionálisakhoz képest - és ez nagyon nagy plusz a fejlesztőknek! És természetesen most a konzolunk bármelyik kliens alatt működik! Sok sikert a kreatív fejlesztésekhez!!!

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Folyamatosan dolgozom a Query Console-ommal, és nemrég találkoztam egy nagyon érdekes lekérdezéssel, amelyben az ideiglenes táblák nem voltak az első helyen. kérési csomag, és a következőben - és itt egy kicsit megőrült a konzolom... Újabb frissítést kellett végrehajtania.

Tehát a lekérdezésben szereplő ideiglenes táblakezelő nem mindig érti, hogy dolgoznak vele)) Ezért kifejezetten be kell állítania ezt az ideiglenes táblakezelőt:

&OnServer eljárás ExecuteQueryOnServer() //upgrade2 - a TemporaryTable kezelő explicit meghatározása! VTMager=ÚjTempTableManager; Request = Új kérés; //upgrade2 - a TemporaryTable kezelő explicit meghatározása! Query.TempTableManager = VTMkezelő; Request.Text = Object.QueryText;

A konzol ezen verziója a harmadik rendszerindításban van.

Az 1C Enterprise 8 egyik leghatékonyabb eszköze kétségtelenül a Query Builder. A konstruktor egy vizuális eszköz az 1C nyelvű lekérdezések kezeléséhez. De a konstruktornak van egy nagy hátránya - nem mutatja a lekérdezés végrehajtásának eredményét. Ez a hiányosság különösen az 1C:Enterprise 8.3 és 8.2 platformon futó alkalmazásmegoldások kezdő fejlesztői érzik ezt.

Ezenkívül még a tapasztalt 1C programozók is gyakran találkoznak olyan helyzettel, amikor szükség van az információs adatbázis adatainak „egyszeri” elemzésére a különböző szakaszokban, de nem akarnak teljes értékű jelentést írni. ilyen „egyszeri következtetés”.

Mindezekre és sok más esetre örömmel ajánljuk Önnek külső feldolgozás Lekérdező konzol az 1C 8.3 és 1C 8.2 eredmények feldolgozásának képességével!


A Query Console főbb jellemzői az 1C 8.3 és 1C 8.2 verziókhoz:

Univerzális feldolgozás, az 1C platformok bármely konfigurációján fut: Enterprise 8.1 - 8.3;
- 1C:Enterprise módban fut;
- a lekérdezés írható kézzel, vagy hívható a Lekérdezéskészítő;
- megmutatja a kérés eredményét;
- közvetlenül a Query Console-ban adhatja meg a jelentés paramétereit;
- kérésfájlokat menthet és tölthet be.

A Query Console elindításához futtassa a konfigurációt 1C:Enterprise módban, és meg kell nyitnia a Query Console külső feldolgozását, mint bármely más lemezen tárolt fájlt. Az ilyen feldolgozás pontosan ugyanúgy fog működni, mintha az alkalmazott megoldás része lenne.


Külső feldolgozás A Query Console megismétli az ismerős felületet és a legtöbbet funkcionalitás szabványos eszközkészlet az 1C: Enterprise 8.3 és 8.2 rendszer lekérdezéseinek összeállításához. Lehetővé teszi a lekérdezések, kötegelt lekérdezések és ideiglenes táblák eredményeinek lekérését is.

A lekérdező konzol a rendszer kliens-szerver és fájlszerver üzemmódjában is lefut, vastag és vékony kliensek alatt egyaránt! A Query Console integrálja a szabványos Query Builder-t, amelyet a via-n keresztül hívnak meg helyi menü a kérelem törzs mezőjében.

FONTOS! Lekérdezés konstruktor be vékony kliens nem működik, a Constructor megnyitásához ez a menüpont nem érhető el. A vastag kliensben elérhető a Query Builder!


A vékonykliensben csak kézzel tudunk kéréseket írni, minden egyéb funkció változtatás nélkül működik.