tévék. Konzolok. Projektorok és tartozékok. Technológiák. Digitális TV

Jelentések és feldolgozás 1-ekre 8.2. Külső feldolgozás hozzáadása az adatbázishoz. Opcionális külső nyomólapok

Lépjen a felső menübe Szolgáltatás->->.

Megjelenik a külső feldolgozási könyvtár lista űrlapja. IN felső menü nyomja meg a gombot Hozzáadás.

Megjelenik az Új objektum hozzáadása űrlap. Kattintson a Megnyitás gombra, és válassza ki a kívánt feldolgozású fájlt. Miután kiválasztottad szükséges fájl, ha szükséges, adja meg a feldolgozás nevét (Név mező). Ezt követően az OK gombra kell kattintania a változtatások mentéséhez.

Ezt követően bezárul a könyvtárelem létrehozására szolgáló ablak, és visszakerül a lista űrlapra, amely már tartalmazza az új feldolgozást.

Ez minden! A feldolgozás konfigurációhoz való hozzáadásának folyamata befejeződött. A feldolgozás későbbi megnyitásához kövesse a régi útvonalat: Szolgáltatás->További jelentések és feldolgozás->További külső feldolgozás.

BP 3.0, ZUP 3.0, UT 11, ERP 2.0 esetén.

Az 1C:Enterprise 8 külső feldolgozása többféle típusú. Ebben az utasításban megmutatom, hogyan csatolhat feldolgozást csoportmódosításhoz és feldolgozást meghatározott objektumok kitöltéséhez.

Az első esetben feldolgozást adunk hozzá a nómenklatúra-könyvtár Excelből való kitöltéséhez.

Menjünk a program megfelelő részéhez:


A további jelentések használatához és a feldolgozáshoz be kell állítani a jelzőt a külső objektumok listájára mutató hivatkozásra:

Kattintson a listában Teremt:


A megnyíló párbeszédpanelen válassza ki a feldolgozásra kívánt fájlt:


A programban lévő új külső objektum kártyája kitöltve, már csak a konfigurálás van hátra szállás(a program azon részei, amelyekből a feldolgozás elérhető lesz):


Válasszon ki egy tetszőleges (vagy több) szakaszt az elhelyezéshez:


Írja be és zárja be a külső tárgykártyát:


Most nyissuk meg a feldolgozást a felületről:


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


Válassza ki feldolgozásunkat:


Most már választható. A feldolgozás megnyitásához kattintson a gombra Végrehajtás:


Most nézzük meg, hogyan kerül hozzáadásra az adott objektumok kitöltésére (módosítására) szolgáló feldolgozás. Például vegyük külső feldolgozás, amely a kiválasztott címtárelemekhez vagy rendszerdokumentumokhoz csatolja a beolvasásokat. Az ilyen feldolgozás hozzáadásának kezdete nem különbözik az előző lehetőségtől. A különbség az, hogy benne ebben az esetben az elhelyezés automatikusan kitöltésre kerül (és nem a programrész, hanem az adatbázis-objektumok típusai szerint):


Igény szerint az elhelyezési lista módosítható ( ne adjon hozzá további elhelyezést, hanem távolítsa el a feleslegeseket):


A változtatás elfogadásához a külső tárgykártyát is le kell írni.

A feldolgozás használatához egy adott adatbázis-objektumra kell lépnie (az elhelyezési listából), kattintson a gombra Kitölt a parancspanelen, és válassza ki a parancsot:

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. Készítsen 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

A jelentés 1C 8-ban történő generálásához elrendezésre van szüksége, ez egy sablon az adatok megjelenítéséhez, amelyben minden szükséges paraméter be van állítva, táblázatok vannak rajzolva stb. Tegyük hozzá új elrendezés, ehhez válassza ki az elemet a jelentés metaadatfájában 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 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 a riportkód írásánál 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 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ő.

