Domov / Skype / 1c dodatočná externá správa. Pridanie externého spracovania do databázy. Dodatočné externé spracovanie

1c dodatočná externá správa. Pridanie externého spracovania do databázy. Dodatočné externé spracovanie

Na pripojenie externého spracovania, správ, tlačových formulárov pre platformu 1C: Enterprise 8.2 bola vyvinutá nový štandard spustiť v riadenej aplikácii (štandard zo štandardného podsystému knižnice 8.2). Boli tam „čipy“, ktoré tam predtým neboli, konkrétne:

    Rozšíril sa typ spracovania: plnenie objektu, vytváranie súvisiacich objektov. Teraz v dokumentoch môžete pridať svoje vlastné tlačidlá na vyplnenie celého dokumentu, ako aj vlastné tlačidlá na zadanie na základe.

    Jedno spracovanie môže obsahovať zoznam viacerých operácií (príkazov) naraz, t.j. môžete urobiť jedno spracovanie, kde bude niekoľko položiek menu naraz: tlač a dodací list, tlač účtenky, tlač záručného listu. (Poznámka autora: skôr v starom štandarde, aby ste mohli robiť takéto veci, museli ste urobiť všetko naraz (aj keď ste to nemuseli) a nemuseli ste to zatvárať, ani kresliť vlastný formulár, ktorý mal potrebné tlačidlá na výber potrebnej operácie)

    Môžete vstúpiť na základe a vyplniť objekty naraz na základe niekoľkých objektov, nielen jedného

    Môžete naplánovať vykonávanie príkazov servera (na serveri).

    Režim môžete nastaviť na „Zabezpečený“ alebo „Nezabezpečený“, t.j. začať spracúvať s prihliadnutím na obmedzenie práv alebo ich ignorovať (ako pri plných právach)

    Môžete nastaviť režim používania: Nepoužívať, ladiť, používať. "Nepoužívať" - nie je v práci, "Ladenie" - viditeľné len pre administrátorov, "Používať v práci".

    Môže zahŕňať použitie vo formulároch objektov a vo forme zoznamu

    Spracovanie alebo zostavu môžete naviazať na všetky objekty naraz.

    možno prispôsobiť rýchly prístup na určité príkazy externého spracovania.

    Je možné určiť, v ktorých sekciách rozhrania sa má objaviť dodatočné spracovanie a správy.

Čo je teda možné pripojiť k štandardným konfiguráciám?

Z pohľadu platformy môžete pripojiť:

  • externé spracovanie (súbory s príponou „epf“) ;
  • externé správy (súbory s príponou „erf“).

Z pohľadu aplikačnej oblasti (konfigurácie) môžete externé spracovanie a reporty prepojiť s formulárom *:

  • Dodatočné spracovanie
    • Len extra spracovanie. Je možné prispôsobiť
  • Dodatočná správa
    • Len dodatočná správa
  • Vyplnenie objektu
    • Vlastné tlačidlá na vyplnenie objektov (dokumentu), predtým tam boli len tlačidlá na vyplnenie tabuľkovej časti.
  • Tlačový formulár
    • Dodatočné tlačiteľné (pridá sa tlačidlo "Ďalšie tlačiteľné položky")
  • správa
    • Správa pripojená k objektom (k adresárom a dokumentom).
  • Vytváranie prepojených objektov
    • Vlastné zadanie na základe (v položke ponuky „Zadanie na základe“ je pridané tlačidlo „Vytvoriť súvisiace objekty ...“)

*na príklade redakcie „Vedenie malej firmy vyd. 1,2"

Poďme sa pozrieť, ako to celé funguje. Na prepojenie externého spracovania a reportovania existuje štandard, ktorý popisuje rozhranie pre interakciu s externým spracovaním a reportovaním a pre všetky typy existujú všeobecné požiadavky a pre každý typ spracovania alebo reportu existujú špecifické požiadavky.

Začnime s všeobecné požiadavky pre všetky typy spracovania a vykazovania. Aby sa vytvorilo spojenie externé spracovanie alebo report, je potrebné v objektovom module deklarovať exportnú funkciu InformationOnExternalProcessing(), ktorá by mala vyplniť štruktúru popisujúcu správanie. Príklad tejto funkcie:

Funkcia DetailOnExternalProcessing() Export
Registračné údaje = Nová štruktúra;
RegistrationData.Insert("Názov", "Príklad použitia externého spracovania 8.2.");
RegistrationData.Insert("SafeMode", True);
RegistrationData.Insert("Verzia", ​​"1.0");

//Ďalšie spracovanie
//Dodatočná správa
//Vyplnenie objektu
//Správa
//PrintForm
//Vytvorenie pridružených objektov
RegistrationData.Insert("Zobraziť", "Ďalšie spracovanie");

RegistrationData.Insert("Informácie", "Spracovanie prebieha podľa nového štandardu pre pripojenie externého spracovania 8.2. Príklad spracovania ""Hello Word"" ");

///////////// príkazy //////////////////////////
tsCommand = Nová tabuľka hodnôt;
tzCommand.Columns.Add("Identifikátor");
tzCommand.Columns.Add("Zobraziť");
tzCommand.Columns.Add("Modifikátor");
tzCommand.Columns.Add("ShowNotification");
tzCommands.Columns.Add("Použiť");


stringCommand.Identifier = "1";
stringCommands.View = "príkaz ""Ahoj Word"" (OpenForm)";

commandstring.Usage = "Otvárací formulár";

CommandString = tzCommand.Add();
stringCommand.Identifier = "2";
stringCommand.View = "príkaz ""Ahoj Word"" (ClientMethodCall)";
stringCommand.ShowAlert = true;
CommandString.Usage = "CallClientMethod";

