itthon / Kereset / 1s uv standard választás időszaki négyzet. A tárolórendszeren meghatározott gyakorisággal készítünk jelentést

1s uv standard választás időszaki négyzet. A tárolórendszeren meghatározott gyakorisággal készítünk jelentést

Hozzunk létre egy jelentést egyetlen lekérdezési adatkészlettel:

TERMÉKEK KIVÁLASZTÁSA A RAKTÁROKBAN Maradt. Raktár, ÁrukRaktárokban Maradványok. Nómenklatúra, Raktárban maradt termékek. Mennyiségegyenleg a felhalmozási nyilvántartásból. TermékekRaktárokban. Maradványok (&MyDate,) AS TermékekRaktárokban Maradványok

Most menjünk a paraméterek lapra, és nézzük meg, hogy a rendszer a &Saját dátum paraméterünkön kívül létrehozta a &Period paramétert is.
Az időszakok vizuális követése érdekében létrehozunk egy fő jelentési űrlapot, és elhelyezünk egy táblázat mezőt az adatokkal: Beállítások Composer.Settings.DataParameters

Mentsük el a jelentést és nyissuk meg a vállalatban. A paramétereket tartalmazó táblázat mezőben csak az &Időszak paraméter jelenik meg:

Ennek megfelelően ezen paraméter bármilyen változtatása nem hozza meg a kívánt eredményt.

Miért nem érhető el a &MyDate paraméter? Természetesen, mert a paraméterek fülön van egy jelölőnégyzet bejelölve Elérhetőségi korlátozás.

Törölje a jelölőnégyzet jelölését. Most mindkettőt látjuk az elérhető paraméterekben. Csak a jelentés létrehozásakor fogjuk látni, hogy a jelentés a &Időszak paraméterre reagál, és nem a &Saját dátumra.

Ebben a példában a legegyszerűbb, ha a kérésben szereplő &Saját dátum paramétert átnevezi &Időpontra, és eléri a kívánt eredményt. De lehet, hogy van olyan lekérdezése, amelyben a &Period paramétert már használták, vagy a vallási nézetei nem teszik lehetővé ennek a paraméternek a használatát, mindenesetre a következőképpen oldhatja meg a problémát:

TERMÉKEK KIVÁLASZTÁSA A RAKTÁROKBAN Maradt. Raktár, ÁrukRaktárokban Maradványok. Nómenklatúra, Raktárban maradt termékek. Mennyiségegyenleg a felhalmozási nyilvántartásból. TermékekRaktárokban. Maradványok((&SajátDátum) ,) AS TermékekRaktárokban Maradványok

UPD a felhasználótól Lehurrogás:

A „standard” (rendszerhez hozzáadott) paraméterek használatakor a fő probléma az, hogy több virtuális tábla használatakor egy jelentésben, ha ez a paraméter definiálva van, akkor minden más esetben ennek értéke kerül felhasználásra a „saját” helyett.

Hadd mondjak egy példát:

SELECT EmployeesSP.Employee, WorkersSP.ReasonChangesConditions, WorkersSP.Period, WorkersSPAnotherDate.Period AS Period2, WorkersSPAnotherDate.ReasonChangesStates AS ReasonChangesCondition2 FROM RegisterInformation.EmployeesLasm&S(SliceOrganizationst) alkalmazottak JV BAL KAPCSOLAT Információk nyilvántartása.Szervezetek alkalmazottai.Slice of the Latest(&OtherDate ,) AS EmployeesSPANOtherDate BY EmployeesSP.Employee = EmployeesSPANOtherDate.Employee

A második allekérdezésben a „standard” PERIOD paraméter értéke lesz a szelet dátuma paraméter, nem pedig az OtherDate érték.

Ez a „hiba” akkor is megfigyelhető, ha a második részlekérdezést a második adatkészlethez adják ki, és az ACS segítségével összekapcsolják. A második kérésben az „ADDATE(&Időszak, HÓNAP, -1)” kifejezést használó opció szintén nem működik, a hónap nem kerül kivonásra. De a „Period” paraméter átnevezése a kérelemben például „FirstDate”-re megoldja ezt a problémát.

Egyébként pontosan ugyanez a probléma figyelhető meg a felhalmozási és számviteli regiszterek virtuális tábláinál, amelyek például a forgalom megállapítására szolgálnak. Itt a rendszer hozzáadja a „Period kezdete” és „Időszak vége” paramétereket.
Tehát a még kissé megnövekedett összetettségű kérések esetén is célszerű kikapcsolni a rendelkezésre állást és a „standard időszakok” használatát.

