Fontolja meg a létrehozását külső jelentés 1s 8-ban az adatösszeállítási rendszer használata nélkül. Külső riport készítéséhez a Számvitel 2.0 konfigurációt használjuk, a kiindulási adatok: „Írjon jelentést a 62-es számviteli számlán, amelyben a megadott időszakra vonatkozó forgalom jelenik meg kontextusban ÜgyfelekÉs A szerződő felek szerződései.
1. Hozzon létre egy jelentést
Először is készítünk egy külső jelentésfájlt, ehhez módban az 1s 8-ra megyünk Konfigurátor, lépjen a menübe Fájl -> Új vagy kattintson az ikonra új dokumentumot.
Válasszon ki egy 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 a lemezre. Két kelléket is adunk hozzá: Az időszak kezdeteÉs EndPeriod típus dátum, szükségünk lesz arra, hogy korlátozzuk az adatok mintavételének időintervallumát a jelentés generálásakor.
2. Hozzon létre egy külső jelentés elrendezést
Ha jelentést szeretne készíteni az 1s 8-ban, szüksége van egy elrendezésre, ez egy sablon az adatkimenethez, amelyben minden kívánt paramétereket, táblázatokat rajzolnak stb. Adjunk hozzá egy új elrendezést, ehhez a jelentés metaadatfájában válassza ki az elemet 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 a partnerre vonatkozó adatokat jelenítjük meg a táblázatban;
- Partnerszerződés adatai - ezen a területen a partnerszerződésre vonatkozó adatokat jelenítjük meg a táblázatban;
- 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). Területre Egy sapkaírja be a jelentés nevét: Forgalom 62 számla, rajzoljon a szerszámmal Határok jelentés fejlécét, valamint a paraméterek beállítását Az időszak kezdeteÉs EndPeriod. Paraméterek segítségével a jelentésben megjelenítheti a szükséges adatokat, ezzel a fejlesztés következő szakaszában, mégpedig a jelentés programkódjának megírásakor fogunk foglalkozni. 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ön lévő cella tulajdonságaiban Elrendezés válasszuk ki a tölteléket Paraméter.
Ezt követően a cellában a paraméter neve szögletes zárójelbe kerül ("<>“). Ennek eredményeként a terület Egy sapkaígy kell kinéznie:
A területen DataContractor 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ázatsor formájában.
A területen DataAgreementContractor a szerződés nevének megjelenítéséhez, valamint a 62-es számla bevételéhez és kiadásához paramétereket készítünk, a Határok eszközzel táblázatsor formájában megrajzoljuk 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 Töréscella).
A területen Pince Készítsünk 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ődés időtartamát és a gombokat Forma jelentésünknek formanyomtatványra lesz szüksége. Ű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 űrlapkészítő első oldalán semmilyen változtatást nem kell végrehajtania, csak kattintson a gombra További.
A konstruktor következő oldalán válassza ki mindkét elérhető kelléket ( Az időszak kezdete, EndPeriod) az űrlapon való elhelyezéshez.
Ennek eredményeként ezt az űrlapot kapjuk:
De ebben a formában ez nem felel meg nekünk, néhány változtatást eszközölünk rajta:
- Húzás gomb Forma a jelentés alsó paneljétől a felső panelig (ez kényelmesebb lesz a felhasználó számára);
- Nyújtsa ki az alakzatot függőlegesen és vízszintesen;
- Rendezd el a mezőket Az időszak kezdeteÉs EndPeriod vízszintesen;
- Adjon hozzá egy Táblázat dokumentummező vezérlőt az űrlaphoz (a jelentésünk megjelenik benne), adjon nevet TabDoc;
- Hozzon létre egy időszakválasztó gombot (ha megnyomja, megjelenik egy párbeszédablak a kívánt időszak kényelmes kiválasztásával). A programkódot még nem írjuk meg hozzá, így egyszerűen a periódusmezők mellé helyezzük a gombot.
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. Kezdésként 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 az általános modulból Munka párbeszédpanelekkel – HandlerPeriodSettingPressing, paraméterként át kell adnia a jelentés részleteit Az időszak kezdeteÉs EndPeriod.
Eljárás Gomb 1 megnyomása (elem) Dialogs.HandlerSettingPeriodPress(StartPeriod,EndPeriod); Vége eljárásMost pedig folytassuk a jelentésünket generáló és megjelenítő kód megírásával. Az űrlapmodulban már van egy eljárás ButtonFormPressing amely a gombra kattintva végrehajtódik Forma, akkor oda írjuk a kódunkat. Kezdjük a szükséges változók inicializálásával. Először hozzunk létre egy változót a számára táblázat mezők amelyre adatokat fogunk kiadni, erre nincs szükség, csak a rá irányuló hívások nyilvántartása rövidül, ami azt jelenti programozási kód olvashatóbb lesz.
TabDoc = FormElements.TabDoc;
Szerezze meg a külső jelentés elrendezését a funkció segítségével GetLayout(<ИмяМакета>) , átadjuk a paraméternek az elrendezés nevé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 az egyes területekhez változókat hozunk létre, ehhez a layout módszert használjuk GetRegion(<ИмяОбласти>) .
AreaHat = Layout.GetArea("Kalap"); AreaDataAccount = Layout.GetArea( "Adatvállalkozó"); AreaDataAgreement = Layout.GetArea("DataAgreement" ); AreaFooter = Layout.GetArea("Alagsor" );
Törölje a táblázat mezőjét. Erre azért van szükség, hogy minden új jelentésgenerálással a régi adatok törlésre kerüljenek.
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 kalappal. Ha emlékszel, két paramétert hoztunk létre ezen a területen Az időszak kezdeteÉs EndPeriod, ott átadjuk a jelentéskészítési időszak értékeit, erre használjuk az ingatlant Lehetőségek elrendezési terület.
Header.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;
Nincs több hatókörű művelet Egy 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(Régiófejléc);
Ezután írjunk egy lekérdezést az adatbázisba, aminek segítségével felvesszük a számla forgalmát 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, átadjuk 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
Query.SetParameter("Account62" ,Számladiagramok.Önfenntartó.FindByCode("62" ));
A jelentéskészítés időszakát is át kell adni a kérésnek. Ne feledje, hogy a generálási időszakra vonatkozóan speciális jelentésadatokkal rendelkezünk, és ezeket paraméterként adjuk át.
Query.SetParameter("StartPeriod",StartPeriod); Query.SetParameter("EndPeriod",EndPeriod);
Kezdjük el írni a lekérdezés szövegét, ezt a lekérdezéskészítővel fogjuk megtenni. Sokban oktatási segédletek azt írják, hogy manuálisan és a 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 gyors és jó minőségű kódírás a prioritás, és az adatbázis lekérdezésének manuális fordítása során ezt szinte lehetetlen elérni, sok értékes időt kell töltenie reprodukálja az összes lekérdezési konstrukciót, keresse meg az írás közben elkövetett elírásokat stb. Ne vesztegessen időt a lekérdezések kézi megírására, hanem használja a lekérdezéskonstruktort. Időt takarít meg, és lehetővé teszi bonyolult 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 vigye a kurzort az idézőjelek közé, nyomja meg a gombot jobb gomb egérrel, és válassza ki az elemet Konstruktőr kérés. Megnyílik a lekérdezéstervező ablak.
Most ki kell választanunk a szükséges 1C 8 adatbázis táblát, szükségünk van egy virtuális táblára Forgások számviteli nyilvántartás önfenntartó. Keresse meg a tervezőablak bal oldalán
Vigyük át a területre táblázatokés töltsük ki a paramétereket. A lekérdezés összes virtuális táblájá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ó). Nyissa meg a beállítások ablakot virtuális asztal.
Töltsük ki a paramétereket, azt az időszakot, amit átadtunk a kérésnek. Ahhoz, hogy egy paramétert a kérés szövegében használhasson, egy szimbólumot kell írni a neve elé és (&)
Már csak a számlán lévő feltételt kell kitölteni. könyvelés. Ehhez keresse meg a sort a virtuális tábla paraméterei között ConditionAccountsés írj oda
Pontszám A HIERARCHIABAN (&Score62)
A feltételkészítőt a három ponttal ellátott gombra kattintva is használhatja.
Nem kell több feltételt szabni a virtuális asztalnak, ezért nyomja meg a gombot rendben a virtuális tábla beállításai ablakban. 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 nyomja meg a „+” jelet a neve mellett. Ezután húzza a szükséges mezőket a lekérdezéskészítő jobb szélső területére, melynek neve: Mezők. Ha megnyitjuk a számviteli számlatükört, akkor ezt látni fogjuk a számlánál 62 analytics által A partnernek – ez a Subconto1, és által Vállalkozói szerződés – Alkonto2.
Ezért a virtuális tábla mezőiből válassza ki 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, ehhez a fülre lépünk Szakszervezetek/Álnevekés állítsa be a kívánt 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 Eredmények segítségével állítjuk be az adatkimenetet a hierarchiában. Menjünk a lapra a konstruktorban Eredmények. Húzza őket egymás után a csoportosító mezőkbe szerződő fé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 megjelent a programkódban.
Query.Text = "VÁLASZTÁS | Önfenntartó forgalom. Subconto1 AS szerződő fél, | Önfenntartó forgalom. Subconto2 AS Vállalkozói Szerződés, | Self-supportingTurnovers.AmountTurnoverDt AS Bejövő, | ÖnfenntartóForgalom.ÖsszegForgalomKt AS Költség| FROM | RegisztrációSzámvitel.Önfenntartó.Forgalmak(&Időszak eleje, &Időszak vége, Számla A HIERARCHIABAN (&Számla62),) AS ÖnfenntartóForgalom EREDMÉNYEK | SUM(jövedelem), | SUM(Kiadás) | BE | partner, | Ügyfélszerződés";
Miután befejeztük a kérés megírását, megkezdjük a területek kitöltését DataContractor, DataAgreementContractorÉ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( szerződő félÉs Ügyfélszerződés) válasszon belőle adatokat az alábbiak szerint:
SelectionContractor = Query.Execute().Select(BypassingQueryResult.By Groupings);
Így az összes szerződő félre vonatkozó összesítést tartalmazó nyilvántartást kapunk.
Mielőtt a mintaadatokat egy ciklussal megkerülnénk, inicializáljuk a jelentés összegeinek kiszámítására szolgáló változókat:
Összes bevétel = 0; TotalExpense = 0;
Annak érdekében, hogy a jelentés adatai hierarchiában jelenjenek meg (és "+"-val elosztva), állítsa be a táblázat dokumentumsorainak automatikus csoportosításának kezdetét:
TabDoc.StartAutogroupRows();
Minden előkészület véget ért, most kezdjük el megkerülni a lekérdezés eredményeit. A bypass a hurok segítségével történik Viszlát
While SelectionContractor.Next() Cycle EndCycle ;A ciklus elején állítsa vissza a paramétereket EljövetelÉs Fogyasztás területeken DataContractor. Mire való? Képzeljünk el egy olyan helyzetet, amikor a partner Vasya bácsi, bevétel 10 és ráfordítás 5, valamint a következő szerződő félre 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 a sorban partner szerint Petya bácsi lesz 5 bevétel és 10 kiadás.
AreaDataAccount.Parameters.Incoming = 0; AreaDataAccount.Parameters.Expense = 0;
Ezt követően töltse ki a területet DataContractor minta cikkadatok
Fill inPropertyValues(AreaDataAccount.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, ezért a csoportosításban meg kell adnunk a sor szintjét (jelentésünkben két szint lesz, szerződő felek esetében a szerződéseknél az első).
TabDoc.Output(AreaDataAccount,1);
Most ennél a partnernél a szerződései alapján választunk ki.
SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings);
A bypass a hurok segítségével történik Viszlát.
While SelectionAgreementContractor.Next() Cycle EndCycle ;A partnerek szerződéseinek ciklusában visszaállítjuk 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.
AreaDataAgreement.Parameters.Income = 0; AreaDataAgreement.Parameters.Expense = 0; Töltse ki a PropertyValues értéket (AreaDataContract.Parameters, SelectionContractorContract); 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.
TotalIncome = TotalIncome + SelectionAgreementContractor.Income; TotalExpense = TotalExpense + Selection Vállalkozói Szerződés.Költség;
Ezzel lezárul az adatkiadás a területen DataContractor, DataAgreementContractor befejeződött, hátra van a táblázat dokumentumsorainak automatikus csoportosításának befejezése.
TabDoc.EndAutoGroupRows();
Teljesen ciklusok, amelyek felelősek az adatok kibocsátásáért a területre DataContractorÉs DataAgreementContractorígy néz ki:
TabDoc.StartAutogroupRows(); Míg SelectionContractor.Next() Loop AreaDataContractor.Parameters.Incoming = 0 ; AreaDataAccount.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataAccount.Parameters, SelectionAccount); TabDoc.Output(AreaDataAccount,1 ); SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings); Míg SelectionAgreementContractor.Next() Loop AreaDataAgreement.Parameters.Incoming = 0 ; AreaDataAgreement.Parameters.Expense = 0 ; Töltse ki a PropertyValues értéket (AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataAgreement,2 ); TotalIncome = TotalIncome + SelectionAgreementContractor.Income; TotalExpense = TotalExpense + Selection Vállalkozói Szerződés.Költség; EndCycle ; EndCycle ; TabDoc.EndAutoGroupRows();
Marad a terület összes adatának megjelenítése Pinceés megjeleníti magát a területet táblázatos dokumentum.
AreaBasement.Parameters.TotalIncome = TotalIncome; AreaBasement.Parameters.TotalExpense = TotalExpense; TabDoc.Output(Régióláb);
Ez egy külső jelentés írási folyamata az 1C 8 nélkül ACS használata elkészült. 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.
Nézzen meg egy videót a külső létrehozásáról nyomtatott formában kezelt alkalmazás esetén:
A felső menüben lépjen a Szolgáltatás->->.
Ezt követően megjelenik a címtárlista űrlap. A felső menüben kattintson a gombra Hozzáadás.
Megjelenik az új jelentés hozzáadására szolgáló ablak. Megnyomjuk a gombot Nyisd ki.
Válassza ki a kívánt jelentést tartalmazó fájlt, és kattintson a gombra Nyisd ki. A fájl hozzáadása után szükség esetén módosítsa a jelentés nevét (a listában való megjelenés módját). Kattintson rendben.
Ennek eredményeként az új jelentés megjelenik a listában.
Ezt követően a jelentés használható, a kiegészítés befejeződött. A jelentés későbbi megnyitásához nyissa meg a következőt is Szolgáltatás->További jelentések és feldolgozás->További külső jelentések.
BP 3.0, ZUP 3.0, UT 11, ERP 2.0 esetén.
Külső jelentés hozzáadásához az 1C:Enterprise 8.3 konfigurációkban egy felügyelt felületen (például Accounting 3.0), belépünk a program megfelelő szakaszába:
![](https://i0.wp.com/coderstar.ru/images/product67-2.png)
Szükséges, hogy a kiegészítő jelentések használatának jele engedélyezve legyen, kövesse a hivatkozást:
A megnyíló listában kattintson a gombra Teremt:
![](https://i0.wp.com/coderstar.ru/images/product67-4.png)
Ezt követően azonnal megnyílik egy párbeszédpanel a jelentést tartalmazó fájl kiválasztásához, amelyben ki kell választania a kívánt fájlt (esetemben ez a költségek terv-tényelemzését tartalmazó fájl).
Most be kell állítani szállás(az a hely a programban, ahol a jelentés elérhető lesz):
![](https://i0.wp.com/coderstar.ru/images/product67-5.png)
Véletlenszerűen válasszon a listából kívánt szakaszt programok:
![](https://i0.wp.com/coderstar.ru/images/product67-6.png)
Most rögzítenie kell a változásokat a külső jelentéskártyán:
Most nyissa meg a jelentést a program felületéről:
![](https://i2.wp.com/coderstar.ru/images/product67-8.png)
A lista üres, kattintson ide Lista testreszabása:
![](https://i0.wp.com/coderstar.ru/images/product67-9.png)
A kiválasztási űrlapon bejelöljük a jelentésünket:
![](https://i1.wp.com/coderstar.ru/images/product67-10.png)
Most megjelent a listán:
![](https://i2.wp.com/coderstar.ru/images/product67-11.png)
Gomb által Fuss megnyílik a jelentés űrlap:
![](https://i2.wp.com/coderstar.ru/images/product67-12.png)
Töltse le az univerzális objektumfeldolgozást 1C 8.3.
Az 1C platform 8.2-es és 8.1-es verziójának szokásos alkalmazásakor (szokásos űrlapokon) olyan csodálatos feldolgozás történt, mint az "objektumok univerzális kiválasztása és feldolgozása". Ez nagymértékben leegyszerűsítette a programozók és programadminisztrátorok életét.
Ugyanaz az 1C feldolgozás egy felügyelt alkalmazáshoz jelent meg (8.3 és 8.2). Ezt megelőzően az 1C 8.3-ban be kellett érni a részletekben a csoportos változások tipikus feldolgozásával, de ez nem oldja meg az összes olyan feladatot, amely egy 1C felhasználó vagy programozó napi munkájában szükséges.
Tárgyak keresése és kiválasztása
A feldolgozás letöltése után külsőként futtathatjuk. Aki nem tudja, ez a "Fájl" - "Megnyitás" menün keresztül történik. Megjelenik a feldolgozási ablak:
Az első lapon ki kell választanunk azt az objektumot, amellyel dolgozni fogunk. Így a "Keresés tárgya" mezőben a "Megvalósítás (cselekmények, számlák)" dokumentum már ki van választva. Ez azért van, mert már választottak adott tárgy. A feldolgozás emlékezhet.
A "Szűrőbeállítások" gombra kattintva az objektum szinte bármely mezőjére beállíthatjuk a szűrőt:
Ha ezek a kijelölések nem elegendőek, a kívánt objektumokat a segítségével választhatja ki önkényes kérés. Ehhez állítsa a „Kiválasztási mód” kapcsolót a megfelelő pozícióba.
Az összes beállítás után ki kell választani az objektumokat. Kattintson az "Objektumok keresése" gombra, és tekintse meg a kiválasztás eredményét:
Elemkezelés
Lépjünk a "Feldolgozás" fülre:
Különálló áttekintésÉrdemes talán csak az első három kezelést. A többiek munkája név szerint egyértelmű, és nem igényelnek beállításokat.
Önkényes algoritmus
Az „Önkényes algoritmus” feldolgozása lehetővé teszi, hogy az 1C belső nyelvén cselekvési programot írjon az objektumokra. A feldolgozás programozási ismereteket igényel, leírása külön cikket érdemel. Segítségével gyakorlati műveleteket végezhet tárgyakon:
Beállítási kellékek
A "Telepítési adatok" feldolgozása lehetővé teszi a kiválasztott dokumentumok vagy címtárak adatainak, valamint az információs nyilvántartások módosítását. Nagyon hasznos, és néha csak szükséges feldolgozás. Például cseréljük le a dokumentum pénznemét a kiválasztott dokumentumokban:
Azonnal meg kell jegyezni, hogy a feldolgozás azonnal elvégezhető, vagy elmentheti a beállítást. Ez a beállítás megjelenik a feldolgozási fában.
Objektum átszámozás
Az "Objektum újraszámozás" feldolgozása ennek megfelelően lehetővé teszi a dokumentumok újraszámozását vagy a hivatkozási kódok megváltoztatását. A feldolgozás műveletek gazdag készletét biztosítja. Például úgy dönt, hogy módosítja a kiválasztott dokumentumok előtagját:
Most nézzük, mit tehetünk az elmentett beállításokkal. Kiderült, hogy a "Kiválasztott feldolgozás" ablakba átlépve egy csomagban is végrehajthatjuk:
Most a "Futtatás" gombra kattintva szekvenciálisan végrehajthatjuk a kiválasztott beállításokat.
Forrás: programmer1s.ru
Fontolja meg ebben a cikkben lépésről lépésre utasításokat külső feldolgozás létrehozásához az 1C 8.3-ban a felügyelt alkalmazás módban, felügyelt űrlapokat fogunk használni. És ami a legfontosabb, megtanuljuk, hogyan csatlakoztassuk az 1C konfigurációk "külső feldolgozásának" mechanizmusához, amely a szabványos alrendszerek 2.0 és újabb verzióinak könyvtárára épül.
A feladat a következő lesz: létrehozni a legegyszerűbbet külső feldolgozás, amely csoportos műveletet hajt végre a "Nómenklatúra" referenciakönyvön, nevezetesen beállítja az áfakulcs kiválasztott százalékát a megadott cikkcsoportra.
Ehhez azonnal elvégezzük a szükséges beállításokat a programban (az 1C 8.3 konfigurációt tekintjük: „Enterprise Accounting 3.0” kezelt űrlapok).
Ennek a négyzetnek a bejelölése lehetőséget ad külső feldolgozás használatára.
Új külső feldolgozás létrehozása az 1C 8.3-ban példán keresztül
Most menjünk a konfigurátorhoz. A "Fájl" menüben válassza az "Új..." lehetőséget. Megnyílik egy ablak a létrehozandó fájl típusának kiválasztásához. Válassza a "Külső feldolgozás" lehetőséget:
Megnyílik egy új külső feldolgozó ablak. Azonnal adjunk neki nevet. A feldolgozás lemezre mentésekor felajánlja:
Adjunk hozzá egy új felügyelt feldolgozási űrlapot. Jelezzük, hogy ez a feldolgozási forma, és ez a fő:
Az űrlapon két kellékünk lesz:
- Nómenklatúra csoport - hivatkozás a "Nómenklatúra" kézikönyvre;
- SelectVAT Rate – hivatkozás az áfakulcs listájához.
A részleteket a jobb felső ablakban található "Kellékek" oszlopban hozzuk létre. Húzza őket az egérrel a bal felső ablakba. Az új adatoknak azonnal meg kell jelenniük az alábbi űrlapon.
A részletek sorrendje a "Fel" - "Le" nyilakkal módosítható:
Ingyenes 267 1C videóleckéket kaphat:
Továbbra is hozzá kell adni a "Telepítés" gombot. A kezelt űrlapokon nem csak egy gombot adhat hozzá az űrlaphoz. Még ha hozzáadja is az űrlapelemek szerkezetéhez, magán az űrlapon nem lesz látható. A gombot hozzá kell rendelni ahhoz a parancshoz, amelyet végrehajtani fog. Lépjen a "Parancsok" fülre, és adja hozzá az "ÁFA kulcs beállítása" parancsot. Hozzon létre egy műveletet a parancs tulajdonságai között. Válassza ki a parancskezelőt "A kliensen". Az űrlaphoz parancsot is hozzáadhat úgy, hogy egyszerűen áthúzza az űrlapelemeket tartalmazó szakaszba.
Az űrlapmodulban létrejön egy azonos nevű eljárás. Ebben meghívjuk az eljárást a szerveren:
&AtClient
Eljárás áfakulcs beállítása (parancs)
SetVATRateOnServer();
Vége eljárás
A szerveren az eljárás során írunk egy kis lekérdezést és az ÁFA kulcs beállításával kapcsolatos műveleteket:
&A szerveren
SetVATRateOnServer() eljárás
Request = Új kérés;
Kérelem.Szöveg =
"VÁLASZT
| Nomenklatúra.Link
| FROM
| Címtár Nomenklatúra AS Nómenklatúra
|HOL
| Nómenklatúra. Hivatkozás A HIERARCHIABAN (&Nómenklatúra csoport)
| ÉS NEM Nomenklatúra.Törlési jel
| És NEM a nómenklatúra. Ez a csoport”;
Query.SetParameter("Nómenklatúra Csoport", Nómenklatúra Csoport);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();
Míg SelectDetRecord.Next() Loop
Kísérlet
SprNo.Object.Write();
Kivétel
Report("Hiba a """ objektum írásakor + SprNoobObject + """!
|» + DescriptionError());
A kísérlet vége;
EndCycle;
Vége eljárás
Visszatérünk az "Űrlap" fülre, hozzáadunk egy gombot az űrlaphoz, és társítjuk a paranccsal:
Így a feldolgozásunk használatra kész. A híváshoz az „1C Enterprise” módban a „Fájl” - „Megnyitás” menübe kell lépnie, és ki kell választania a létrehozott fájlt.
Az ebben a módban végzett munka azonban kényelmes a hibakeresési feldolgozáshoz, és nem egészen alkalmas a felhasználó számára. A felhasználók megszokták, hogy minden „kéznél van”, vagyis magában az adatbázisban.
Ehhez a „További jelentések és feldolgozás” részt használjuk.
De ahhoz, hogy hozzáadjuk a feldolgozásunkat, először leírást kell adnunk neki, és meg kell mondanunk a programnak a tulajdonságait.
A külső feldolgozás részleteinek leírása
Mondok egy példát ennek a függvénynek a tartalmára. Exportálhatónak kell lennie, és ennek megfelelően a feldolgozó modulban kell elhelyezkednie:
Funkció DetailOnExternalProcessing() Export
DataForReg = New Structure();
DataForReg.Insert("Név", "Áfakulcs beállítása");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzió", "ver.: 1.001");
DataForReg.Insert("Információ", "ÁFA kulcs beállításának feldolgozása a Nómenklatúra könyvtárban");
DataForReg.Insert("View", "Additional Processing");
TabZnCommands = Új táblaértékek;
TabZnCommands.Columns.Add("Azonosító");
TabZnCommands.Columns.Add("Használat");
TabZnCommands.Columns.Add("View");
NewLine = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewLine.Usage = "FormOpen";
NewLine.View = "Nyitott feldolgozás";
DataForReg.Insert("Parancsok", TabZnCommands);
Return DataForReg;
EndFunctions
Ahhoz, hogy jobban megértsük, a regisztrációs adatstruktúra mely mezőit kell használnia, nézzük meg a „További jelentések és feldolgozás” címtár részleteit:
Mint látható, minden nagyon egyszerű. Csak egy attribútum nem egyezik: „Indítási opció” - „Használat”. Ha megnézzük az egyik gyakori modul kódját, látni fogjuk, hogyan keletkezik egy csomó ilyen mező:
Annak meghatározásához, hogy a struktúra mely mezőire van szükség, először nem írhatja le, csak hozzon létre egy üreset, majd használja a hibakeresőt. Ha a feldolgozás regisztrálásakor nyomon követi a modulokat, azonnal kiderül, hogy mely mezőket kell kitölteni és melyeket nem.