itthon / Dolgozzon az interneten / Külső jelentések és feldolgozás 1s vállalat számára. Külső feldolgozás hozzáadása az adatbázishoz. Mik azok a további külső feldolgozás, jelentések és nyomtatványok

Külső jelentések és feldolgozás 1s vállalat számára. Külső feldolgozás hozzáadása az adatbázishoz. Mik azok a további külső feldolgozás, jelentések és nyomtatványok

Fontolja meg, hogy 1s 8-ban készítsen külső jelentést adatösszetételi 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

A jelentés 1s 8-ban történő generálásához elrendezésre van szükség, ez egy sablon az adatkimenethez, amelyben minden szükséges paraméter be van állítva, táblázatok vannak rajzolva 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 állítsa be a paramétereket 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.

Tovább következő oldal konstruktor, 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 mezővezérlőt az űrlaphoz táblázatos dokumentum(jelentésünk meg fog jelenni benne), adj neki 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 tól től közös modul 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 rögzítése lerövidül, ami azt jelenti, hogy a programkód jobban olvasható 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 nagyobb erőfeszítés nélkül írhat. összetett lekérdezések. 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 jobb egérgombot é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 regiszterből ö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. Utána húzzuk Szükséges Mezők a lekérdezéstervező 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óKönyvelés.Önfenntartó.Forgalom(&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 kijelölésből, és jelenítse meg egy táblázatos dokumentumban a rekordok második szintjén.

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

Ezzel befejeződik a külső jelentés írási folyamata az 1C 8-hoz ACS használata nélkül. Most 1C:Enterprise 8 módban generálható és hozzáadható a könyvtárhoz Külső feldolgozás A cikkben tárgyalt jelentésfájlt letöltheti.

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

Az 1C: Enterprise 8.2 platform külső feldolgozása, jelentések és nyomtatványok összekapcsolására fejlesztették ki új szabvány felügyelt alkalmazásban való futtatáshoz (a Standard Library alrendszer 8.2 szabványa). Voltak "chipek", amelyek korábban nem voltak, nevezetesen:

    Bővült a feldolgozás típusa: objektum kitöltése, kapcsolódó objektumok létrehozása. Mostantól a dokumentumokban hozzáadhat saját gombokat a teljes dokumentum kitöltéséhez, valamint saját gombokat az alapon történő bevitelhez.

    Egy feldolgozás egyszerre több műveletet (parancsot) tartalmazó listát tartalmazhat, pl. egy feldolgozást végezhet, ahol egyszerre több menüpont lesz: nyomtatás és szállítólevél, adásvételi bizonylat nyomtatása, jótállási jegy nyomtatása. (Szerző megjegyzése: korábban a régi szabványban az ilyesmihez mindent egyszerre kellett csinálni (még ha nem is kellett) és nem kellett bezárni, vagy saját formát rajzolni, amelyen a szükséges gombok voltak a szükséges művelet kiválasztásához)

    Egyszerre több objektum alapján is megadhat és kitölthet objektumokat, nem csak egy alapján

    Ütemezheti a kiszolgálóparancsok végrehajtását (a szerveren).

    Beállíthatja a módot "Biztonságos" vagy "Nem biztonságos", azaz. a feldolgozás megkezdése a jogkorlátozás figyelembevételével vagy figyelmen kívül hagyása (mint a teljes jogok alatt)

    Beállíthatja a használati módot: Ne használjon, hibakeresés, használat. "Ne használja" - nem a munkahelyen, "Hibakeresés" - csak az adminisztrátorok számára látható, "Használat a munkahelyen".

    Tartalmazhatja a felhasználást objektumformákban és lista formában

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

    testreszabható 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?

A platform szempontjából 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 a * űrlappal:

  • További feldolgozás
    • Csak 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 (dokumentum) kitöltésére, korábban csak a táblázatos rész kitöltésére voltak gombok.
  • Nyomtatási űrlap
  • Jelentés
    • Objektumokhoz (könyvtárakhoz és dokumentumokhoz) csatolt jelentés.
  • Kapcsolt objektumok létrehozása
    • Saját bevitel alapján (a "Bevitel alapján" menüpontban hozzáadódik a "Kapcsolódó objektumok létrehozása..." gomb)

*a szerkesztőség példáján „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ához létezik egy szabvány, amely leírja a külső feldolgozással és jelentéskészítéssel való interakció felületét, és minden típusra általános követelmények vonatkoznak, és minden feldolgozási vagy jelentéstípusra külön követelmények vonatkoznak.

Kezdjük azzal Általános követelmények minden típusú feldolgozáshoz és jelentéshez. Kapcsolat létrehozása érdekében külső feldolgozás vagy jelentést, akkor az objektummodulban deklarálni kell az InformationOnExternalProcessing() export függvényt, amely kitölti a viselkedést leíró struktúrát. Egy példa erre a függvényre:

Funkció DetailOnExternalProcessing() Export
RegistrationData = Új struktúra;
RegistrationData.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
//Create AssociatedObjects
RegistrationData.Insert("View", "AdditionalProcessing");

RegistrationData.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 ""Hello Word""" feldolgozásra);

////////////// parancsok ///////////////////////////
tsCommand = Új értéktábla;
tzCommand.Columns.Add("Azonosító");
tzCommand.Columns.Add("View");
tzCommand.Columns.Add("Módosító");
tzCommand.Columns.Add("ShowNotification");
tzCommands.Columns.Add("Use");


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

commandstring.Usage = "OpeningForm";

CommandString = tzCommand.Add();
stringCommand.Identifier = "2";
stringCommand.View = "parancs ""Hello Word"" (ClientMethodCall)";
stringCommand.ShowAlert = igaz;
CommandString.Usage = "CallClientMethod";

CommandString = tzCommand.Add();
stringCommand.Identifier = "3";
stringCommand.View = "parancs ""Hello Word"" (ServerMethod Call)";
stringCommand.ShowAlert = igaz;
Commandstring.Usage = "CallServerMethod";

RegistrationData.Insert("Parancsok", tzCommands);

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

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

EndFunctions

Tehát, amint láthatja, a függvény kitölti a RegistrationData struktúrát, amely a következő elemekkel (paraméterekkel) rendelkezik:

    Név – a feldolgozás rövid neve

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

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

    Nézet – feldolgozás vagy jelentés típusa. A lehetséges értékeket a cikk elején felsoroltam, és lehetséges értékek telepítéshez a kódban vannak feltüntetve a megjegyzésben

  • Parancsok - egy értéktáblázat, amely felsorolja a használt parancsokat. Az értéktáblázat oszlopai:
    • Azonosító – bármilyen karakterlánc (parancsazonosító)
    • Nézet - parancs leírása
    • Módosító - karakterlánc (további nyomtatási űrlapokhoz használatos)
    • ShowNotification – az értesítési ablak a végrehajtás kezdete előtt és vége után jelenik meg (űrlap nélküli kliens és szerver parancsoknál)
    • Használat - feldolgozás indítási módja:
      • Az űrlap megnyitása - megnyílik a feldolgozási űrlap
      • CallClientMethod – hívja meg az ügyfél exportálási módszer űrlapját
      • ServerMethod hívása - exportálási metódus hívása 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, objektummodulban meghatározott metódusok kerülnek meghívásra. Az átadott paraméterek listája is eltérő. Példák a hívásokra és az összes feldolgozási mód használatára mellékelve.

Gyakran, amikor egy konzultáció során valamilyen összetett probléma megoldása válik szükségessé, azt javaslom ügyfeleimnek, hogy az 1C programban valósítsák meg külső feldolgozás, vagy külső nyomólap. És gyakran találkozom azzal a ténnyel, hogy az ember egyszerűen nem ismeri az 1C Enterprise 8 platformon található programok ilyen lehetőségét. Néha még káromkodnak is rám, és azt hiszik, hogy az ilyen feldolgozás fejlesztése és bevezetése a konfigurációjukba lehetetlenné teszi. a program automatikus frissítéséhez. Hogy nagy pénzt kell fizetni a program frissítéséért.

Annak érdekében, hogy tisztázzuk az ilyen kérdéseket, valamint elmondjuk, miről hasznos funkciókat külső feldolgozási és külső nyomtatási formákat ad, úgy döntöttem, hogy megírom ezt a cikket. A cikkben nem foglalkozom a feldolgozás létrehozási folyamatának technikai oldalával. Erről nagy valószínűséggel egy másik bejegyzésben 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ás, jelentések és nyomtatványok




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 tipikus konfigurációval dolgozik, legyen az 1C ZUP vagy 1C Enterprise Accounting vagy más konfiguráció, szükség van valamilyen 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, javítás) az adatbázisban elérhető adatok. Például bizonyos részletek módosítása a dokumentumokban a kívánt időtartamra, amit kényelmetlen kézzel elvégezni nagy mennyiségű információ esetén.

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 ez megszűnik tipikusnak lenni, és frissíti azokkal egyszerű módokon amiről írtam, nem fog működni. A nem szabványos konfiguráció frissítése hosszabb és komolyabb folyamat, ezért ezzel a megközelítéssel valószínűleg 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) kidolgozására 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: a "Szolgáltatás" -> "További jelentések és feldolgozás" főmenüpontot.

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

"Life hack for 1C ZUP 3.1" szeminárium
15 könyvelési életszakasz elemzése 1s zup 3.1 alatt:

ELLENŐRZŐ LISTA a bérszámfejtés 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 szóló utasítás kezdőknek:

Most pedig nézzük meg, hogy a négy elérhető külső modul mindegyike milyen funkciókat biztosít számunkra. 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 szemlélteti a legteljesebben, hogyan lehet komolyan módosítani a programot anélkül, hogy a tipikus konfigurációt szerkesztené, hanem csak külső feldolgozást használna.

Hogy érthetőbb legyen, hozok egy konkrét példát a gyakorlatomból, amelyben a probléma megoldására használtam táblázatos részek külső feldolgozása. Az „1C bér- és HR-menedzsment” 2.5-ös kiadás konfigurációjában van egy dokumentum "Ünnepnapi és hétvégi fizetés"(ez a dokumentum részletesen meg van írva). Ez a dokumentum tipikus formában lehetővé teszi a táblázatos rész automatikus kitöltését az alkalmazottak által „Szünnapokon végzett munka”.

A könyvelő azt kérte, hogy e dokumentum kitöltésének lehetőségét valósítsák meg azon alkalmazottak számára, akiknek a munkanapja az ütemezés szerint hétvégére esett, 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"("Eszközök" -> "További jelentések és feldolgozás" -> "Táblázatos részek további külső feldolgozása" menüpont). A könyvtár elemének létrehozásakor jelezték, hogy a letöltött feldolgozás melyik dokumentumhoz tartozik - "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 a dokumentumban egy van, de a többi dokumentumban több is lehet, ezért külön meg kell jelölni, hogy ezek közül melyikhez tartozik 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 táblázatos részek kitöltéséhez" magában az „Ünnepnapi és hétvégi fizetés” dokumentumban megjelenik a „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ásával elindul a feldolgozásban szereplő algoritmus. BAN BEN ezt a példát a táblázatos részt azokkal az alkalmazottakkal töltjük 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 a problémák nagyon széles skálájának megoldását a konfiguráció finomítása nélkül. Ezért gyakran használom ezt a lehetőséget ügyfélfeladatok megvalósítására.

További külső nyomólapok

"Life hack for 1C ZUP 3.1" szeminárium
15 könyvelési életszakasz elemzése 1s zup 3.1 alatt:

ELLENŐRZŐ LISTA a bérszámfejtés 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 a lehetőség 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 könyvtárak egyes elemeinek is van nyomtatott űrlapja. Ezek a szabályok szerint a könyvtár vagy dokumentum űrlap elemének 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” nyomtatott formanyomtatvány a „Munkavállalók” kézikönyv nyomtatványának része.

A címtár ezen nyomtatott űrlapjaihoz hozzáadhatja a sajátját. Ehhez egy külső nyomtatási űrlapot kell létrehozni „.epf” kiterjesztéssel. Ezután létrejön hozzá egy könyvtárelem "További külső nyomólemezek"("Szolgáltatás" -> "További jelentések és feldolgozás" menüpont) és egy ".epf" kiterjesztésű fájl kerül hozzáadásra a könyvtár ezen eleméhez. Azt is meg kell adni, hogy mely dokumentum- vagy könyvtárfeldolgozást kell hozzáadni.

Ennek eredményeként egy további űrlap jelenik meg az „Alkalmazottak” címtár elemeinek nyomtatott űrlapjainak összetételében - „Munkaszerződés (LLC Alfa)”, amely korábban nem létezett. És ő kinézet az adatkitöltést pedig a programozó határozza meg az „.epf” fájlban.

Ez a lehetőség a dokumentumokhoz és könyvtárakhoz szükséges nyomtatási űrlapok hozzáadására szintén nagyon gyakran igényelt, és véleményem szerint ez egy meglehetősen kényelmes funkció az 1C Enterprise platformon.

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.

A "További külső jelentések" könyvtár segítségével ("Eszközök" -> "További jelentések és feldolgozás" menüpont) külső jelentés tárolható a konfiguráció részeként. Nem egy adott dokumentumhoz vagy könyvtárhoz kapcsolódnak, ezek az információk nem kötelezőek.

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

Külső jelentést is futtathat a "Fájl" -> "Megnyitás" menüponttal. Ez az opció akkor használható, ha kényelmesebb, ha a külső jelentéseket nem a program részeként, hanem egyszerűen a számítógépén lévő mappákban tárolja.

További külső feldolgozás

Külső feldolgozás nagyjából 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 célja az infobázis adatok megváltoztatása, szerkesztése vagy átalakítása. A külső feldolgozás segítségével megoldható feladatok köre meglehetősen széles.

Például, feldolgozás bérszámfejtési kivonatok kirakodásához. A ZUP-ban való jelenlét ellenére tipikus feldolgozás(olvasd el), előfordulhat, hogy nem megfelelő egy adott bank számára, és egy külső feldolgozást fejlesztenek, amely konvertálja és feltölti az információkat a kívánt formátumban.

hozok még egy példa elég szerény, de elég népszerű feldolgozás. Ha az 1C ZUP-ban az év során nem tartják meg a „Személyi jövedelemadó átutalás a költségvetésbe” dokumentumot, akkor az év 2 személyi jövedelemadójának kialakításakor a „Lista” mező minden munkavállaló esetében nulla lesz, ami általában valójában helytelen. A „Személyi jövedelemadó á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. Általában a könyvelők 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 hivatkozást "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.

Ez minden mára!

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 az ITS regisztrált felhasználói 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.

Információs bázis összegzése. (Egyetemes)

A tipikus konfigurációk IB összegzését hajtja végre:

  • SCP 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 csereobjektumok 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 beépített nyelven programmá konvertálja a felhasználói műveletek naplóját.

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

Indexelés és keresés az adatokban.

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

Referenciaértékeket keres és cserél az IS 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 ebbe a naplóba kerülnek.

Munkakonzol. (Egyetemes)

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

Külső feldolgozás konvertálása. (Egyetemes)

Bizalmas információk módosítása. (Egyetemes)

Az információbiztonság szelektív megváltoztatása vagy megtisztítása 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önyvtárakban.

Felhasználók ki- és berakodása. (Egyetemes)

Letölti és betölti az IB-felhasználókat egy XML-fájlba.

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

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

  • Mind letöltése
  • Módosítások feltöltése (a működő IB változásainak szinkronizálására szolgál a vevő IB-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 is ki- és betölti az adatokat az IB-ben. 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)

Az adatokat könyvtárakba és táblázatos részekbe tölti be a táblázatkezelő dokumentumokból.

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

Query Console. (Egyetemes)

Jelentések összeállításában és lekérdezések készítésében nagy segítség.

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

Megjelenik a külső feldolgozási könyvtár lista űrlapja. Kattintson a gombra a felső menüben Hozzáadás.

Megjelenik az új objektum hozzáadásának űrlapja. Megnyomjuk a megnyitás gombot, és kiválasztjuk a kívánt feldolgozású fájlt. Miután kiválasztottad kívánt fájlt, ha szükséges, adja meg a feldolgozás nevét (Név mező). Ezután kattintson az OK gombra a módosítások mentéséhez.

Ezt követően bezárul a könyvtárelem-létrehozó ablak, és visszatérünk a lista űrlaphoz, amelyben már jelen van az új feldolgozás.

Ez minden! A feldolgozás konfigurációhoz való hozzáadásának folyamata ezzel befejeződött. A feldolgozás későbbi megnyitásához lépjen a régi elérési útra: 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 külső feldolgozásának többféle típusa létezik: Enterprise 8. Ebben az oktatóanyagban megmutatom, hogyan csatolhat tömeges módosításokat és tölthet ki adott objektumfeldolgozást.

Az első esetben adjunk hozzá egy feldolgozást a készletlista hivatkozásának Excelből történő kitöltéséhez.

Lépjen a program megfelelő részébe:


Fel kell tüntetni a használat jelét további jelentésekés a feldolgozás során kövesse a hiperhivatkozást a külső objektumok listájára:

Kattintson a listára Teremt:


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


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


Helyként válasszon egy tetszőleges szakaszt (vagy többet):


Í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 Lista testreszabása:


Feldolgozásunkat választjuk:


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


Most nézzük meg, hogyan történik a feldolgozás hozzáadásával meghatározott objektumok kitöltéséhez (módosításához). Vegyük például azt a külső feldolgozást, amely a könyvtárak vagy a rendszerdokumentumok kiválasztott elemeihez szkennelést csatol. Az ilyen feldolgozás hozzáadásának kezdete nem különbözik az előző verziótól. A különbség az, hogy ebben az esetben az elhelyezés automatikusan kitöltésre kerül (és nem a programrész, hanem az alapobjektumok 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 felesleget):


A változtatás elfogadásához a külső tárgykártyát is rögzíteni kell.

A feldolgozás használatához el kell lépnie a bázis egy adott objektumához (az elhelyezések listájából), kattintson Tölt a parancssorban, és válassza ki a parancsot: