Külső jelentés csatlakoztatása 1s-ben 8.3. Számviteli információk

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ás

Most 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:


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:


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):


Véletlenszerűen válasszon a listából kívánt szakaszt programok:


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:


A lista üres, kattintson ide Lista testreszabása:


A kiválasztási űrlapon bejelöljük a jelentésünket:


Most megjelent a listán:


Gomb által Fuss megnyílik a jelentés űrlap:


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.

Külső feldolgozás csatlakoztatása az 1C-ben 8.3



Betöltés...
Top