CommandString = tzCommand.Add();
stringCommand.Identifier = "3";
stringCommand.View = "príkaz ""Ahoj Word"" (volanie ServerMethod)";
stringCommand.ShowAlert = true;
Commandstring.Usage = "CallServerMethod";

RegistrationData.Insert("Príkazy", tzPríkazy);

////////////// účel (v akých predmetoch sa používa) /////////////////////////
//pre tlač formulárov, vypĺňanie, zadávanie súvisiacich objektov
//AssignmentArray = Nové pole;
//ArrayAssignments.Add("Document.*"); // všetky dokumenty sú priradené
//ArrayAssignment.Add("Document.Advance Report");
//Priradenie pole.Add("Dokument.Objednávka kupujúceho");
//RegistrationData.Insert("Cieľ", Array of Assignments);

Vráťte registračné údaje;

EndFunctions

Takže, ako vidíte, funkcia vyplní štruktúru RegistrationData, ktorá má nasledujúce prvky (parametre):

    Názov – skrátený názov spracovania

    Verzia – informácia o verzii spracovania

    Bezpečnostný mód– zodpovedá za to, či sa má spracúvanie vykonávať s prihliadnutím na práva užívateľa. Ak je nastavené na „False“, potom sa spracovanie alebo hlásenie vykoná bez zohľadnenia obmedzení práv (ako pri plných právach). Táto funkcia sa objavila v 8.2, kde pri vytváraní externého spracovania a reportov je režim špecifikovaný ako druhý parameter.

    View – typ spracovania alebo reportu. Možné hodnoty som uviedol na začiatku článku a možné hodnoty pre inštaláciu v kóde sú uvedené v komentári

  • Príkazy - tabuľka hodnôt, v ktorej sú uvedené použité príkazy. Stĺpce tabuľky hodnôt:
    • Identifikátor - ľubovoľný reťazec (identifikátor príkazu)
    • View - popis príkazu
    • Modifikátor - reťazec (používa sa pre ďalšie tlačové formuláre)
    • ShowNotification - okno s upozornením sa zobrazí pred a po dokončení vykonania (pre príkazy klienta a servera bez formulára)
    • Použitie - režim spustenia spracovania:
      • Otvorenie formulára - otvorí sa formulár na spracovanie
      • CallClientMethod - volanie formulára metódy exportu klienta
      • Volanie ServerMethod - volanie metódy exportu z modulu spracovania

V závislosti od typu spracovania alebo zostavy, ako aj od režimu spustenia príkazu "Použiť" sa volajú metódy definované vo formulárovom module, objektovom module. Odlišný je aj zoznam odovzdaných parametrov. Príklady volaní a použitia všetkých typov spracovania sú priložené.

Zvážte vytvorenie externého prehľadu za 1 s 8 bez použitia systému na zostavovanie údajov. Na vytvorenie externej zostavy použijeme konfiguráciu Účtovníctvo 2.0, počiatočné údaje: „Napíšte zostavu účtovného účtu 62, v ktorej sa bude zobrazovať obrat za zadané obdobie v kontexte protistrany A Zmluvy protistrán.

1. Vytvorte prehľad

V prvom rade si vytvoríme externý súbor reportu, na to prejdeme do režimu 1s 8 Konfigurátor, prejdite do ponuky Súbor -> Nový alebo kliknite na ikonu nový dokument.

Vyberte položku zo zoznamu Externá správa. Po vytvorení externého prehľadu mu dajte Názov (napr Najjednoduchšia správa) a uložte ho na disk. Pridáme aj dve rekvizity: Začiatok obdobia A EndPeriod typu dátum, budeme ich potrebovať na obmedzenie časového intervalu vzorkovania údajov pri generovaní prehľadu.

2. Vytvorte rozloženie externej zostavy

Na vygenerovanie reportu v 1s 8 potrebujete layout, ide o šablónu pre výstup dát, v ktorej sa nastavia všetky potrebné parametre, vykreslia tabuľky atď. Pridajme nové rozloženie, na tento účel v strome metadát zostavy vyberte položku Rozloženie a stlačte tlačidlo Pridať, pri vytváraní vyberte typ rozloženia tabuľkový dokument.

Náš layout bude mať 4 oblasti:

  • Hlavička - v tejto oblasti zobrazíme názov zostavy, obdobie, za ktoré bola vygenerovaná a hlavičku tabuľky;
  • Údaje o protistrane - v tejto oblasti zobrazíme údaje o protistrane v tabuľke;
  • Údaje o protistrane - v tejto oblasti zobrazíme v tabuľke údaje o protistrane;
  • Päta - v tejto oblasti zobrazíme celkové hodnoty za celý prehľad pre polia Príjem a Výdavok.

Začnime vytvárať oblasti rozloženia. Ak chcete vytvoriť oblasť v rozložení, vyberte požadovaný počet riadkov a kliknite Tabuľka ponuky -> Názvy -> Priradiť názov(alebo Ctrl+Shift+N). Do oblasti Čiapka napíšte názov správy: Obrat 62 účtov, kresliť pomocou nástroja Hranice hlavičku zostavy, ako aj nastavenie parametrov Začiatok obdobia A EndPeriod. Pomocou parametrov si viete v prehľade zobraziť potrebné údaje, tomu sa budeme venovať v ďalšej fáze vývoja, a to pri písaní programového kódu výkazu. Ak chcete vytvoriť parameter v rozložení, vyberte požadovanú bunku, napíšte do nej názov parametra (bez medzier), kliknite naň pravým tlačidlom myši a vyberte položku v ponuke, ktorá sa otvorí Vlastnosti. Vo vlastnostiach bunky na karte Rozloženie vyberte náplň Parameter.

Potom bude v bunke názov parametra uzavretý v lomených zátvorkách (“<>“). V dôsledku toho oblasť Čiapka by mal vyzerať takto:

V oblasti DataContractor vytvoríme parametre pre zobrazenie názvu protistrany, ako aj pre príjmy a výdavky na účet 62 pomocou nástroja Hranice Navrhnime oblasť vo forme riadku tabuľky.

V oblasti DataAgreementContractor vytvoríme parametre pre zobrazovanie názvu zmluvy, ako aj pre príjmy a výdavky na účet 62, pomocou nástroja Hranice zostavíme výmeru vo forme riadku tabuľky. Pred parametrom urobme malú odrážku Dohoda o protistrane(to sa dá urobiť rozdelením a zlúčením buniek. Kliknite pravým tlačidlom myši na bunku -> Zlúčiť alebo Rozbiť bunku), je potrebné, aby sa v správe ukázalo, že línia zmluvy je v hierarchii nižšia ako línia protistrany.

V oblasti Suterén Vytvorme parametre pre súčty pre príjmy a výdavky.

V dôsledku toho by sme mali získať takéto rozloženie:

3. Vytvorte formulár správy

Ak chcete zobraziť údaje, nastavte obdobie formovania a tlačidlá Formulár naša správa bude potrebovať formulár. Ak chcete vytvoriť formulár, nájdite položku v strome metadát externej zostavy Formuláre a stlačte tlačidlo Pridať. Na prvej stránke tvorcu formulárov nemusíte robiť žiadne zmeny, stačí kliknúť na tlačidlo Ďalej.

Zapnuté ďalšia strana konštruktor, vyberte obe dostupné rekvizity( Začiatok obdobia, EndPeriod) na umiestnenie vo formulári.

V dôsledku toho dostaneme tento formulár:

Ale v tejto podobe nám nevyhovuje, urobíme v ňom nejaké zmeny:

  • Tlačidlo ťahania Formulár zo spodného panela prehľadu na horný (pre používateľa to bude pohodlnejšie);
  • Natiahnite tvar vertikálne a horizontálne;
  • Usporiadajte polia Začiatok obdobia A EndPeriod horizontálne;
  • Pridajte do formulára ovládací prvok poľa tabuľkový dokument(zobrazí sa v ňom náš prehľad), pomenujte ho TabDoc;
  • Vytvorme si tlačidlo výberu obdobia (po jeho stlačení sa zobrazí dialóg s pohodlným výberom požadovaného obdobia). Programový kód k nemu zatiaľ písať nebudeme, takže tlačidlo jednoducho umiestnime k poliam obdobia.

V dôsledku toho bude náš formulár vyzerať takto:

4. Programovanie

Po vytvorení formulára správy sa pustíme do programovania. Na začiatok si vytvoríme postup na zobrazenie dialógového okna výberu obdobia (tlačidlo sme na to vytvorili už v predchádzajúcej fáze). Kliknite pravým tlačidlom myši na tlačidlo a vyberte položku ponuky Vlastnosti, vo vlastnostiach tlačidla prejdite na kartu Diania, kde pomocou tlačidla s ikonou lupy vytvoríme postup Tlačidlo 1 Stlačte v module formulára.

Medzi formulárom a jeho modulom môžete prepínať pomocou záložiek v spodnej časti formulára

Na vyvolanie formulára výberu obdobia používame štandardný postup Účtovníctvo 2.0 od spoločný modul Práca s dialógovými oknami - HandlerPeriodSettingPressing, musíte mu odovzdať podrobnosti prehľadu ako parametre Začiatok obdobia A EndPeriod.

Postup Button1Stlačte (položka) Práca s Dialogs.HandlerSettingPeriodPress(StartPeriod,EndPeriod); EndProcedure

Teraz prejdime k písaniu kódu, ktorý vygeneruje a zobrazí náš prehľad. Vo formulárovom module už postup existuje TlačidloFormuláciaStlačenie ktorý sa vykoná po kliknutí na tlačidlo Formulár, potom tam napíšeme náš kód. Začnime inicializáciou potrebných premenných. Najprv vytvorte premennú pre tabuľkové polia do ktorého budeme vypisovať dáta, to nie je potrebné, len sa skráti nahrávanie hovorov do neho, čo znamená, že programový kód bude pre čítanie zrozumiteľnejší.

TabDoc = FormElements.TabDoc;

Získajte rozloženie externej správy pomocou funkcie GetLayout(<ИмяМакета>) , parametru odovzdáme názov rozloženia a ak takéto rozloženie existuje, tak ho funkcia nájde.

Layout = GetLayout("Layout" );

Po prijatí rozloženia vytvoríme premenné pre každú z jeho oblastí, použijeme na to metódu rozloženia GetRegion(<ИмяОбласти>) .

AreaHat = Layout.GetArea("Hat"); AreaDataAccount = Layout.GetArea( "DataContractor"); AreaDataAgreement = Layout.GetArea("DataAgreement" ); AreaFooter = Layout.GetArea("Suterén" );

Vymažte pole tabuľky. Je to potrebné, aby sa pri každom novom generovaní prehľadu vymazali staré údaje.

TabDoc.Clear();

Teraz, keď je inicializácia premenných dokončená, prejdime k vyplneniu a zobrazeniu oblastí rozloženia po jednej. Začnime klobúkom. Ak si pamätáte, v tejto oblasti sme vytvorili dva parametre Začiatok obdobia A EndPeriod, prenesieme tam hodnoty obdobia generovania prehľadu, na čo použijeme vlastnosť možnosti oblasť rozloženia.

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

Už žiadna akcia v rámci rozsahu Čiapka výrobca nie je potrebný, preto jeho pole zobrazíme v tabuľkovom dokumente.