On következő oldal konstruktor, 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 jelentésünk ebben fog megjelenni), adjunk neki nevet TabDoc;
  • Hozzon létre egy időszakválasztó gombot (ha rákattint, megjelenik egy párbeszédablak, 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 közös modulból 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); Vége eljárás

Most 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ázat 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 új jelentés generálásakor 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 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, amivel 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 feledje, 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 a konstruktor használatával is tudni kell kéré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ásból Ö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. Utána húzzuk kötelező 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. Sorban húzza 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 sorok automatikus csoportosításának kezdetét a táblázatos dokumentumban:

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. A bejárást hurok segítségével hajtjuk végre 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 5 bevétel és 10 kiadás.

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

A bejárást hurok segítségével hajtjuk végre 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 megjelenítse azt egy táblázatos dokumentumban a rekordok második szintjén.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Töltse ki az inPropertyValues-t (AreaContractData.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 + SelectionCounterparty Agreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense;

Ezzel lezárul az adatok kimenete a területen DataCounterparty, DataAgreementCounterparty befejezve, 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 (AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);:

TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.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

    Az üzemmódot „Biztonságos” vagy „Nem biztonságos”-ra állíthatja, pl. a feldolgozás futtatása a korlátozott jogok figyelembevételével vagy figyelmen kívül hagyása (mint a teljes jogokkal)

    Beállíthatja a használati módot: Ne használjon, hibakeresés, használat. „Ne használja” – nem működik, „Hibakeresés” – csak a rendszergazdák számára látható, „Használat közben”.

    Használható objektum- és listaformákban

    Egy feldolgozást vagy jelentést egyszerre minden objektumhoz köthet.

    Testre szabható gyors hozzáférés bizonyos külső feldolgozási parancsokhoz.

    Megadható, hogy a felület mely szakaszaiban jelenjenek meg a további feldolgozások, jelentések.

Tehát mit lehet szabványos konfigurációkhoz csatlakoztatni?

Platform szempontjából a következőkre csatlakozhat:

  • külső feldolgozás ("epf" kiterjesztésű fájlok);
  • külső jelentések ("erf" kiterjesztésű fájlok).

Az alkalmazási terület (konfiguráció) szempontjából külső feldolgozást és jelentéseket kapcsolhat össze az űrlappal*:

  • További feldolgozás
    • Csak egy kis extra feldolgozás. Lehetőség van testre szabni
  • Kiegészítő jelentés
    • Csak egy kiegészítő jelentés
  • Egy objektum kitöltése
    • Saját gombok az objektumok (dokumentumok) kitöltésére, korábban csak a táblázatos rész kitöltésére szolgáló gombok voltak.
  • Nyomtatható űrlap
    • Kiegészítő nyomtatott űrlap (egy „További” gomb kerül hozzáadásra nyomtatott űrlapok»)
  • Jelentés
    • Objektumokhoz (könyvtárak és dokumentumok) csatolt jelentés.
  • Kapcsolt objektumok létrehozása
    • Saját bevitel a következő alapján (a „Kapcsolódó objektumok létrehozása...” gomb hozzáadódik a „Bevitel alapján” menüponthoz)

*a szerkesztőség példájával „Egy kis cég vezetése szerk. 1,2"

Nézzük meg, hogyan is működik mindez. A külső feldolgozás és jelentéskészítés összekapcsolására létezik egy szabvány, amely leírja a külső feldolgozással és jelentéskészítéssel való interakció interfészét, és minden típusra általános követelmények vonatkoznak, és minden feldolgozási vagy jelentési típushoz vannak sajátos követelmények.

Kezdjük azzal általános követelmények minden típusú feldolgozáshoz és jelentéshez. Bedolgozó külső feldolgozás vagy jelentés létrehozásához deklarálnia kell az InformationOnExternalProcessing() exportfüggvényt az objektummodulban, amelynek ki kell töltenie a viselkedést leíró struktúrát. Egy példa erre a függvényre:

Funkció InformationOnExternalProcessing() Export
RegistrationData = Új struktúra;
Regisztrációs adatok.Insert("Név", "Példa külső feldolgozás használatára 8.2.");
RegistrationData.Insert("SafeMode", True);
RegistrationData.Insert("Verzió", "1.0");

//További feldolgozás
//További jelentés
//Az objektum kitöltése
//Jelentés
//PrintForm
//Kapcsolódó objektumok létrehozása
RegistrationData.Insert("View", "AdditionalProcessing");

Regisztrációs adatok.Insert("Információ", "A feldolgozás a külső feldolgozás csatlakoztatására szolgáló új szabvány szerint történik 8.2. Példa a feldolgozásra ""Hello Word"" ");

////////////// parancsok //////////////////////////
tzCommand = Új értéktábla;
tzCommand.Columns.Add("Azonosító");
tzCommand.Columns.Add("View");
tzCommand.Columns.Add("Módosító");
tzCommand.Columns.Add("Riasztás megjelenítése");
tzCommand.Columns.Add("Használat");


stringCommands.Identifier = "1";
stringCommands.View = "parancs ""Hello Word"" (OpenForm)";

stringCommands.Use = "OpenForm";

CommandString = tzCommand.Add();
stringCommands.Identifier = "2";
stringCommands.View = "parancs""Hello Word""(CallClientMethod)";
stringCommands.ShowAlert = Igaz;
stringCommand.Use = "CallClientMethod";

CommandString = tzCommand.Add();
stringCommands.Identifier = "3";
stringCommands.View = "parancs""Hello Word""(CallServerMethod)";
stringCommands.ShowAlert = Igaz;
stringCommand.Use = "CallServerMethod";

RegistrationData.Insert("Parancsok", tzCommands);

////////////// cél (mely tárgyakban használják) /////////////////////////
//űrlapok nyomtatására, kitöltésére, kapcsolódó objektumok bevitelére
//ArrayAssignments = Új tömb;
//Hozzárendelések tömbje.Add("Dokumentum.*"); // minden dokumentum hozzá van rendelve
//Hozzárendelések tömbje.Add("Document.Advance Report");
//Assignments tömbje.Add("Dokumentum.Vevő rendelése");
//Regisztrációs adatok.Insert("Cél", Cél tömb);

Regisztrációs adatok visszaküldése;

EndFunction

Tehát, amint látható, a függvény kitölti a Regisztrációs adatok struktúrát, amely a következő elemekkel (paraméterekkel) rendelkezik:

    Név – a kezelés rövid neve

    Verzió – információ a feldolgozási verzióról

    Biztonságos mód– felelős azért, hogy a feldolgozást a felhasználó jogainak figyelembevételével kell-e elvégezni. Ha Hamis értékre van állítva, a feldolgozás vagy a jelentés a jogkorlátozások figyelembevétele nélkül történik (mint a teljes jogok esetében). Ez a funkció pontosan a 8.2-ben jelent meg, ahol a külső feldolgozás és riportok létrehozásakor a második paraméter határozza meg a módot.

    Típus – a feldolgozás vagy jelentés típusa. A cikk elején felsoroltam a lehetséges értékeket, ill lehetséges értékek telepítéshez a kódban van feltüntetve a megjegyzésekben

  • Parancsok – egy értéktáblázat, amely felsorolja a használt parancsokat. Értéktábla oszlopai:
    • Azonosító – bármilyen karakterlánc (parancsazonosító)
    • Nézet - parancs leírása
    • Módosító - karakterlánc (további nyomtatott űrlapokhoz használatos)
    • Értesítés megjelenítése – az értesítési ablak a végrehajtás kezdete előtt és vége után jelenik meg (űrlap nélküli ügyfél- és szerverparancsoknál)
    • Használat – feldolgozás indítási mód:
      • OpenForm – megnyílik a feldolgozási űrlap
      • CallClientMethod – hívja meg az űrlap ügyfél exportálási metódusát
      • Call ServerMethod – az exportálási metódus hívása a feldolgozó modulból

A feldolgozás vagy jelentés típusától, valamint a „Használat” parancs indítási módjától függően az űrlapmodulban vagy az objektummodulban meghatározott metódusok kerülnek meghívásra. Az átadott paraméterek listája is eltérő. Példákat csatolok a hívásokra és az összes feldolgozási mód használatára.

Elég gyakran, amikor egy konzultáció során valamilyen megoldásra van szükség nehéz kérdés, azt javaslom ügyfeleimnek, hogy implementálják az 1C programban bármelyik használatával külső feldolgozás, vagy külső nyomdalap. És gyakran találkozom azzal a ténnyel, hogy az emberek egyszerűen nem ismerik ezt a lehetőséget az 1C Enterprise 8 platformon, néha még káromkodnak is rám, és azt hiszik, hogy az ilyen feldolgozás fejlesztése és megvalósítása a konfigurációjuk részeként nem tudja automatikusan frissíteni a programot. Hogy a program frissítéséért sok pénzt kell fizetnie.

Az ilyen kérdések tisztázása érdekében, valamint arról, hogy milyen hasznos lehetőségeket kínálnak a külső feldolgozás és a külső nyomtatási formák, úgy döntöttem, hogy megírom ezt a cikket. Ebben a cikkben nem foglalkozom a feldolgozás létrehozási folyamatának technikai oldalával. Erről valószínűleg egy másik kiadványban lesz szó. Itt megpróbálom elmagyarázni a mechanizmus lényegét, és konkrét példákat hozni azokra az esetekre, amikor a külső feldolgozási és nyomtatási formák előnyösek lehetnek a felhasználó számára.

A cikk a további külső csatlakoztatható objektumok következő lehetőségeit tárgyalja:

  • A táblázatos részek további külső feldolgozása;
  • További külső nyomtatási formák;
  • További külső jelentések;
  • További külső feldolgozás.

Mik azok a további külső feldolgozások, jelentések és nyomtatott űrlapok?




Először is szeretnék általánosságban beszélni mik ezek a külső feldolgozások, jelentések és nyomtatott űrlapok?. Elég gyakran, amikor egy szabványos konfigurációval dolgozik, legyen az 1C ZUP vagy 1C Enterprise Accounting vagy más konfiguráció, szükség van néhány olyan funkcióra, amelyet az 1C fejlesztői nem biztosítanak. Például szüksége lehet nyomtatott formában, amely nem szabályozott, hanem a szervezet belső igényeire szolgál. Vagy bizonyos módon szükséges folyamat (módosítás, beállítás) az adatbázisban elérhető adatok. Például bizonyos részletek módosítása a dokumentumokban a szükséges időtartamra, amit kényelmetlen kézzel megtenni nagy kötetek információ.

Ebben az esetben két lehetőség van. Első, módosíthatjuk magát a konfigurációt, magát a programot. Ezt követően megszűnik a jellemző, és elég lesz ezekkel frissíteni egyszerű módokon, amiről írtam, nem fog működni. A nem szabványos konfiguráció frissítése hosszabb és komolyabb folyamat, így ezzel a megközelítéssel nagy valószínűséggel havonta kell fizetnie egy 1C szakembernek a program frissítéséért. Második Lehetőség van külső feldolgozási vagy nyomtatott űrlap (jelentés) fejlesztésére vagy kérésére. Ez lényegében egy külső modul, amely szintén az 1C programozási nyelven lett kifejlesztve a Configuratorban, de nem módosítja a szabványos konfigurációt. Magától a konfigurációtól függetlenül létezik. Tárolásukra speciális könyvtárakat használnak: főmenüpont „Szolgáltatás” -> „További jelentések és feldolgozás”.

További külső feldolgozás a táblázatos részek kitöltéséhez

„Lifehacks for 1C ZUP 3.1” szeminárium
15 life hack elemzése az 1C ZUP 3.1 számviteléhez:

ELLENŐRZŐ LISTA a bérszámfejtések ellenőrzéséhez az 1C ZUP 3.1-ben
VIDEÓ - könyvelés havi önellenőrzése:

Bérszámfejtés az 1C ZUP-ban 3.1
Lépésről lépésre utasítások kezdőknek:

Most pedig nézzük meg, milyen lehetőségeket kínál a négy elérhető lehetőség mindegyike. külső modulok. Kezdjük azzal táblázatos részek külső feldolgozása. Számomra úgy tűnik, hogy a dokumentumok táblázatos részeinek ez a feldolgozása illusztrálja a legteljesebben, hogyan lehet komolyan módosítani egy programot anélkül, hogy a szabványos konfigurációt szerkesztené, hanem csak külső feldolgozással kell megbirkóznia.

Hogy érthetőbb legyen, megadom konkrét példa gyakorlatomból, amelyben megoldom az általam használt problémát táblázatos részek külső feldolgozása. Az "1C fizetés és személyzet menedzsment" 2.5-ös kiadásában van egy dokumentum "Ünnepnapi és hétvégi fizetés"(Erről a dokumentumról részletesen írtunk). Ez a dokumentum szabványos formájában lehetőséget ad automatikus töltés az alkalmazottak táblázatos részét „Szünnapokon végzett munka”.

A könyvelő azt kérte, hogy valósítsák meg e dokumentum kitöltésének lehetőségét azon alkalmazottak számára, akiknek munkanapja hétvégére esne, pl. "Hétvégi munka".

Ez a fájl feltöltve a könyvtárba "A táblázatos részek külső feldolgozása"("Szolgáltatás" -> "További jelentések és feldolgozás" -> "Táblázatos részek további külső feldolgozása" menüpont). A címtár egy elemének létrehozásakor jelezték, hogy a letöltött feldolgozás melyik dokumentumhoz kapcsolódik - „A szervezet ünnepeinek és hétvégéinek fizetése”, valamint melyik táblázatos részhez - „Alkalmazottak”. Példánkban táblázatos rész egy dokumentumnak van ilyen, de a többi dokumentumnak több is lehet, ezért szükséges külön jelezni, hogy melyikre vonatkozik a feldolgozás.

Ennek a feldolgozásnak a könyvtárhoz való hozzáadásának eredményeként „További külső feldolgozás a táblázatos részek kitöltéséhez” magában a „Szünnapok és hétvégi részek fizetése” dokumentumban megjelenik egy „Kitöltés” ​​gomb egy legördülő listával, amelyben lehetőség nyílik a feldolgozás elindítására. Esetünkben a „Vasárnapok kitöltése” gomb elérhető a legördülő listában. Megnyomása elindítja a feldolgozásban szereplő algoritmust. IN ebben a példában A táblázatos részt azok a munkavállalók töltik ki, akiknek a munkanapja szabadnapra esett. Kérjük, vegye figyelembe, hogy ez a gomb korábban nem létezett (a fenti képernyőkép).

Ez a mechanizmus lehetővé teszi nagyon széles kör kérdéseket tesz fel anélkül, hogy magát a konfigurációt módosítani kellene. Ezért gyakran élek ezzel a lehetőséggel az ügyfelek feladatainak végrehajtására.

Opcionális külső nyomólapok

„Lifehacks for 1C ZUP 3.1” szeminárium
15 life hack elemzése az 1C ZUP 3.1 számviteléhez:

ELLENŐRZŐ LISTA a bérszámfejtések ellenőrzéséhez az 1C ZUP 3.1-ben
VIDEÓ - könyvelés havi önellenőrzése:

Bérszámfejtés az 1C ZUP-ban 3.1
Lépésről lépésre kezdőknek:

Ez az opció nagyon hasonlít az előzőhöz. Valószínűleg Ön is látta és tudja, hogy szinte minden dokumentumnak, sőt a segédkönyvek egyes elemeinek is van nyomtatott űrlapja. Ezek általában egy könyvtárelem vagy dokumentum formájának jobb alsó sarkában találhatók. Néha a szabványos nyomtatott űrlapok nem elegendőek. Például egy szervezetnek lehet saját munkaszerződési formája. Hadd emlékeztessem Önöket arra, hogy a „Munkaszerződés” szabvány nyomtatott űrlapja az „Alkalmazottak” névjegyzékben található.

A címtár ezen nyomtatott űrlapjaihoz hozzáadhatja a sajátját. Erre a célra egy külső nyomtatott űrlapot készítenek „.epf” kiterjesztéssel. Ezután létrejön hozzá egy könyvtárelem "További külső nyomólemezek"("Eszközök" -> "További jelentések és feldolgozás" menüpont) és ehhez a könyvtárelemhez egy ".epf" kiterjesztésű fájl kerül. Azt is meg kell jelölni, hogy mely dokumentumhoz vagy segédkönyvhöz történik a feldolgozás.

Ennek eredményeként az „Alkalmazottak” címtár elemeinek nyomtatott űrlapjainak részeként egy másik űrlap jelenik meg - „Munkavállalkozási szerződés (Alpha LLC)”, amely korábban nem létezett. És őt megjelenés az adatkitöltést pedig a programozó határozza meg az „.epf” fájlban.

A dokumentumokhoz és referenciakönyvekhez szükséges nyomtatott űrlapok hozzáadásának képessége szintén nagyon gyakran igényelt, és véleményem szerint az 1C Enterprise platformon található programok meglehetősen kényelmes funkciója.

További külső jelentések

Ebben az esetben lehet fejlődni külső jelentés. Ez egy „.erf” formátumú fájl. Ez a fájl határozza meg a jelentés megjelenését, milyen konfigurációs adatokat fog használni, és melyeket kér a felhasználótól (például időszak, alkalmazott vagy osztály szerinti kiválasztás). A fájl az 1C konfigurátorban jön létre 1C programozási nyelven.

Egy külső jelentés a konfiguráció részeként tárolható a „További külső jelentések” hivatkozási könyv segítségével (“Eszközök” -> “További jelentések és feldolgozás” menüpont). Ezek nem egy adott dokumentumhoz vagy referenciakönyvhöz kapcsolódnak, ez az információ nem kötelező.

Ezzel a tárolási lehetőséggel a jelentés ugyanabból a könyvtárból indul el (dupla kattintással).

Külső jelentést is indíthat a „Fájl” -> „Megnyitás” menüponttal. Ez az opció akkor használható, ha kényelmesebb a külső jelentések tárolása nem a program részeként, hanem egyszerűen a számítógép mappáiban.

További külső feldolgozás

Külső kezelések hozzávetőlegesen ugyanazt jelentik, mint a külső jelentések. De ellentétben a jelentésekkel, amelyeket az adatok megtekintéséhez használnak információs bázis felhasználóbarát formátumban a feldolgozás az információs alapadatok megváltoztatására, szerkesztésére vagy konvertálására szolgál. A külső feldolgozással megoldható problémák köre meglehetősen széles.

Például, feldolgozás a bérkivonatok feltöltéséhez. A szabványos feldolgozás jelenléte ellenére a ZUP-ban (erről olvassa el), néha előfordulhat, hogy nem megfelelő egy adott bank számára, és olyan külső feldolgozást fejlesztettek ki, amely átalakítja és letölti az információkat a kívánt formátumban.

hozom neked másik példa egy teljesen egyszerű, de meglehetősen népszerű kezelés. Ha az 1C ZUP-ban az év során nem tartja fenn a „Szja átutalás a költségvetésbe” dokumentumot, akkor az évre vonatkozó 2 személyi jövedelemadó generálásakor az „Átvitt” mező minden munkavállalónál nulla lesz, ami általában tényszerűen téves. A „Szja átutalása a költségvetésbe” dokumentum bevitele az egész évre meglehetősen fárasztó lehet, tekintettel magának a dokumentumnak a sajátosságaira. De elvégezheti a külső feldolgozást, amely a generált 2-NDFL-ben egyszerűen kitölti a „Listázott” mezőt minden alkalmazottnál, a „Kiszámított” mező értékei alapján. A könyvelők általában nagyon szeretik ezt a lehetőséget.

A külső feldolgozásnak pontosan ugyanaz a két tárolási és indítási lehetősége van: vagy használja a könyvtárat "További külső feldolgozás"("Eszközök" -> "További jelentések és feldolgozás" menüpont), vagy a "Fájl" -> "Megnyitás" főmenüpont.

Mára ennyi!

Ha elsőként szeretne értesülni az új kiadványokról, iratkozzon fel a blogfrissítésekre:

Figyelem!
Az ITS lemezekről történő minden feldolgozás információs célokat szolgál, és kizárólag regisztrált ITS-felhasználók számára.

Tárgyak kiválasztása és feldolgozása. (Egyetemes)

Olyan objektumokat keres a dokumentumokban és könyvtárakban, amelyek megfelelnek bizonyos feltételeknek. Feldolgozza a keresési eredményeket.

Az információs bázis konvolúciója. (Egyetemes)

Tipikus konfigurációk információbiztonsági összesítését hajtja végre:

  • UPP 3.1.
  • BP 1.6.
  • UT 10.3.

Változások regisztrációja csere céljából. (Egyetemes)

Felügyelt alkalmazás módban szerkeszti a kicserélt objektumok változásainak regisztrálását. Lehetővé teszi az aktuális regisztráció módosítását a különböző csomópontokon. Módosítja a fogadott és elküldött üzenetek számát.

Felhasználói tevékenységnapló konverzió. (Egyetemes)

A felhasználói műveletek naplóját programmá alakítja, beépített nyelven.

Teljes szöveges keresés az adatokban. (Egyetemes)

Adatok indexelése és keresése.

Értékek keresése és pótlása. (Egyetemes)

Referenciaértékeket keres és cserél az információbiztonsági objektumokban.

Technológiai napló felállítása. (Egyetemes)

Létrehoz vagy szerkeszt egy folyamatnaplófájlt. Lehetősége van összeomlási dump létrehozásának konfigurálására, feltételek és események konfigurálására, amelyek előfordulásakor az információk rögzítésre kerülnek ebben a naplóban.

Munkakonzol. (Egyetemes)

Figyeli a hátteret és rutinfeladatokat. Töröl, újakat hoz létre.

Külső feldolgozás átalakítása. (Egyetemes)

Bizalmas információk megváltoztatása. (Egyetemes)

Az információbiztonság szelektív megváltoztatása vagy törlése bizonyos információktól.

A részletek csoportos változása. (Egyetemes)

Módosítja a részleteket és a táblázatos részeket a dokumentumokban és kézikönyvekben.

Felhasználók feltöltése és betöltése. (Egyetemes)

Feltölti és betölti az információbiztonsági felhasználókat egy XML-fájlba.

Adatok feltöltése külső adatbázisokba. (Egyetemes)

Adatstruktúrákat tölt fel külső DBMS-ekbe az ADO használatával, két módban:

  • Töltse ki az összeset
  • Módosítások feltöltése (a működő IS változásainak szinkronizálására szolgál a fogadó IS-vel). Ez a mód csereterv-mechanizmusokat használ.

A következő DBMS-eket támogatja:

  • Microsoft SQL
  • IBM DB2
  • Jóslat
  • PostgreSQL
  • MySQL

XML adatok feltöltése és betöltése. (Egyetemes)

Teljesen és részben adatokat tölt fel és tölt be az információbiztonságba. Az objektumösszetételben hasonló konfigurációk közötti adatok átvitelére szolgál.

Adatok betöltése táblázatos dokumentumból. (Egyetemes)

Adatokat tölt be könyvtárakba és táblázatos dokumentumokból táblázatos részeket.

Működik vastag kliensben normál alkalmazási módban.

Konzol kérése. (Egyetemes)

Nagy segítséget nyújt a jelentéskészítésben és a lekérdezések létrehozásában.



Kapcsolódó kiadványok