Uvažujme v tomto článku pokyny krok za krokom na vytvorenie externého spracovania v 1C 8.3 v režime riadenej aplikácie budeme preto používať riadené formuláre. A čo je najdôležitejšie, naučíme sa, ako ho pripojiť k mechanizmu „externého spracovania“ konfigurácií 1C postavených na knižnici štandardných podsystémov verzie 2.0 a novšej.
Úloha bude nasledujúca: vytvoriť čo najjednoduchšie externé spracovanie, ktoré vykoná skupinovú akciu na adresári „Položka“, a to nastaviť zvolené percento sadzby DPH pre zadanú skupinu položiek.
Aby sme to dosiahli, okamžite vykonáme potrebné nastavenia v programe (uvažujeme o konfigurácii 1C 8.3: „Enterprise Accounting 3.0“ na spravovaných formulároch).
Zaškrtnutím tohto políčka máme možnosť využiť externé spracovanie.
Vytvorenie nového externého spracovania v 1C 8.3 pomocou príkladu
Teraz poďme ku konfigurátoru. V ponuke „Súbor“ vyberte „Nový...“. Otvorí sa okno pre výber typu súboru, ktorý sa má vytvoriť. Vyberte „Externé spracovanie“:
Otvorí sa nové okno externého spracovania. Dajme jej hneď meno. Pri ukladaní spracovania na disk sa ponúkne:
Pridajme nový formulár riadeného spracovania. Uvádzame, že ide o formu spracovania a je to hlavná:
Vo formulári budeme mať dva podrobnosti:
- Skupina nomenklatúry – odkaz na adresár „Nomenklatúra“;
- SelectVATRAte – prepojenie na prenos sadzby DPH.
Podrobnosti vytvárame v stĺpci „Vlastnosti“ v pravom hornom okne. Presuňte ich myšou do ľavého horného okna. Nové podrobnosti by sa mali okamžite objaviť vo formulári nižšie.
Poradie detailov je možné zmeniť pomocou šípok „Hore“ – „Dole“:
Získajte 267 video lekcií na 1C zadarmo:
Zostáva len pridať tlačidlo „Inštalovať“. V spravovaných formulároch nemôžete do formulára len pridať tlačidlo. Aj keď ho pridáte do štruktúry prvkov formulára, nebude viditeľný na samotnom formulári. Tlačidlo musí byť spojené s príkazom, ktorý vykoná. Prejdite na kartu „Príkazy“ a pridajte príkaz „Nastaviť sadzbu DPH“. Vo vlastnostiach príkazu vytvorte akciu. Vyberte obslužný program príkazov „Na klientovi“. Príkaz možno do formulára pridať aj jednoduchým pretiahnutím do sekcie s prvkami formulára.
V module formulára sa vytvorí rovnomenná procedúra. V ňom zavoláme procedúru na serveri:
&OnClient
Postup Nastaviť sadzbu DPH (príkaz)
SetVATRateOnServer();
Koniec procedúry
V postupe na serveri napíšeme malú požiadavku a úkony súvisiace s nastavením sadzby DPH:
&Na serveri
Postup SetVATRAteOnServer()
Žiadosť = Nová požiadavka;
Žiadosť.Text =
"VYBERTE si
| Nomenklatúra.Odkaz
|OD
| Adresár.Nomenklatúra AS Nomenklatúra
| KDE
| Nomenclature.Link IN HIERARCHY (&Nomenclature Group)
| A NIE Nomenklatúra.MarkDeletion
| A NIE nomenklatúra. Toto je skupina“;
Request.SetParameter("Skupina položiek", Skupina položiek);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();
Kým SelectRecordDet.Next() Loop
Pokus
SprNomObject.Write();
Výnimka
Report("Chyba pri písaní objektu """ + SprNomObject + """!
|» + DescriptionError());
EndPokus;
EndCycle;
Koniec procedúry
Vrátime sa na kartu „Formulár“, pridáme do formulára tlačidlo a priradíme ho k príkazu:
Ako také je naše spracovanie pripravené na použitie. Ak to chcete zavolať, v režime „1C Enterprise“ musíte prejsť do ponuky „Súbor“ - „Otvoriť“ a vybrať vytvorený súbor.
Práca v tomto režime je však vhodná na spracovanie ladenia, ale nie je úplne vhodná pre používateľa. Používatelia sú zvyknutí mať všetko „na dosah ruky“, teda v samotnej databáze.
Na to slúži sekcia „Dodatočné prehľady a spracovanie“.
Ale aby sme tam mohli pridať naše spracovanie, musíme mu najprv dať popis a povedať programu jeho vlastnosti.
Popis funkcie „Informácie o externom spracovaní“
Uvediem príklad obsahu tejto funkcie. Musí sa dať exportovať, a preto sa musí nachádzať v module spracovania:
Funkcia InformationOnExternalProcessing() Export
DataForReg = Nová štruktúra();
DataForReg.Insert("Name", "Nastavenie sadzby DPH");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzia", "ver.: 1.001");
DataForReg.Insert("Informácie", "Spracovanie pre nastavenie sadzby DPH v adresári Nomenklatúra");
DataForReg.Insert("Zobraziť", "Ďalšie spracovanie");
CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identifikátor");
TabZnCommands.Columns.Add("Použitie");
TabZnCommands.Columns.Add("Zobraziť");
NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Otvoriť spracovanie";
DataForReg.Insert("Príkazy", TabZnPríkazy);
Return DataForReg;
EndFunction
Aby ste lepšie pochopili, ktoré polia štruktúry údajov registrácie je potrebné použiť, pozrime sa na podrobnosti adresára „Ďalšie prehľady a spracovanie“:
Ako vidíte, všetko je celkom jednoduché. Len jeden atribút sa nezhoduje: „Možnosť spustenia“ – „Použiť“. Ak sa pozrieme na kód jedného zo spoločných modulov, uvidíme, ako vzniká množstvo týchto polí:
Ak chcete určiť, ktoré polia štruktúry sú potrebné, najskôr ju nemôžete opísať, jednoducho vytvorte prázdne a potom použite debugger. Ak pri registrácii spracovania sledujete moduly, okamžite bude jasné, ktoré polia sú povinné a ktoré nie.
Pripojenie externého spracovania v 1C 8.3
Na prácu s externým spracovaním (a externá tlačová forma je tiež externým spracovaním) existuje objekt Externé spracovanie.
Zoberme si dva možné prípady:
Externé spracovanie je uložené na disku oddelene od informačnej bázy
Ak chcete programovo otvoriť externé spracovanie v 1C, musíte poznať adresu jeho súboru. Ak to poznáte, môžete buď otvoriť formulár spracovania alebo získať objekt spracovania, aby ste s ním vykonali ďalšie akcie (napríklad volanie funkcií exportu z modulu objektu).
Otvorenie formulára na externé spracovanie
Ak chcete programovo otvoriť formulár externého spracovania v 1C, použite funkciu GetForm() objekt Externé spracovanie. Funkcia má viacero parametrov. Zvážte jednoduché otvorenie hlavného formulára spracovania:
Formulár = ExternéProcesy. GetForm(Adresa súboru) ;
Formulár. OTVORENÉ();
Ak chcete otvoriť formulár menšieho externého spracovania, musíte zadať jeho názov.
//Premenná FileAddress obsahuje úplnú cestu k súboru externého spracovania
Formulár = ExternéProcesy. GetForm(Adresa súboru, "MinorForm") ;
Formulár. OTVORENÉ();
Otvorenie externého spracovania ako objektu
Na prijatie externého spracovania ako objektu sa používa funkcia Vytvoriť () objekt Externé spracovanie.
//Premenná FileAddress obsahuje úplnú cestu k súboru externého spracovania
ProcessingObject = ExternalProcessing. Create(FileAddress) ;
V predvolenom nastavení sú všetky procesy otvorené v núdzovom režime. Ak ju chcete zakázať, použite nasledujúce možnosti:
//Premenná FileAddress obsahuje úplnú cestu k súboru externého spracovania
Externé spracovanie alebo tlač formulára uloženého v infobase
V mnohých konfiguráciách je možné ukladať externé tlačené formuláre a spracovanie priamo v infobáze. Na to slúži referenčná kniha. Externé spracovanie. Samotné externé spracovanie je uložené ako binárne dáta alebo v atribútoch StorageExternalProcessing alebo v tabuľkovej časti Afiliácia v rekvizitách StorageExternalProcessing.
Na otvorenie externého spracovania potrebujete:
- Získajte to zo skladu.
- Uložte spracovaný súbor na disk.
- Otvorte formulár alebo získajte objekt spracovania.
- Ak máme do činenia s externým tlačeným formulárom, môžeme vyplniť štandardné údaje Odkaz na objekt a zavolajte funkciu exportu Tuleň.
//Premenná RefLink obsahuje odkaz na prvok adresára ExternalProcessings
DvData = RefLink. Externé úložisko spracovania. Get() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(Adresa súboru) ;
ProcessingObject = ExternalProcessing. Create(FileAddress, False) ;