Hogyan írjunk külső jelentést az 1C-hez 8.3. Külső jelentés hozzáadása az adatbázishoz. TabDocument = Új TabularDocument

Fontolja meg egy külső jelentés létrehozását az 1C 8-ban adatösszetételi rendszer használata nélkül. Külső jelentés készítéséhez a Számvitel 2.0 konfigurációt használjuk, a kezdeti adatokat: „Jelentés írása a 62-es számviteli számlán, amelyben a kontextusban megjelenik a megadott időszak forgalma. ÜgyfelekÉs A szerződő felek szerződései.

1. Hozzon létre egy jelentést

Ehhez először is hozzunk létre egy külső jelentésfájlt, menjünk a módban az 1s 8-ra Konfigurátor, menjünk a menühöz Fájl -> Új vagy kattintson az ikonra Új dokumentum.

Válassza ki az elemet a listából Külső jelentés. A külső jelentés létrehozása után adjon neki nevet (pl SimplestReport), és mentse lemezre. Két részletet is hozzáadunk: Az időszak kezdeteÉs Időszak vége típus Dátum, szükségünk lesz rájuk, hogy korlátozzuk az adatmintavételezési időintervallumot a jelentés generálásakor.

2. Hozzon létre egy külső jelentés elrendezést

Jelentés generálásához az 1C 8-ban elrendezésre van szüksége, ez egy sablon az adatok megjelenítéséhez, amelyben az összes szükséges paraméter be van állítva, táblázatok vannak rajzolva stb. Ehhez adjunk hozzá egy új elrendezést Elrendezésekés nyomja meg a gombot Hozzáadás, létrehozásakor válassza ki az elrendezés típusát táblázatos dokumentum.

Elrendezésünk 4 területből áll majd:

  • Fejléc - ezen a területen jelenítjük meg a jelentés nevét, azt az időszakot, amelyre vonatkozóan készült, és a táblázat fejlécét;
  • Partneradatok - ezen a területen táblázatban jelenítjük meg a partner adatait;
  • DataCounterparty Agreement - ezen a területen táblázatban jelenítjük meg a partnerszerződés adatait;
  • Lábléc - ezen a területen a teljes jelentés összértékét jelenítjük meg a Bevétel és a Kiadás mezőkhöz.

Kezdjük el az elrendezési területek létrehozását. Ha egy területet szeretne létrehozni az elrendezésben, válassza ki a kívánt számú sort, majd kattintson a gombra Menü táblázat -> Nevek -> Név hozzárendelése(Vagy Ctrl + Shift + N). A régióba SapkaÍrjuk fel a jelentés nevét: A forgalom 62 számít, rajzoljon az eszköz segítségével Határok jelentés fejlécét, és állítsa be a paramétereket is Az időszak kezdeteÉs Időszak vége. Paraméterek segítségével megjelenítheti a jelentésben a szükséges adatokat, ezzel a fejlesztés következő szakaszában, mégpedig az írásnál fogunk foglalkozni programkód jelentés. Paraméter létrehozásához az elrendezésben válassza ki a kívánt cellát, írja be a paraméter nevét (szóközök nélkül), kattintson rá jobb gombbal, válassza ki a megnyíló menü elemét Tulajdonságok. A fül cellatulajdonságaiban Elrendezés válasszon kitöltést Paraméter.

Ezt követően a paraméter neve a cellában szögletes zárójelek ("<>“). Ennek eredményeként a terület Sapkaígy kell kinéznie:

A környéken DataCounterparty az eszköz segítségével paramétereket hozunk létre a partner nevének megjelenítéséhez, valamint a 62-es számla bevételéhez és kiadásához Határok Tervezzük meg a területet táblázatsorként.

A környéken DataCounterparty megállapodás Készítsünk paramétereket a szerződés nevének megjelenítéséhez, valamint a 62-es számla bevételéhez és kiadásához, a Határok eszközzel táblázatsorként alakítjuk ki a területet. Tegyünk egy kis behúzást a paraméter elé Ügyfélszerződés(ez megtehető cellák felosztásával és összevonásával. Kattintson jobb gombbal a cellára -> Összeolvad vagy Felosztott cella), azért van rá szükség, hogy a jelentés lássa, hogy a szerződés sora alacsonyabban van a hierarchiában, mint a szerződő fél sora.

A környéken Pince Hozzon létre paramétereket a bevételek és kiadások végösszegéhez.

Ennek eredményeként egy ilyen elrendezést kell kapnunk:

3. Hozzon létre egy jelentési űrlapot

Az adatok megjelenítéséhez állítsa be a képzési időszakot és a gombot Forma jelentésünkhöz formanyomtatványra lesz szükség. Űrlap létrehozásához keresse meg az elemet a külső jelentés metaadatfájában Űrlapokés nyomja meg a gombot Hozzáadás. Az űrlaptervező első oldalán nem kell semmilyen változtatást végrehajtani, csak a gombra kell kattintani Következő.

A tervező következő oldalán válassza ki mindkét elérhető adatot ( Az időszak kezdete, Időszak vége) az űrlapon való elhelyezéshez.

Ennek eredményeként ezt az űrlapot kapjuk:

De ebben a formában nem vagyunk megelégedve vele, változtassunk rajta:

  • Húzzuk a gombot Forma a jelentés alsó paneljétől a tetejéig (ez kényelmesebb lesz a felhasználó számára);
  • Nyújtsuk ki az alakzatot függőlegesen és vízszintesen;
  • Rendezzük el a mezőket Az időszak kezdeteÉs Időszak vége vízszintesen;
  • Adjunk hozzá egy Spreadsheet Document Field vezérlőelemet az űrlaphoz (a mi jelentésünk is megjelenik benne), adjunk neki nevet TabDoc;
  • Hozzon létre egy időszakválasztó gombot (ha rákattint, megjelenik egy párbeszédpanel, ahol kényelmesen kiválaszthatja a kívánt időszakot). A programkódot még nem írjuk meg, ezért csak a gombot helyezzük a periódusmezők mellé.

Ennek eredményeként az űrlapunk így fog kinézni:

4. Programozás

A jelentés űrlap elkészítése után kezdjük el a programozást. Először hozzunk létre egy eljárást egy periódusválasztó párbeszédpanel megjelenítésére (erre az előző szakaszban már készítettünk egy gombot). Kattintson a jobb gombbal a gombra, és válassza ki a menüpontot Tulajdonságok, a gomb tulajdonságainál lépjen a fülre Események, ahol a nagyító ikonnal ellátott gomb segítségével eljárást készítünk Gomb 1 Nyomja meg az űrlap modulban.

Az űrlap alján található fülek segítségével válthat az űrlap és a modulja között

Az időszakválasztó űrlap meghívásához a szokásos eljárást alkalmazzuk Számvitel 2.0-tól közös modul A párbeszédpanelek használata – HandlerPeriodSettingPress, át kell adnia neki a jelentés részleteit paraméterként Az időszak kezdeteÉs Időszak vége.

Eljárás 1. gombnyomás (elem) Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Az eljárás vége

Most pedig folytassuk a jelentésünket generáló és megjelenítő kód megírásával. Az űrlapmodulnak már van eljárása ButtonGeneratePress, amely a gomb megnyomásakor kerül végrehajtásra Forma, ide írjuk a kódunkat. Kezdjük a szükséges változók inicializálásával. Először is hozzunk létre egy változót a számára táblázatok dokumentummezői amelybe adatokat fogunk kiadni, ez nem szükséges, csak a rá irányuló hívások rögzítése rövidül, ami azt jelenti, hogy a programkód jobban olvasható lesz.

TabDoc = FormElements.TabDoc;

Nézzük meg a külső jelentés elrendezését a függvény segítségével GetLayout(<ИмяМакета>) , az elrendezés nevét paraméterként adjuk át, és ha létezik ilyen elrendezés, akkor a függvény megkeresi.

Layout = GetLayout("Layout" );

Az elrendezés beérkezése után hozzunk létre változókat az egyes területeihez, ehhez használjuk a layout módszert GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Fejléc" ); AreaDataAccount = Layout.GetArea( "Vállalkozó adatai"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Lábléc" );

Töröljük a táblázatos dokumentum mezőjét. Erre azért van szükség, hogy minden alkalommal, amikor új jelentés készül, a régi adatok törlődjenek.

TabDoc.Clear();

Most, hogy a változók inicializálása befejeződött, térjünk át az elrendezési területek egyenkénti kitöltésére és megjelenítésére. Kezdjük a fejléccel. Ha emlékszel, két paramétert hoztunk létre ezen a területen Az időszak kezdeteÉs Időszak vége, oda adjuk át a jelentéskészítési időszak értékeit, erre használjuk az ingatlant Opciók elrendezési területek.

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Nincs több művelet a területtel Sapka A gyártóra nincs szükség, ezért a mezőjét táblázatos dokumentumban jelenítjük meg.

TabDoc.Output(AreaHead);

Ezután írunk egy lekérdezést az adatbázisba, mellyel a számlaforgalmat vesszük 62 a számviteli nyilvántartásból Önfenntartó. Adjunk meg egy változót, amelyben a kérésünk elhelyezkedik.

Request = új kérés;

Mielőtt elkezdenénk írni a kérés szövegét, adjuk át neki a szükséges paramétereket. Mivel számlakérést írunk 62 könyvelést, akkor először ehhez készítünk egy paramétert

Request.SetParameter("Account62", Számlatáblázatok. Önfenntartó. Keresés kód szerint("62" ));

A jelentéskészítési időszakot is át kell vinni a kérésbe. Ne felejtsd el, hogy a generálási időszakra külön jelentésadatokkal rendelkezünk, és ezeket paraméterként adjuk át.

Request.SetParameter("Időszak kezdete", Időszak kezdete); Request.SetParameter("Időszak vége", Időszak vége);

Kezdjük el írni a lekérdezés szövegét, ezt a lekérdezéstervező segítségével fogjuk megtenni. Sokban tankönyvek azt írják, hogy manuálisan és konstruktor segítségével is tudni kell lekérdezést írni, de a gyakorlatban ez nem így van. Azokban a feladatokban, amelyekkel az 1C programozó folyamatosan szembesül, a kód gyors és hatékony írása a prioritás, és amikor manuálisan ír le egy lekérdezést az adatbázisba, ezt szinte lehetetlen elérni, hogy sok értékes időt töltsön el az összes lekérdezési struktúra helyes reprodukálásával és az írás közben elkövetett elírások megtalálása stb. Ezért ne pazarolja az idejét a lekérdezések kézi megírásával, hanem használja a lekérdezéskonstruktort. Időt takarít meg, és lehetővé teszi összetett lekérdezések írását különösebb erőfeszítés nélkül. A kérés szövegének írásához írjuk be a kódot:

Request.Text = "" ;

Ezután helyezze a kurzort az idézőjelek közé, kattintson a jobb gombbal, és válassza ki Konstruktőr kér. Megnyílik a lekérdezéstervező ablak.

Most ki kell választanunk a szükséges 1C 8 adatbázistáblát Szükségünk van egy virtuális táblára Forradalmak számviteli nyilvántartás Önfenntartó. Keressük a tervezőablak bal oldalán

Vigyük át a területre Táblázatokés kezdjük el kitölteni a paramétereket. Minden virtuális lekérdezési táblához van egy speciális paraméterkészlet, amely lehetővé teszi a szükséges adatok kiválasztását a fő táblából (esetünkben a fő tábla Számviteli nyilvántartás Önfenntartó). Nyissuk meg a virtuális tábla paraméterei ablakot.

Töltsük ki a kérésnek átadott időszak paramétereit. Ha paramétert szeretne használni a kérés szövegében, a szimbólumot a neve elé kell írnia és (&)

Marad a számviteli számla feltételének kitöltése. számvitel. Ehhez keresse meg a sort a virtuális tábla paraméterei között Számla állapotaés oda írunk

Fiók A HIERARCHIABAN (&Account62)

A feltételek konstruktort a három ponttal ellátott gombra kattintva is használhatjuk.

Nem kell több feltételt szabni a virtuális asztalnak, ezért kattintsunk a gombra RENDBEN a virtuális tábla paraméterablakban. Ezután ki kell választanunk a táblázatból a szükséges mezőket Önfenntartó.Forgalom(ugyanis: Partner, szerződő fél megállapodás, bevétel és kiadás). Az általunk kiválasztott táblázatban elérhető mezők listájának megtekintéséhez kattintson a neve melletti „+” jelre. Ezután húzza a szükséges mezőket a lekérdezéstervező jobb szélső területére, melynek neve: Mezők. Ha kinyitjuk a számlatükört, akkor ezt látni fogjuk a számlánál 62 az elemzés bekapcsolva A szerződő fél számára ez a Subconto1, és által Partnerszerződés - Subconto2.

Ezért a virtuális tábla mezőiből választunk Subconto1És Subconto2. Mivel a bevételekre és kiadásokra összeg szerint van szükségünk, a mezőket is kiválasztjuk ÖsszegForgalomDtÉs ÖsszegForgalomKt

Töltsük ki az általunk kiválasztott mezők álneveit, menjünk a fülre Szakszervezetek/Álnevekés állítsa be a szükséges mezőneveket.

Mivel jelentésünkben az adatok hierarchikusan jelennek meg (az Ügyfél az első szinten, az összes szerződése a másodikon van), így az adatok megjelenítését a hierarchiában a Totals segítségével konfiguráljuk. Lépjünk a tervező lapjára Eredmények. Húzza egymás után a csoportosító mezőkbe ÜgyfélÉs Ügyfélszerződés, és a döntőben EljövetelÉs Fogyasztás.

Ezzel befejeződik a munka a lekérdezéskonstruktorban, kattintson a gombra RENDBENés azt látjuk, hogy a kérésünk szövege megjelenik a programkódban.

Query.Text = "VÁLASZTÁS | Self-supportingTurnover.Subconto1 AS szerződő fél, | Self-supportingTurnover.Subconto2 AS szerződő fél megállapodás, | Self-supportingTurnover.AmountTurnoverDt AS nyugta, | ÖnfenntartóForgalom.ÖsszegForgalomKt AS Költség|FROM | Számviteli nyilvántartás Saját számvitel (&Időszak eleje, &Időszak vége, Számla HIERARCHIABAN (&Számla 62),) AS Önelszámolási forgalom.|EREDMÉNYEK | ÖSSZEG(Bevétel), | ÖSSZEG(Kiadás) |PO | szerződő fél, | Ügyfélszerződés";

Miután befejeztük a kérés megírását, kezdjük el a területek kitöltését DataCounterparty, DataAgreementCounterpartyÉs Pince. Mindezeket a területeket kitöltjük a kérés teljesítésekor kapott adatokkal. Mivel a lekérdezésünk csoportosításokat tartalmaz( ÜgyfélÉs Ügyfélszerződés) válasszon belőle adatokat az alábbiak szerint:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Így minden szerződő félre vonatkozó összesítést tartalmazó nyilvántartást kapunk.

Mielőtt a mintaadatokat hurok segítségével bejárnánk, inicializáljuk a jelentés összesített eredményének kiszámításához használt változókat:

Összes bejövő = 0; Teljes fogyasztás = 0;

Annak érdekében, hogy a jelentés adatai hierarchiában jelenjenek meg (és a „+“ mentén elforgatva), állítsuk be a táblázatos dokumentum sorai automatikus csoportosításának kezdetét:

TabDoc.StartAutoGroupingRows();

Minden előkészület befejeződött, most kezdjük el a lekérdezés eredményeinek feltérképezését. Egy hurok segítségével fogunk bejárni Viszlát

Míg Select Account.Next() Cycle EndCycle ;

A ciklus elején állítsa vissza a paramétereket EljövetelÉs Fogyasztás régióban DataCounterparty. Ez mire való? Képzeljünk el egy olyan helyzetet, amikor a szerződő fél Vasya bácsi, a bevétel 10, a kiadás pedig 5, és a következő partner esetében Petya bácsi ebben az esetben nincs bevétel vagy kiadás, ha nem állítjuk vissza a paramétereket EljövetelÉs Fogyasztás, majd sorban partnerenként Petya bácsi lesz bevétel 5 és kiadás 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Ezt követően feltöltjük a területet DataCounterparty mintaelem adatok

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Az adatok kitöltése után megjelenítheti a területet táblázatos dokumentum, Mivel a sorok automatikus csoportosítását használjuk, a csoportosításban meg kell jelölnünk a sor szintjét (jelentésünk kétszintű lesz, a szerződő felek esetében az első a szerződéseknél).

TabDoc.Output(AreaDataAccount,1);

Most ennél a partnernél a szerződései alapján választunk ki.

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Egy hurok segítségével fogunk bejárni Viszlát.

Míg SelectionCounterparty Agreement.Next() Loop EndCycle ;

A partnerszerződések ciklusában állítsuk vissza a paramétereket EljövetelÉs Fogyasztás, töltse ki a területet Adatszerződés a mintából, és kiadja táblázatos dokumentum a rekordok második szintjére.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Töltse ki az inPropertyValues-t (AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Ebben a ciklusban is hozzáadjuk az aktuális értékeket a változókhoz a bevételek és kiadások összértékének kiszámításához.

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense;

Ezzel lezárul az adatok kimenete a területen DataCounterparty, DataAgreementCounterparty elkészült, már csak a táblázatos dokumentum sorainak automatikus csoportosítását kell elvégezni.

TabDoc.FinishAutoGroupingRows();

Teljes ciklusok, amelyek felelősek az adatoknak a területre történő kiadásáért DataCounterpartyÉs DataAgreementCounterpartyígy néz ki:

TabDoc.StartAutoGroupingRows(); Míg SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ;

AreaDataAccount.Parameters.Expense = 0 ; Pince FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); táblázatos dokumentum.

TabDoc.Output(AreaDataAccount,1);

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Míg SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ;

Töltse ki az inPropertyValues-t (AreaDataAgreement.Parameters,SelectionCounterpartyAgreement);

TabDoc.Output(AreaDataContract,2);

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense;

EndCycle ; EndCycle ; TabDoc.FinishAutoGroupingRows();

Marad a végleges adatok megjelenítése a területen és adja ki magát a területet AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter); Ezzel befejeződik az 1C 8-hoz tartozó külső jelentés írási folyamata beléptető rendszer használata nélkül. Most 1C:Enterprise 8 módban generálható és hozzáadható a könyvtárhoz Külső feldolgozás

A cikkben tárgyalt jelentésfájlt letöltheti a címről.

Nézzen meg egy videót egy külső nyomtatható anyag létrehozásáról egy felügyelt alkalmazáshoz:

Az 1C 8.3 jelentések egy speciális metaadat objektum, amelyet az 1C adatbázistáblák adatainak felhasználóbarát megjelenítésére terveztek.

De ebben az esetben az összes elemet, menüt és egyéb „íjat” manuálisan kell megadni, ami nagyon munkaigényes.

Szerezzen 267 videóleckét 1C-n ingyen:

Jelentés készítése a kimeneti űrlaptervezővel

A kimeneti űrlaptervező a platformba épített mechanizmus, amely megkönnyíti a jelentéskészítést. A tervező csak normál űrlapokhoz érhető el.

A tervező megkapja a kérést és az összes szükséges paramétert a jövőbeli jelentéshez, ő pedig modulokat és jelentési űrlapokat generál. A mechanizmus az 1C 8.2 beépített nyelv objektumán alapul. Jelentéskészítő.

Jelentés készítése az Általános jelentés használatával

Az univerzális jelentés nagyszerű funkcionalitással, kényelmes beállítási felülettel rendelkezik, amely ismerős a felhasználó számára:

Adatösszeállítási rendszeren alapuló jelentések

Ez a jelentéskészítés legfejlettebb módja az 1C-ben, amelyet maga az 1C ajánl. megjelent az 1C platformon a 8.1-es verzióban.

Az SKD lehetővé teszi egyszerű jelentések készítését programozási sor nélkül, mert nagyon rugalmas és funkcionális konstruktorral rendelkezik az adatösszetételi séma létrehozásához:

Az összes legutóbbi konfigurációban az összes jelentés adatösszetételi rendszerrel készül.

Mi a különbség a külső és a beépített jelentések között?

Ahogy a dokumentációban is meg van írva - semmi. A külső jelentéskészítő mechanizmust azért hozták létre, hogy a fejlesztés során hibakeresést végezzenek a jelentésekben.

A megoldás kidolgozása során az egyetlen különbség az, hogy a külső jelentésekhez nem lehet „név szerint” hozzáférni, ellentétben a beépített jelentésekkel.

Miben különbözik a jelentés a feldolgozástól?

Valójában gyakorlatilag semmit. A fő különbség az objektum használatának célja: jelentések szükségesek az információk megjelenítéséhez, jelentések pedig az információk megváltoztatásához.

A főbb különbségek a tulajdonságokban: a jelentésekben megadhatja az alapvető adatösszetételi sémát (DCS), és megadhatja a jelentésparaméterek mentési beállításait.

Tekintsük a jelentéskészítés folyamatát az 1C 8.3-ban az adatösszeállítási rendszer használatával. Vegyük például a következő feladatot: a jelentésnek az Áruértékesítés és szolgáltatás bizonylatok árucikkeinek táblázatos részéből kell adatokat bevinni egy bizonyos időszakra és a kiválasztott szervezetre vonatkozóan. Ezenkívül csoportosítania kell az adatokat a Számla, a Hivatkozás a dokumentumhoz és az Elem mezők szerint.

Az eredményül kapott jelentésre egy példa letölthető innen.

A Fájl->Új menü segítségével adjunk hozzá egy új külső jelentést, adjunk neki nevet és mentsük el a lemezre. Készítsünk elrendezési diagramot az Adatelrendezési diagram megnyitása gombbal.

1C kérés írása SKD-hez

Az elrendezési diagram elkészítése után egy lekérdezést kell írnunk, amely adatokat gyűjt a jelentéshez. Ehhez az Adatkészletek lapon hozzon létre egy Lekérdezési adatkészletet.

Most elkezdheti a lekérdezés írását, az adatkészletben van egy speciális mező. Írhat kézzel vagy konstruktor segítségével (ami sokkal kényelmesebb). Jelentésünkben a lekérdezés a legegyszerűbb:

|KIVÁLASZT | Áruk és szolgáltatások áruk értékesítése Link, | Áruk és szolgáltatások értékesítése Szervezet Áruk és szolgáltatások értékesítése, szerződő fél Áruk és szolgáltatások áruk nómenklatúrája, | Áruk és szolgáltatások Áruk értékesítése, | Áruk és szolgáltatások Áruk értékesítése ÁFA kulcs, | Áruk és szolgáltatások Áruk értékesítése Az áfa összege, | Áruk és szolgáltatások Áruk | Dokumentum.Áruk értékesítése,Szolgáltatások.Áruk | TERMÉKEK ÉS SZOLGÁLTATÁSOK ELADÁSA HOL | Áruk és szolgáltatások Áruk értékesítése Dátum | &Időszak eleje ÉS &Időszak vége KÖZÖTT | És áruk és szolgáltatások áruk Szervezet | = &Szervezet

Adatkészlet mezők beállítása

A kérés megírása után az ACS automatikusan kitölti a táblázatot a mezőbeállításokkal.

Röviden elmondok néhány beállítást:


Az erőforrások beállítása

Az adatösszeállítási rendszerben az erőforrás mezők olyan mezőket jelentenek, amelyek értékeit a csoportosításban szereplő részletes rekordok alapján számítják ki. Az erőforrások lényegében egy jelentés csoportos vagy átfogó eredményei. Esetünkben a források az Összeg és az ÁFA összege mezők lesznek. Az erőforrások összege az SKD kifejezési nyelv függvényeivel számítható ki, amelyek közül a legegyszerűbbek a Sum(), Average(), Maximum(), Minimum() és Quantity(). A jelentési erőforrások beállításához lépjen az Erőforrások lapra, és húzza át a szükséges jelentésmezőket az erőforrástáblába. Ezek után be kell állítani egy kifejezést (esetünkben Sum()), kijelölhetjük azokat a csoportosításokat is, amelyeknél látni szeretnénk ennek az erőforrásnak az összesítését, ezt a Calculate by… oszlopban tehetjük meg.

Kérjük, vegye figyelembe, hogy nem hozhat létre csoportosításokat az erőforrásokban kiválasztott mezők alapján.

A kérésben megadott összes paraméter megjelenik az Elrendezési séma paraméterei lapon. Esetünkben ezek a korszak kezdete, az időszak vége és a szervezet. Nézzünk át néhány beállításukat:

  1. A Név, Cím és Típus oszlopok automatikusan kitöltődnek, és értékeik nem módosíthatók szükségtelenül;
  2. Az értékek listája elérhető. Ha listát szeretnénk paraméterként átadni, akkor ezt a jelzőt kell beállítani, különben csak a lista első eleme kerül oda.
  3. Jelentése. Itt adhatja meg a paraméter alapértelmezett értékét. Példánkban a Szervezetek paraméter Elemek értéket fogjuk kiválasztani (üres hivatkozás a Szervezetek könyvtárra).
  4. Szerepeltesse a rendelkezésre álló mezőkben. Ha törli ezt a jelzőt, a paraméter nem lesz látható a beállításokban: a kiválasztott mezőkben, kijelölés.
  5. Elérhetőségi korlátozás. A jelző felelős azért, hogy be tudja állítani a paraméterértéket az ACS beállításokban.

A jelentés szerkezetének beállítása

Menjünk a Beállítások fülre, itt adhatjuk meg a riportcsoportokat, a jelentésben megjelenített mezőket, a kijelöléseket, rendezéseket stb. A feladatfeltételek szerint a jelentés mezők szerint csoportosítsa az adatokat: Account, Link és Item, ezeket a csoportosítási területen egymás után jelezzük.

A Kijelölt mezők lapon húzza át erőforrásainkat (Összeg, ÁFA összege) a rendelkezésre álló mezőkből a jelentésmezőkbe.

Adjunk hozzá Vállalkozó és Tétel szerinti kijelöléseket a jelentés könnyebb használatának érdekében. Töröljük a kijelölés használatához szükséges jelzőket a felhasználó, ha szükséges.

Ezzel befejeződik a jelentés beállítása, most már futtathatja vállalati módban.

Jelentés generálása

Az 1C beléptetőrendszerről szóló jelentéshez nem szükséges űrlapot létrehozni, maga az elrendezési rendszer fogja létrehozni. Nyissa meg a jelentést 1C Enterprise 8 módban.

Létrehozása előtt kattintson a Beállítások gombra, és adja meg a paraméterértékeket. Kijelölést is beállíthat, ha szükséges, csoportosítást, rendezést stb.

Tekintse meg a beléptető rendszerről szóló jelentések létrehozásáról szóló videót is:

Jelentkezzen be diákként az oldalra

1C 8.3 adatösszetétel rendszer kezdőknek: első jelentés az SKD-ről

Ha nem olvasta el a modul bevezetőjét, kérjük, olvassa el: .

A leckék elvégzéséhez, amire szüksége lesz 1C 8.3 (nem alacsonyabb 8.3.13.1644 ) .

Ha már telepítve van az 1C 8.3-as verziója, használja azt. Ha nem, töltse le és telepítse az oktatási verziót, amelyet az 1C kifejezetten oktatási célokra gyárt: .

A következő parancsikonnak kell megjelennie az asztalon:

A sorozat összes leckéhez az általam készített Gastronom adatbázist fogjuk használni. Teljesen egybeesik azzal az alappal, amelyet az iskolai modulokban használtunk a lekérdezések tanulmányozása során. Ezért elvárom, hogy ismerje kézikönyveit és dokumentumait.

Ha törölte, töltse le újra a következővel, csomagolja ki és adja hozzá az adatbázisok listájához.

Végül, munkahelyen konfigurálva, és most közösen elkészítjük első jelentésünket az adatösszeállítási rendszer segítségével. Nagyon egyszerű lesz bemutatni egy adatösszetételi rendszer általános képességeit (rövidítve SKD).

Cél kitűzése

A lecke célja- hozzon létre egy jelentést, amely felhasználói módban megjeleníti az ügyfelek listáját a következő mezőkkel:

  • Név
  • Emelet
  • Az ügyfél kedvenc színe.

A jelentésnek külsőnek kell lennie. Ez azt jelenti, hogy létrejön és konfigurálja a konfigurátorban, majd külön (külső) fájlként menti a számítógépen.

Egy ilyen jelentés létrehozásához az 1C-ben a felhasználónak el kell indítania az adatbázist felhasználói módban, meg kell nyitnia ezt a fájlt, és kattintson a „Létrehozás” gombra.

Menjünk!

Jelentés készítése

Elindítjuk a Gastronom adatbázis konfigurátorát:

A főmenüben válassza a "Fájl" -> "Új..." lehetőséget:

Válassza a "Külső jelentés" lehetőséget:

Adatelrendezési diagram készítése a jelentésben

Megnyílik a külső jelentés létrehozására szolgáló ablak. A névhez írja be: " lecke 1", majd nyomja meg a " Nyissa meg az adatösszetételi diagramot":

A sémakészítés tervezője elindult. Egyetértünk az alapértelmezett névvel" MainData elrendezési séma"és nyomja meg a gombot" Kész":

Megnyílt a fő működő ablak, sok könyvjelzővel és mezővel, amelyben az adatelrendezési sémánkat konfiguráljuk.

Nem kell megijedni – valóban sok lehetőség van itt, de nincs szükségünk mindegyikre. Főleg az első leckében.

Most a könyvjelzőnél vagyunk" Adatkészletek– Ott maradunk.

Kérést írunk a kivitelezőn keresztül

Az adatösszetétel rendszer (rövidítve DCS) megköveteli tőlünk adat, amelyet megjelenít a felhasználónak.

A legegyszerűbb módja az kérést írni a bázisra. Az iskolában megtanultuk írni és megérteni a kéréseket – ezért elvárom, hogy rendelkezzen a megfelelő készségekkel.

Kattintson rá zöld pluszjel, és a legördülő listából válassza ki a " Adatkészlet hozzáadása – Lekérdezés":

A mi feladatunk az, hogy ebbe a mezőbe írjuk a kérés szövegét. Elfelejtetted, hogyan kell ezt csinálni?

Adok egy tippet:

Ebben a lekérdezésben három mezőt választottunk ki (" Név", "Emelet"És" Kedvenc szín") a táblázatból" Directory.Clients".

De ne rohanjon kézzel beírni ezt a szöveget a „Kérés” mezőbe.

Most ugyanazt a kérést hozzuk létre vizuálisan, csak az egér használatával. Ezt a módszert " Lekérdezés konstruktor".

A konstruktor meghívásához kattintson a " gombra Lekérdezés konstruktor..." a "Kérés" mező jobb felső részén:

A megnyíló ablakban húzza a táblázatot " Ügyfelek" az első oszlopból a másodikba, jelezve, hogy ebből a táblázatból fogjuk lekérdezni az adatokat:

Így alakult:

Ezután bővítsük ki a táblázatot" Ügyfelek"a második oszlopban jellel" Plusz"látni az összes mezőjét és húzni a mezőt" Név" a második oszlopból a harmadikba, jelezve, hogy le kell kérdeznünk a "Név" mezőt ebből a táblázatból:

Így alakult:

Tegyük ugyanezt a mezőkkel" Emelet"És" Kedvenc szín". Az eredmény a következő lesz:

Kattintson az "OK" gombra a lekérdezéskészítőből való kilépéshez, és ellenőrizze, hogy a lekérdezés szövege automatikusan hozzáadódik-e a "Lekérdezés" mezőhöz.

Ezenkívül a kérelem szövege alapján az 1C maga húzta ki azoknak a mezőknek a neveit (a kérés feletti terület), amelyeket az adatösszetételi séma használni fog:

Most, hogy összeállítottunk egy kérést, az ACS tudja, hogyan szerezhet be adatokat a jelentéshez.

Adatmegjelenítés beállítása

Valahogy megmarad vizualizálja ezeket az adatokat a felhasználó számára nyomtatott űrlap formájában. És ez az, ahol az ACS csodákra képes!

Egy ilyen csoda létrehozásához menjünk a lapra " Beállítások elemre", és kattintson a beállítások tervezője gombra ( pálca):

A megnyíló ablakban adja meg a jelentés típusát " Lista"és nyomja meg a " Következő":

A következő ablakban jelölje ki (húzással) azokat a mezőket, amelyeket meg kell jeleníteni a listában (húzza az összes elérhetőt: " Kedvenc szín", "Név"És" Emelet"):

Kapjuk meg ezt az eredményt, és nyomjuk meg a gombot " RENDBEN":

A beállítások tervezője bezárult, és a " Részletes bejegyzések":

Kész a jelentés, nézzük meg. Ehhez először mentse a jelentést másként külső fájl.

Mentse el a jelentést fájlként

Nyissa meg a főmenüpontot " Fájl"->"Megtakarítás":

Elmentem az asztalomra a következő néven lecke 1":

A jelentés ellenőrzése felhasználói módban

Végül zárjuk be a konfigurátort, és menjünk az adatbázisunkba felhasználói módban:

Felhasználónév "Adminisztrátor", nincs jelszó:

A menüben válassza ki a " Fájl"->"Nyitott...":

És adja meg a jelentésfájlt (én "Lesson1.erf" néven mentettem az asztalra):

A jelentés űrlap megnyílt, kattintson a " gombra Forma":

Kész! Íme nyomtatható termékünk az ügyfelek listájával, kedvenc színével és nemével:

A nyomtatható űrlap könnyen kinyomtatható. Ehhez egyszerűen válassza ki az elemet " Fájl"->"Pecsét...":

Így egyszerűen, programozás nélkül sikerült egy teljes értékű jelentést készítenünk, amelyet a felhasználók megnyithatnak az adatbázisukban, generálhatnak és kinyomtathatnak.

diákok - levélben válaszolok, de először nézd meg.

Jelentkezzen be diákként az oldalra

Jelentkezzen be tanulóként az iskolai anyagok eléréséhez

Az 1C által szállított szoftvertermékekkel végzett munka nemcsak az elsődleges információk bevitelét és rendszerezését (könyvtárak kitöltése és a dokumentumok időben történő bevitele) foglalja magában, hanem ezen adatok alapján különféle adatok kialakítását is. nyomtatott űrlapok. Ebből a célból egy speciális objektumot hoztak létre - jelentések. Az 1C-ben található jelentések segítenek a vállalat jelenlegi helyzetének elemzésében különböző mutatók alapján, és lehetőséget adnak arra, hogy ezen információk alapján hozzáértő vezetői döntéseket hozzanak.

Jelentések és feldolgozás

Általánosságban elmondható, hogy nincs jelentős különbség a két típusú objektum között:

  • Tartalmazhatnak nyomtatott űrlapok elrendezését;
  • Moduljaikban eljárások szerepelhetnek az információk módosítására;
  • Lehetnek belső vagy beépítettek;
  • Külső jelentések és külső feldolgozás be tipikus konfigurációk ugyanabban a könyvtárban tárolva.

Feltételesen feloszthatja a jelentést és a feldolgozást a felhasználás elve szerint. Elrendezés szükséges az információk felhasználóbarát formában történő megjelenítéséhez, feldolgozás jön létre az adatbázis módosításához. Ezenkívül a megjelenített táblázatokban megadhatja a formázáshoz használt fő elrendezési sémát megjelenés visszaküldött dokumentumokat, valamint a paraméterek tárolásának beállításait.

A cikkben fizikailag vizsgált objektumok fájlkiterjesztésükben különböznek a külső feldolgozástól:

  1. Külső feldolgozás – epf;
  2. Külső jelentés – erf.

Külső és beépített jelentések

Ha alaposan megnézi az 1C bármelyik konfigurációjának fáját, észre fogja venni, hogy van egy jelentési ág is (1. ábra).

Gyakorlatilag nincs különbség a külső és a belső processzorok között. Sőt, bármilyen ert fájl beágyazható a konfigurációba, és fordítva, a beépített mechanizmus feltölthető egy külső erőforrásba. Például, ha módosítani szeretnénk a szabványos „Alapokhoz való hozzájárulások elemzése” kezelőt, akkor hívnunk kell helyi menü a megfelelő objektumot, és válassza ki a „Mentés külsőként...” almenüt (2. ábra)

Rizs. 2

Fordított művelet Megjelenik a „Csere külsőre” almenü, de ehhez a konfigurációt módosítani kell.

Az egyetlen különbség a beépített objektumok között az, hogy a modulok programkódjából érhető el, ha egy külső jelentéshez nem adjuk hozzá a megfelelő referenciakönyvhöz.

Külső jelentés készítése

Külső jelentést csak Configurator módban készíthet, ehhez feltétlenül szüksége lesz a beépített programozási nyelv ismeretére, és valószínűleg a nyelvvel és a lekérdezéstervezővel való együttműködésre.

A programozónak alapvetően két lehetősége van az adatbázistáblákból kinyert adatok összeállítására:

  1. Használja az adatösszetételi rendszer (DCS) mechanizmusát;
  2. Programozottan töltsön ki egy táblázatos dokumentumot egy előre elkészített elrendezés segítségével.

A második esetben a fejlesztőnek önállóan kell végiggondolnia a felületet, a kijelöléseket, a csoportosításokat és egyéb dolgokat, amelyeket a beléptető rendszerben létrehozhat, miközben a felhasználó dolgozik.

A kiválasztott mechanizmustól függetlenül azonban a „Fájl” menüből, az „Új” almenüből kell indulnia. A fejlesztőnek megjelenik egy menü a létrehozandó objektum kiválasztásához (3. ábra).

Rizs. 3

Rizs. 4

Itt látjuk:

  • Olyan név, amely a lehető legpontosabban foglalja össze az objektum célját;
  • Szinonimája és megjegyzése - célja teljes leírás;
  • Alapvető elrendezési séma – itt adhatja meg a jelentés nyomtatásához használt sémát;
  • A „Diagram megnyitása…” gomb megnyitja a feldolgozási eredmény tervezőjét;
  • Az űrlapok, részletek és elrendezések leírására szolgáló ablak.

A „Műveletek” gombra kattintva megnyithatja a létrehozandó objektum modulját.

Elrendezési diagram

ACS használata a jelentés elkészítése nagyban leegyszerűsíti a fejlesztő munkáját:

  1. Nem kell átgondolni és megalkotni a tárgy formáját;
  2. A megjelenített űrlap kijelölése, csoportosítása, oszlopai felhasználói módban dinamikusan változtathatók;
  3. A döntő asztal létrehozásához többféle lehetőség is létrehozható és tárolható.

Ezért be modern megoldások Az adatösszetételi séma egyre népszerűbb. Ha a megfelelő gombra kattint, az ACS tervező megnyílik a fejlesztő előtt. (5. ábra)

Rizs.
5

A séma objektum-elrendezésekben tárolódik.

A belső és beépített jelentések mellett van egy másik lehetőség ezen objektumok tárolására és elérésére - a „További feldolgozás” könyvtár.

Külső objektumok regisztrálása az adatbázisban

Kezelt űrlapokhoz, amelyekre a modernek épülnek szoftver termékek 1C, a regisztrációs űrlap jelentősen megváltozott külső kezelések az adatbázisban.

Ha korábban (at szokásos formák) elég volt létrehozni a megfelelő könyvtárban új elem, adja meg a tárolt kezelő típusát, és határozza meg az ert formátumú fájl elérési útját, majd ellenőrzött formák a regisztráció a regisztrált objektum moduljából történik.

Ehhez a kezelő modulban meg kell határozni az External Processing Information export funkciót. (6. ábra)

Rizs. 6

A 6. ábra egy hozzávetőleges parancskészletet mutat be, amely lehetővé teszi egy fájl regisztrálását a könyvtárban.

Az információkat tartalmazó függvényen kívül itt egy másik eljárás (Add Command) és egy függvény (Get Command Table) látható. Tartalmuk az ábrán látható. 7

Rizs. 7

Hogyan kell dolgozni