Jó napot kívánok a blogoldal kedves olvasói! Az utolsó cikkben megtudtuk, miért van szükség ezekre a szerepekre. És ma, e cikksorozat második részében megvizsgáljuk szerepkör beállítása az „Időszak” tulajdonsággal, és vegyen példákat e szerepek betöltésére. A maradékot az „Időszak” szerepkörű mező segítségével számítja ki. Akárcsak a terepen a „Dimenzió” szerepkörrel, amiről máskor is szó lesz. Szóval, kezdjük!

Hozzunk létre egy új jelentést:

  1. A Konfigurátorban válassza ki a „Fájl” – „Új” – „Külső jelentés” menüpontot.
  2. Kattintson az „Adatösszetételi diagram megnyitása” gombra. A megnyíló párbeszédpanelen kattintson a „Befejezés” gombra.
  3. Most hozzunk létre egy, amely hozzáfér a "Felhalmozási regiszterek" virtuális táblához.
  4. Kattintson a jobb gombbal az „Adatkészletek” csomópontra, és válassza az „Add Set – Query” sort.
  5. Most kattintson a „Lekérdezéskészítő” gombra. Válasszuk ki a „GoodsInWarehousesRemainsAndTurnover” felhalmozási regisztert (USP konfiguráció).
  6. Nyissuk meg a „Virtual Table Parameters” párbeszédablakot, és jelezzük, hogy az „Auto” periodicitást használjuk, azaz több periódus megadására is lehetőség nyílik.

Most állítsuk be a kimeneti mezőket. Legyenek ezek a következő mezők: „Regisztrátor”, „IdőszakHónap”, „Nómenklatúra”, „Minőség” és egyenlegadatok. A mező hozzáadásához kattintson duplán a bal egérgombbal a kívánt mezőre, vagy használja a „>” gombot. A mezők hozzáadása után kattintson az „OK” gombra.

Kérjük, vegye figyelembe, hogy egyes mezőkben a „Period” tulajdonságú szerepkör automatikusan konfigurálva van.

Nézzük, mi létezik szerepkör beállításai az „Időszak” tulajdonsághoz. Először az időszak sorszámát kell feltüntetni. A számozásnak folyamatosnak kell lennie, egytől kezdve, a legalacsonyabb időszakoktól a legmagasabbig, azaz először lesz például a sorszám, majd a „Rögzítő”, majd a második, nap, hét, hónap, negyedév, év.

Így a kérésünkben megjelenő mezőket számozni kell. Figyeljük meg, hogy két időszak mezőnk van: "Regisztrátor" és "Időszakhónap". Az alsó mező a „Regisztrátor”, hozzá van rendelve egy, a felső mező pedig a „Időszak hónap”, ehhez kettő van hozzárendelve. Ezzel a következő cikkben részletesebben is foglalkozunk.

Állítsuk össze a jelentésünket:

  1. Lépjünk az „Erőforrások” fülre, és határozzuk meg a jelentésünk forrásait.
  2. Kattintson a „>>” gombra az összes erőforrás mező kiválasztásához.
  3. Most menjünk a „Beállítások” fülre, és hozzunk létre egy beállítást lista formájában.
  4. Kattintson az „Adatösszetétel-beállítások tervezője” gombra (a gomb varázspálca formájában).
  5. Jelentés típusa: "Lista". Kattintson a „Tovább” gombra.
  6. Állítsuk be a kimeneti mezőket a ">>" gombra kattintva. Rendezzük őket így: „IdőszakHónap”, „Nómenklatúra”, „Minőség”, „Regisztrátor”.
  7. Kattintson a „Tovább” gombra, és állítsa be a csoportosítást. A csoportosítást a következő sorrendben fogjuk felállítani: „IdőszakHónap”, „Nómenklatúra”, „Minőség”. A „Regisztrátor” csoportosítás részletes nyilvántartások formájában jelenik meg.
  8. Kattintson az „OK” gombra.

Nyissuk meg a beszámolónkat. Ha ezt a jelentést futtatjuk, akkor látni fogunk néhány funkciót az egyenlegek fogadásakor. Ha alaposan megnézi a jelentés eredményét, azonnal számos hibát észlel. Valamilyen oknál fogva a vállalat tevékenységi időszakának legelején van egy kezdeti egyensúly.

És ez a hiba az egyenlegek regisztrátortól való fogadásának jellemzőjéhez kapcsolódik. Annak érdekében, hogy ezek az egyenlegek helyesen jelenjenek meg, hozzá kell adni egy további mezőt a kérelem kimeneti mezőihez - a „PeriodSecond” mezőt. A „PeriodSecond” mező hozzáadásához nyissa meg a jelentést a Konfigurátorban, és kattintson az „Adatösszetételi séma megnyitása” gombra. Most kattintson a „Query Builder” gombra, és adja hozzá a „PeriodSecond” elemet. Ebben az esetben a „Regisztrátor” mező marad az időszak első mezője, a „PeriodSecond” a második, a „PeriodMonth” pedig a harmadik.