TabDoc.Output(RegionHeader);

Ďalej napíšeme dotaz do databázy, pomocou ktorého zoberieme obrat na účte 62 z účtovného registra samonosné. Zadefinujme si premennú, v ktorej sa bude nachádzať naša požiadavka.

Žiadosť = nová Žiadosť;

Skôr ako začneme písať text požiadavky, odovzdáme mu potrebné parametre. Keďže píšeme žiadosť o faktúru 62 účtovníctvo, potom mu najskôr vytvoríme parameter

Query.SetParameter("Účet62" ,Účtové mapy.Samostatné.FindByCode("62" ));

K žiadosti je potrebné odovzdať aj obdobie generovania správy. Nezabudnite, že máme špeciálne podrobnosti správy pre obdobie generovania a odovzdávame ich ako parametre.

Query.SetParameter("Počiatočné Obdobie",Počiatočné Obdobie); Query.SetParameter("EndPeriod",EndPeriod);

Začnime písať text dotazu, urobíme to pomocou nástroja na tvorbu dotazov. V mnohých učebné pomôcky píšu, že dotaz treba vedieť napísať ručne aj pomocou konštruktora, ale v praxi to tak nie je. Pri úlohách, ktorým neustále čelí programátor 1C, je prioritou rýchle a kvalitné písanie kódu a pri manuálnom zostavovaní dotazu do databázy je to takmer nemožné dosiahnuť, strávite veľa drahocenného času na správnu reprodukciu všetkých konštrukcií dotazov, nájdenie preklepov, ktoré ste urobili pri písaní atď. Preto nestrácajte čas písaním dotazov ručne, ale použite návrhára dotazov. Ušetrí vám to čas a umožní vám písať bez väčšej námahy. zložité otázky. Ak chcete začať písať text žiadosti, napíšte do kódu:

Request.Text = "" ;

Potom umiestnite kurzor medzi úvodzovky, stlačte pravé tlačidlo myši a vyberte položku Konštruktéržiadosť. Otvorí sa okno návrhára dotazov.

Teraz musíme vybrať databázovú tabuľku 1C 8, ktorú potrebujeme. Potrebujeme virtuálnu tabuľku Obratyúčtovný register samonosné. Nájdite ho na ľavej strane okna návrhára

Presuňme to do oblasti tabuľky a vyplníme parametre. Pre všetky virtuálne tabuľky dotazu existuje špeciálna sada parametrov, ktorá umožňuje vybrať potrebné údaje z hlavnej tabuľky (v našom prípade hlavnej tabuľky Účtovný register samonosné). Otvorte okno možností virtuálny stôl.

Vyplníme parametre, obdobie, ktoré sme prešli do požiadavky. Ak chcete použiť parameter v texte požiadavky, musíte pred jeho názov napísať symbol ampersand (&)

Zostáva vyplniť podmienku na účte. účtovníctvo. Ak to chcete urobiť, nájdite riadok v parametroch virtuálnej tabuľky PodmienkaÚčty a napíš tam

Skóre V HIERARCHII (&Skóre 62)

Môžete tiež použiť nástroj na vytváranie podmienok kliknutím na tlačidlo s tromi bodkami.

Na virtuálny stôl nie je potrebné klásť ďalšie podmienky, takže stlačte tlačidlo OK v okne možností virtuálnej tabuľky. Ďalej musíme z tabuľky vybrať polia, ktoré potrebujeme Samonosné.Obraty(konkrétne: Protistrana, Dohoda protistrany, Príjmy a Výdavky). Ak chcete zobraziť zoznam polí dostupných v tabuľke, ktorú sme vybrali, stlačte symbol „+“ vedľa jej názvu. Potom ťaháme povinné políčka do oblasti návrhára dotazov úplne vpravo, ktorá sa nazýva: Polia. Ak otvoríme účtovú osnovu, uvidíme, že pre účet 62 analytika podľa Protistrane – toto je Subconto1 a podľa Zmluva s dodávateľom — Subconto2.

Preto z polí virtuálnej tabuľky vyberte Subconto1 A Subconto2. Keďže potrebujeme príjmy a výdavky podľa sumy, vyberieme aj polia SumaTurnoverDt A Suma obratuKt

Vyplňte aliasy polí, ktoré sme si vybrali, prejdeme na kartu Odbory/Aliasy a nastavte požadované názvy polí.

Keďže v našej zostave budú údaje zobrazené hierarchicky (na prvej úrovni je Protistrana a na druhej všetky jej zmluvy), nastavíme výstup údajov v hierarchii pomocou výsledkov. Poďme na kartu v konštruktore Výsledky. Presuňte myšou do polí zoskupenia postupne protistrana A Dohoda o protistrane a vo finále Prichádza A Spotreba.

Tým je práca v konštruktore dotazu dokončená, kliknite na tlačidlo OK a vidíme, že text našej požiadavky sa objavil v kóde programu.

Query.Text = "VYBRAŤ | Samonosné obraty. Subconto1 AS Protistrana, | Samonosné obraty Subconto2 AS Dohoda dodávateľa, | SamonosnéTurnovers.AmountTurnoverDt AS Incoming, | Samonosné Obraty. Suma ObratKt AS Výdavky| OD | RegistráciaÚčtovníctvo.Samonosné.Obraty(&Začiatok obdobia, &Koniec obdobia, Účet V HIERARCHII (&Účet62),) AKO SamonosnéObraty VÝSLEDKY | SUM(Príjem), | SUM(výdavky) | ON | protistrana, | Dohoda o protistrane";

Po dokončení písania požiadavky začneme vypĺňať oblasti DataContractor, DataAgreementContractor A Suterén. Všetky tieto oblasti vyplníme údajmi prijatými pri realizácii požiadavky. Keďže náš dopyt obsahuje zoskupenia ( protistrana A Dohoda o protistrane) vyberte z neho údaje takto:

SelectionContractor = Query.Execute().Select(BypassingQueryResult.By Groupings);

Takto dostaneme záznamy so súčtom za všetky protistrany.

Pred vynechaním vzorových údajov pomocou cyklu inicializujeme premenné určené na výpočet súčtu pre zostavu:

Celkový príjem = 0; Celkové náklady = 0;

Ak chcete, aby sa údaje prehľadu zobrazovali s hierarchiou (a rozložené podľa „+“), nastavte začiatok automatického zoskupovania riadkov dokumentov tabuľky:

TabDoc.StartAutogroupRows();

Všetky prípravy sú dokončené, teraz začnime obchádzať výsledky dotazu. Obtok sa vykoná pomocou slučky Zbohom

Kým SelectionContractor.Next() Cycle EndCycle ;

Na začiatku cyklu resetujte parametre Prichádza A Spotreba oblasti DataContractor. Načo to je? Predstavte si situáciu, že protistrana Strýko Vasya, príjem 10 a náklad 5 a pre ďalšiu protistranu Strýko Peťa nedochádza k príjmu ani výdavku, v tomto prípade, ak neprestavíme parametre Prichádza A Spotreba, potom v rade podľa protistrany Strýko Peťa bude príjem 5 a výdavok 10.

AreaDataAccount.Parameters.Incoming = 0; AreaDataAccount.Parameters.Expense = 0;

Potom vyplňte oblasť DataContractor vzorové údaje o položke

VyplňtePropertyValues(AreaDataAccount.Parameters, SelectionAccount);

Po vyplnení údajov môžete zobraziť oblasť v tabuľkový dokument, Keďže používame automatické zoskupovanie liniek, musíme v zoskupení špecifikovať úroveň linky (v našom prehľade budú dve úrovne, pre protistrany prvá pre zmluvy druhá).

TabDoc.Output(AreaDataAccount,1);

Teraz pre túto protistranu urobíme výber podľa jej zmlúv.

SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings);

Obtok sa vykoná pomocou slučky Zbohom.

Kým SelectionAgreementContractor.Next() Cycle EndCycle ;

V cykle pre zmluvy protistrán vynulujeme parametre Prichádza A Spotreba, vyplňte oblasť DataContract z výberu a zobraziť ho v tabuľkovom dokumente na druhej úrovni evidencie.

AreaDataAgreement.Parameters.Income = 0; AreaDataAgreement.Parameters.Expense = 0; VyplňtePropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataContract,2);

Aj v tomto cykle pridáme aktuálne hodnoty k premenným na výpočet celkových hodnôt príjmov a výdavkov.

TotalIncome = TotalIncome + SelectionAgreementContractor.Income; Celkové náklady = Celkové náklady + VýberDohoda dodávateľa.Výdavky;

Tým je výstup údajov v oblasti ukončený DataContractor, DataAgreementContractor dokončené, zostáva dokončiť automatické zoskupovanie riadkov dokumentov tabuľky.

TabDoc.EndAutoGroupRows();

Plne cykly zodpovedné za výstup údajov do oblasti DataContractor A DataAgreementContractor vyzerať takto:

TabDoc.StartAutogroupRows(); While SelectionContractor.Next() Loop AreaDataContractor.Parameters.Incoming = 0 ; AreaDataAccount.Parameters.Expense = 0 ; VyplňtePropertyValues(AreaDataAccount.Parameters, SelectionAccount); TabDoc.Output(AreaDataAccount,1 ); SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings); While SelectionAgreementContractor.Next() Loop AreaDataAgreement.Parameters.Incoming = 0 ; AreaDataAgreement.Parameters.Expense = 0 ; VyplňtePropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataAgreement,2 ); TotalIncome = TotalIncome + SelectionAgreementContractor.Income; Celkové náklady = Celkové náklady + VýberDohoda dodávateľa.Výdavky; EndCycle ; EndCycle ; TabDoc.EndAutoGroupRows();

Zostáva zobraziť celkové údaje v oblasti Suterén a zobrazí samotnú oblasť tabuľkový dokument.

AreaBasement.Parameters.TotalIncome = TotalIncome; AreaBasement.Parameters.TotalExpense = TotalExpense; TabDoc.Output(RegionFooter);

Tým sa dokončí proces písania externej správy pre 1C 8 bez použitia ACS. Teraz ho možno vygenerovať v režime 1C:Enterprise 8 a pridať do adresára Externé spracovanie Môžete si stiahnuť súbor správy, o ktorom sa hovorí v článku od .

Pozrite si video o vytvorení externej tlače pre spravovanú aplikáciu:

Prejdite do hornej ponuky servis->->.

Zobrazí sa formulár zoznamu adresárov externého spracovania. Kliknite na tlačidlo v hornom menu Pridať.

Zobrazí sa formulár na pridanie nového objektu. Stlačíme tlačidlo Otvoriť a vyberieme súbor s požadovaným spracovaním. Potom, čo ste si vybrali požadovaný súbor v prípade potreby zadajte názov spracovania (pole Názov). Potom musíte kliknúť na tlačidlo OK, aby ste uložili zmeny.

Potom sa okno vytvorenia prvku adresára zatvorí a dostanete sa späť do formulára zoznamu, v ktorom je už prítomné nové spracovanie.

To je všetko! Proces pridávania spracovania do konfigurácie je teraz dokončený. Ak chcete následne otvoriť toto spracovanie, prejdite na starú cestu: servis->Dodatočné správy a spracovanie->Dodatočné externé spracovanie.

Pre BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Existuje niekoľko typov externého spracovania pre 1C: Enterprise 8. V tomto návode vám ukážem, ako pripojiť hromadnú úpravu a vyplniť konkrétne spracovanie objektu.

Pre prvý prípad pridajme spracovanie pre vyplnenie referencie na skladový list z Excelu.

Prejdite do príslušnej časti programu:


Je potrebné, aby bolo nastavené znamenie použitia ďalších reportov a spracovania, kliknite na hypertextový odkaz na zoznam externých objektov:

Kliknite na zoznam Vytvorte:


V dialógovom okne, ktoré sa otvorí, vyberte požadovaný súbor so spracovaním:


Karta nového externého objektu v programe bola vyplnená, zostáva len nakonfigurovať ubytovanie(časti programu, z ktorých bude dostupné spracovanie):


Ako umiestnenie vyberte ľubovoľnú sekciu (alebo niekoľko):


Napíšte a zatvorte kartu externého objektu:


Teraz otvorme spracovanie z rozhrania:


Zoznam je prázdny, kliknite Prispôsobiť zoznam:


Vyberáme naše spracovanie:


Teraz je k dispozícii na výber. Ak chcete otvoriť spracovanie, musíte kliknúť Bežať:


Teraz sa pozrime, ako sa pridáva spracovanie na vyplnenie (úpravu) konkrétnych objektov. Vezmime si napríklad externé spracovanie, ktoré pripája skeny k vybraným prvkom adresárov alebo systémových dokumentov. Začiatok pridávania takéhoto spracovania sa nelíši od predchádzajúcej verzie. Rozdiel je v tom, že v tomto prípade sa umiestnenie vyplní automaticky (a nie podľa programovej časti, ale podľa typov základných objektov):


V prípade potreby je možné upraviť zoznam umiestnení ( nepridávajte ďalšie umiestnenie, ale odstráňte prebytok):


Na prijatie zmeny je potrebné zaznamenať aj externú kartu objektu.

Aby ste mohli použiť spracovanie, musíte prejsť na konkrétny objekt základne (zo zoznamu umiestnení), kliknúť Vyplňte na paneli príkazov a vyberte príkaz:

Pomerne často, keď je počas konzultácie potrebné vyriešiť nejaký zložitý problém, navrhujem, aby ho moji klienti implementovali do programu 1C pomocou buď externé spracovanie, alebo externá tlačová doska. A často sa stretávam s tým, že človek jednoducho nie je oboznámený s takouto možnosťou programov na platforme 1C Enterprise 8. Niekedy mi dokonca nadávajú, že veria, že vývoj a implementácia takéhoto spracovania do ich konfigurácie znemožní automatickú aktualizáciu programu. Že za aktualizáciu programu musíte zaplatiť veľké peniaze.

S cieľom objasniť takéto problémy, ako aj povedať o čom užitočné funkcie dať externé spracovanie a externé tlačové formy, rozhodol som sa napísať tento článok. V článku sa nebudem zaoberať technickou stránkou procesu tvorby spracovania. S najväčšou pravdepodobnosťou to bude uvedené v inom príspevku. Tu sa pokúsim vysvetliť samotnú podstatu mechanizmu a uviesť konkrétne príklady prípadov, kedy externé spracovanie a tlač foriem môže byť pre používateľa prínosom.

Tento článok bude diskutovať o nasledujúcich možnostiach pre ďalšie externé pripojiteľné objekty:

  • Dodatočné externé spracovanie tabuľkových častí;
  • Dodatočné externé tlačové formy;
  • Dodatočné externé správy;
  • Dodatočné externé spracovanie.

Aké sú dodatočné externé spracovanie, zostavy a tlač formulárov




Na začiatok by som chcel hovoriť všeobecne o čo sú tieto externé spracovanie, správy a tlačené formuláre. Pomerne často pri práci s typickou konfiguráciou, či už ide o 1C ZUP alebo 1C Enterprise Accounting alebo inú konfiguráciu, je potrebná nejaká funkcia, ktorú vývojári 1C neposkytujú. Môžete napríklad potrebovať tlačená forma, ktorá nie je regulovaná, ale slúži pre vnútornú potrebu organizácie. Alebo sa vyžaduje určitým spôsobom spracovať (zmeniť, opraviť)údaje dostupné v databáze. Napríklad zmena určitých detailov v dokumentoch za požadované obdobie, čo je nepohodlné robiť manuálne pri veľkom množstve informácií.

V tomto prípade sú dve možnosti. najprv, môžeme upraviť samotnú konfiguráciu, samotný program. Potom to prestane byť typické a aktualizuje ho tými celkom jednoduchými spôsobmi o ktorom som písal, nebude fungovať. Aktualizácia neštandardnej konfigurácie je dlhší a vážnejší proces, preto pri tomto prístupe budete s najväčšou pravdepodobnosťou musieť mesačne platiť špecialistovi 1C za aktualizáciu programu. Po druhé možnosťou je vyvinúť alebo požiadať o vypracovanie externého spracovania alebo tlačenej formy (správy). Ide v podstate o externý modul, ktorý je tiež vyvinutý v programovacom jazyku 1C v Konfigurátore, ale nerobí zmeny v štandardnej konfigurácii. Existuje nezávisle od samotnej konfigurácie. Na ich ukladanie sa používajú špeciálne adresáre: položka hlavného menu "Servis" -> "Doplnkové zostavy a spracovanie".

Dodatočné externé spracovanie na vyplnenie tabuľkových častí

Seminár "Life hacks pre 1C ZUP 3.1"
Analýza 15 účtovných životných hackov v 1s zup 3.1:

KONTROLNÝ LIST na kontrolu miezd v 1C ZUP 3.1
VIDEO - mesačná samokontrola účtovníctva:

Mzdy v 1C ZUP 3.1
Pokyny krok za krokom pre začiatočníkov:

Teraz sa poďme pozrieť na to, aké funkcie nám poskytne každý zo štyroch dostupných externých modulov. Začnime s externé spracovanie tabuľkových častí. Zdá sa mi, že toto spracovanie tabuľkových častí dokumentov najlepšie ilustruje, ako môžete seriózne modifikovať program bez toho, aby ste museli upravovať typickú konfiguráciu, ale iba externé spracovanie.

Aby to bolo jasnejšie, uvediem konkrétny príklad z mojej praxe, v ktorom som na vyriešenie problému použil externé spracovanie tabuľkových častí. V konfigurácii "1C Plat a riadenie ľudských zdrojov" vydanie 2.5 je dokument "Platba za sviatky a víkendy"(tento dokument je podrobne napísaný). V typickej forme poskytuje tento dokument možnosť automatického vypĺňania tabuľkovej časti zamestnancami „Práca cez sviatky“.

Účtovníčka požiadala o realizáciu možnosti vyplnenia tohto dokladu zamestnancami, ktorých pracovné dni podľa harmonogramu pripadli na víkendy, t.j. "Práca cez víkend".

Tento súbor bol nahraný do adresára "Externé spracovanie tabuľkových častí"(položka menu "Nástroje" -> "Dodatočné zostavy a spracovanie" -> "Dodatočné externé spracovanie tabuľkových častí"). Pri vytváraní prvku tohto adresára bolo uvedené, do ktorého dokumentu patrí stiahnuté spracovanie - "Platba za sviatky a víkendy organizácie", ako aj do ktorej tabuľkovej časti - "Zamestnanci". V našom príklade tabuľková časť dokument má jeden, ale v iných dokumentoch ich môže byť viacero, a preto je potrebné konkrétne uviesť, ktorému z nich spracovanie patrí.

V dôsledku pridania tohto spracovania do adresára "Dodatočné externé spracovanie na vyplnenie tabuľkových častí" v samotnom doklade „Platba za sviatky a víkendy“ sa objaví tlačidlo „Vyplniť“ s rozbaľovacím zoznamom, v ktorom bude možné toto spracovanie spustiť. V našom prípade je tlačidlo „Vyplniť nedele“ dostupné v rozbaľovacom zozname. Jeho stlačením sa spustí algoritmus obsiahnutý v spracovaní. IN tento príklad tabuľková časť sa vyplní zamestnancami, ktorých pracovné dni pripadli na deň pracovného voľna. Upozorňujeme, že toto tlačidlo predtým neexistovalo (snímka obrazovky vyššie).

Tento mechanizmus vám umožňuje vyriešiť veľmi širokú škálu problémov bez dolaďovania samotnej konfigurácie. Preto pomerne často využívam túto možnosť na realizáciu klientskych úloh.

Prídavné externé tlačové dosky

Seminár "Life hacks pre 1C ZUP 3.1"
Analýza 15 účtovných životných hackov v 1s zup 3.1:

KONTROLNÝ LIST na kontrolu miezd v 1C ZUP 3.1
VIDEO - mesačná samokontrola účtovníctva:

Mzdy v 1C ZUP 3.1
Pokyny krok za krokom pre začiatočníkov:

Táto možnosť je veľmi podobná predchádzajúcej. S najväčšou pravdepodobnosťou ste videli a viete, že takmer každý dokument a dokonca aj niektoré prvky adresárov majú vytlačené formuláre. Ako pravidlá sa nachádzajú v pravom dolnom rohu formulárového prvku adresára alebo dokumentu. Niekedy štandardné tlačené formuláre nestačia. Napríklad organizácia môže mať svoju vlastnú formu pracovnej zmluvy. Pripomínam, že štandardný tlačený formulár „Pracovná zmluva“ je súčasťou formulára referenčnej knihy „Zamestnanci“.

K týmto tlačeným formulárom adresára môžete pridať svoje vlastné. Na tento účel sa vytvorí externý tlačový formulár s príponou „.epf“. Potom sa preň vytvorí prvok adresára "Ďalšie externé tlačové formuláre"(položka menu "Servis" -> "Dodatočné zostavy a spracovanie") a do tohto prvku adresára sa pridá súbor s príponou ".epf". Taktiež je potrebné špecifikovať, pre ktorý dokument alebo spracovanie adresára sa pridáva.

V dôsledku toho sa v skladbe tlačených formulárov prvkov adresára „Zamestnanci“ objaví ešte jeden formulár – „Pracovná zmluva (LLC Alfa)“, ktorý predtým neexistoval. A jej vzhľad a plnenie údajov definuje programátor v súbore „.epf“.

Táto schopnosť pridať požadované tlačená forma pre dokumenty a adresáre je to tiež veľmi často žiadané a podľa môjho názoru je to pomerne pohodlná funkcia programov na platforme 1C Enterprise.

Ďalšie externé správy

V tomto prípade sa človek môže rozvíjať externá správa. Toto je súbor vo formáte „.erf“. Práve tento súbor určí vzhľad zostavy, aké konfiguračné údaje použije a ktoré si od používateľa vyžiada (napríklad obdobie, výber podľa zamestnanca alebo podľa oddelenia). Súbor je vytvorený v konfigurátore 1C v programovacom jazyku 1C.

Externú správu je možné uložiť ako súčasť konfigurácie pomocou adresára "Doplnkové externé zostavy" (položka menu "Nástroje" -> "Dodatočné zostavy a spracovanie"). Nesúvisia s konkrétnym dokumentom alebo adresárom, tieto informácie sa nevyžadujú.

Pri tejto možnosti uloženia sa zostava spúšťa z rovnakého adresára (dvojité kliknutie).

Pomocou položky ponuky „Súbor“ -> „Otvoriť“ môžete spustiť aj externý prehľad. Túto možnosť môžete použiť, ak je pre vás pohodlnejšie ukladať externé správy nie ako súčasť programu, ale jednoducho do priečinkov v počítači.

Dodatočné externé spracovanie

Externé spracovanie majú približne rovnaký význam ako externé správy. Ale na rozdiel od prehľadov, ktoré slúžia na prezeranie údajov informačnú základňu v užívateľsky prívetivom formáte, spracovanie je určené na zmenu, úpravu alebo transformáciu dát infobáz. Spektrum úloh riešených pomocou externého spracovania je pomerne široké.

Napríklad, spracovanie na vyskladnenie mzdových výkazov. Napriek prítomnosti v ŽUP typické spracovanie(prečítajte si o tom), niekedy to nemusí byť vhodné pre konkrétnu banku a vyvíja sa externé spracovanie, ktoré konvertuje a nahráva informácie v požadovanom formáte.

prinesiem ešte jeden príklad vcelku nenáročné, no vcelku obľúbené spracovanie. Ak v 1C ZUP počas roka nie je vedený doklad „Odvod dane z príjmov fyzických osôb do rozpočtu“, potom pri zostavovaní dane z príjmov 2 fyzických osôb za rok bude pole „Uvedené“ pre každého zamestnanca nulové, čo je zvyčajne nesprávne. Zadávanie dokumentu „Odvod dane z príjmov fyzických osôb do rozpočtu“ za celý rok môže byť vzhľadom na osobitosti samotného dokumentu dosť únavné. Môžete však vykonať externé spracovanie, ktoré vo vygenerovanom 2-NDFL jednoducho vyplní pole „Listed“ pre každého zamestnanca na základe hodnôt v poli „Vypočítané“. Zvyčajne sa účtovníkom táto možnosť veľmi páči.

Externé spracovanie má presne rovnaké dve možnosti ukladania a spustenia: buď použite referenciu "Ďalšie externé spracovanie"(položka menu "Nástroje" -> "Dodatočné zostavy a spracovanie"), alebo položka hlavného menu "Súbor" -> "Otvoriť".

To je na dnes všetko!

Ak chcete byť prvý, kto sa dozvie o nových publikáciách, prihláste sa na odber aktualizácií môjho blogu:

Pozor!
Všetko spracovanie z diskov ITS je určené na informačné účely a výhradne pre registrovaných používateľov ITS.

Výber a spracovanie predmetov. (univerzálne)

Vyhľadáva objekty v dokumentoch a adresároch, ktoré spĺňajú určité podmienky. Spracuje výsledky vyhľadávania.

Zhrnutie informačnej základne. (univerzálne)

Vykonáva IB súhrn typických konfigurácií:

  • SCP 3.1.
  • TK 1,6.
  • UT 10.3.

Registrácia zmien na výmenu. (univerzálne)

V režime riadenej aplikácie upravuje registráciu zmien výmenných objektov. Umožňuje zmeniť aktuálnu registráciu na rôznych uzloch. Zmení čísla prijatých a odoslaných správ.

Konverzia denníka aktivity používateľa. (univerzálne)

Konvertuje do programu, v zabudovanom jazyku, denník akcií používateľa.

Fulltextové vyhľadávanie v údajoch. (univerzálne)

Indexovanie a vyhľadávanie v údajoch.

Hľadanie a nahradenie hodnôt. (univerzálne)

Vyhľadáva a nahrádza referenčné hodnoty v objektoch IS.

Založenie technologického denníka. (univerzálne)

Vytvára alebo upravuje súbor denníka procesov. Má schopnosť konfigurovať vytváranie výpisu zrútenia, konfigurovať podmienky a udalosti, pri výskyte ktorých sa informácie zapíšu do tohto protokolu.

Pracovná konzola. (univerzálne)

Monitoruje pozadie a rutinné úlohy. Odstraňuje, vytvára nové.

Konverzia externého spracovania. (univerzálne)

Zmena dôverných informácií. (univerzálne)

Selektívna zmena alebo čistenie informačnej bezpečnosti od určitých informácií.

Skupinová zmena detailov. (univerzálne)

Zmení detaily a tabuľkové časti v dokumentoch a adresároch.

Vykladanie a načítanie používateľov. (univerzálne)

Uvoľní a načíta používateľov IB do súboru XML.

Nahrávanie údajov do externých databáz. (univerzálne)

Uvoľňuje dátové štruktúry do externého DBMS pomocou ADO v dvoch režimoch:

  • Stiahnuť všetko
  • Odovzdať zmeny (používa sa na synchronizáciu zmien v pracovnom IB s IB prijímača). Tento režim využíva mechanizmy výmenného plánu.

Podporuje nasledujúce DBMS:

  • Microsoft SQL
  • IBM DB2
  • Oracle
  • PostgreSQL
  • MySQL

Nahrávanie a načítanie XML údajov. (univerzálne)

Uvoľňuje a načítava dáta v IB, úplne aj čiastočne. Používa sa na prenos údajov medzi konfiguráciami, ktoré majú podobné zloženie objektov.

Načítavanie údajov z tabuľkového dokumentu. (univerzálne)

Načítava údaje do adresárov a tabuľkových častí z tabuľkových dokumentov.

Pracuje v hrubom klientovi v normálnom aplikačnom režime.

Konzola dotazov. (univerzálne)

Je to veľká pomoc pri zostavovaní správ a vytváraní dopytov.