Mire való a második? Az adatalkotó rendszer számítással számolja ki az egyenlegeket, és ahhoz, hogy egyértelműen meghatározza a rögzítő helyzetét az időtengelyen, nem elegendő magának a rögzítőnek a hivatkozása, szükség van egy másodpercre is, vagyis ennek a rögzítőnek a dátumára, és akkor az elrendezési rendszer számítással tudja majd elérni a helyes egyensúlyt. Ha megadjuk a mezők helyes sorrendjét, és újra elkészítjük a jelentést, akkor a következőt kapjuk:

Most már nem maradt egyensúly a Plinth nómenklatúra szerinti tevékenységek megkezdésére. Aztán a következő periódusra ez egybeesik a végső mérleggel, vagyis valóban korrekt eredményt látunk. Az alábbi linkről letölthet egy példajelentést. Tetszett a cikk? Mit lehet változtatni, mit lehet hozzáadni? Nyugodtan oszd meg róla kommentben!

A cikk végén szeretnék ajánlani egy ingyeneset Anatolij Szotnyikovtól. Ez a tanfolyam egy tapasztalt programozótól. Külön bemutatja, hogyan kell jelentéseket készíteni a beléptető rendszerben. Csak figyelmesen kell hallgatni és emlékezni! Az alábbi kérdésekre kap választ:
  • Hogyan készítsünk egyszerű listajelentést?
  • Mire szolgálnak a Mező, Elérési út és Cím oszlopok a „Mezők” lapon?
  • Milyen korlátozások vonatkoznak az elrendezési mezőkre?
  • Hogyan kell helyesen beállítani a szerepeket?
  • Mi a szerepe az elrendezési mezőknek?
  • Hol találom az adatösszetétel lapot egy lekérdezésben?
  • Hogyan kell konfigurálni a paramétereket a beléptető rendszerben?
  • Egyre érdekesebb lesz...
Talán nem szabad megpróbálnia saját maga az interneten szörfözni a szükséges információk keresésére? Ráadásul minden készen áll a használatra. Csak kezdd el! Minden részlet az ingyenes videoleckékről

Íme az egyik lecke az adatösszetétel lekérdezésben történő könyvjelzővel való megjelölésével kapcsolatban:



Beléptető rendszerről szóló jelentések készítésekor gyakran szükség van időszakválasztás megjelenítésére a jelentés űrlapon, így nem kell kézzel megadni a dátumokat, hanem a szabványos időszakok listájából kell kiválasztani, például: „Év” , „Hónap”, „Hét” stb. A Dátum típusú paramétereknél csak „Ez év eleje, hónap stb.” adható meg, de a „Vége” nincs megadva.

A helyzet az, hogy az adattípusok közül csak a „Normál kezdő dátum” típus érhető el, de szeretnék a „Szabványos befejezési dátumot” is.

Van mód ennek megkerülésére.

  1. Hozzunk létre egy új paramétert, nevezzük „időszaknak”
  2. Állítsa ezt a paramétert a „Szabványos időszak” típusra.
  3. A kérelemben használt „Időszak kezdete” és „Időszak vége” paraméterek „Kifejezés” mezőjében állítsa be a „ &Period.StartDate" és " &Period.End Date” sorrendben.

De van egy kis finomság. Ha virtuális táblákat használunk a lekérdezésben, akkor nagy valószínűséggel a jelentés leáll, és egy hibaüzenet jelenik meg, például „Hiba a nézet feldolgozása során, típushiba, paraméterszám...”.

Ennek elkerülése érdekében el kell távolítania az összes virtuális tábla paramétert.

És adja hozzá őket az „Adatösszetétel” lap táblázataihoz.

Ahhoz, hogy a paraméterek megjelenjenek a gyorsjelentés beállításaiban, engedélyezzük a megfelelő jelzőt a jelentés paramétereinél.

Most így néz ki az időszak kiválasztása a jelentés űrlapon.

Az időszak beállításának néhány jellemzője a beléptető rendszerben.

A legtöbb adatösszeállítási rendszer (DCS) használatával készült jelentés megköveteli a felhasználótól, hogy adja meg azt az időszakot, amelyre a jelentés készül.

Általános szabály, hogy az ACS-ben a periódusbevitelt paramétereken keresztül szervezik, a következő konstrukció segítségével, lásd: Ez az időszakbeviteli módszer „klasszikusnak” tekinthető; le van írva az ITS-ről szóló cikkben és más, az 1C fejlesztéssel foglalkozó irodalomban, így vegyük alapul. Tekintsünk példának egy egyszerű kérést, amely megkapja az összes dokumentumot Áruk és szolgáltatások értékesítése egy adott időszakra vonatkozóan, ld.

A jelentés használatakor a felhasználó beállítja az időszakot a paramétereken keresztül, lásd. Úgy tűnik, minden rendben van... DE van egy kis probléma:

A helyzet az, hogy a felhasználók túlnyomó többsége másként „érti” az időszakot, mint az 1C „érti”, példák:

A felhasználó szemszögéből nézve az időszak nincs megadva, azaz KORLÁTOZTALAN, azaz MINDEN dátumkorlátozás nélküli dokumentum szerepeljen a jelentésben.

Az 1C rendszer „szempontjából” a paraméter-periódus be van állítva, és ... mindkét határa 01.01.0001, és csak az üres dátummal rendelkező dokumentumok kerülnek be a jelentésbe, ami a gyakorlatban azt jelenti, hogy egyetlen dokumentum sem kerül bele.

A felhasználó szempontjából a jelentésnek tartalmaznia kell minden dokumentumot a 2010.01.28-tól kezdődően.

Az 1C „szempontjából” a 2010.01.28. - 0001.01.01. időszak jelent kivételt.

Természetesen megpróbálhatja elmagyarázni a felhasználónak, hogy a jelentés miért nem azokat a dokumentumokat jeleníti meg, amelyeket látni szeretne, és hogyan jelenik meg az időszak az 1C „szempontjából”, de ez egy hálátlan feladat, és szintén téves. Egy jó programnak mindenekelőtt felhasználóbarátnak kell lennie, mert a program a felhasználó számára létezik, és nem fordítva, ezért meg kell „tanítania” az 1C-t, hogy megértse az időszakot, ahogyan a felhasználó megérti, nevezetesen:

1). Az időszak kezdete és az időszak vége nincs megadva -> minden dokumentum.

2). Csak az Időszak eleje van megadva -> az Időszak elejétől kezdődő összes dokumentum

3). Ezenkívül ellenőrizni fogjuk, hogy az Időszak vége >= Időszak eleje, és ha ez nem igaz, akkor feltételezzük, hogy az Időszak vége nincs megadva, azaz. 2).

A fentiek alapján a Befejezés dátuma paraméter kifejezése a következő:

WHEN &Period.EndDate=DATETIME(1,1,1)

AKKOR DATETIME(3999;12;31)

MIKOR &Időszak.Befejező dátum<&Период.ДатаНачала

AKKOR DATETIME(3999;12;31) DATETIME(3999;12;31;23;59,59)

&Period.Befejezés dátuma

Korabeli válogatásunk végleges formája a képen látható

Megjegyzés: ez a paraméter beállítási mechanizmus a régebbi 1C 8.1 és 8.2 platformokhoz (és az ezek irányítása alatt futó konfigurációkhoz) készült; az 1C platform régebbi verziói beépített mechanizmusokkal rendelkeznek az üres paraméterek vezérlésére, és nincs szükség a mechanizmus igénybevételére A cikkben leírtak szerint az 1C platform egyes verzióiban hibák és helytelen működés lehetséges.

Szóval, kezdjük.

Az egyszerűség kedvéért a példa megértése érdekében egyetlen egyszerű, keringő felhalmozási regiszterre építünk.

Az én esetemben ez a "Folyamatban lévő könyvelés" felhalmozási nyilvántartás.

Például a paramétereit mereven fogjuk jelezni (nem a paraméterek lágy rákényszerítésével a beléptető rendszerre):

Kérjük, vegye figyelembe, hogy a virtuális tábla gyakorisága „Rekord”.

De, mint fentebb megjegyeztük, szükségünk van az időszakra a periodicitás szempontjából, ezért javaslom az „Időszak” mező kiszámítását a következő módon (nem túl szép, de nem láttam jobb lehetőséget):

Amint a képernyőképen látható, egy paramétert adnak át a kérésnek, amelyet a felhasználó az űrlapon ad meg: A "Frekvencia" felsorolás értéke - ez a felsorolás szinte minden szabványos megoldásban megtalálható.

Az elérhető típusokat a „Paraméterek” fülön jelezzük:

Ezzel a beállítással úgy formázzuk az időszakunkat, hogy minden szép és kellemes legyen a szemnek)

Itt vannak maguk a formátumok:

Hónap: DF="MMMM yyyy "y."

Nap: DF = nn.MM.yyyy

Hét: DF = ""Hét a következőtől: "nn.MM.yyyy"

Negyed: DF = "negyed" yyyy "y."

Év: DF = "yyyy "y."

Évtized: DF = "" Évtized a következővel: "nn.MM.yyyy"

Félév: DF = ""Fél év a következőtől:" nn.MM.yyyy"

Ez minden. A kimenet egy csodálatos kép: