Zunanja obdelava 1s 8.3 odpiranje obrazca. Zunanja obdelava je shranjena na disku ločeno od informacijske baze

Razmislimo v tem članku navodila po korakih za ustvarjanje zunanje obdelave v 1C 8.3 v načinu upravljane aplikacije bomo v skladu s tem uporabili upravljane obrazce. In kar je najpomembneje, naučili se bomo, kako ga povezati z mehanizmom "zunanje obdelave" konfiguracij 1C, zgrajenih na knjižnici standardni podsistemi različica 2.0 in novejše.

Naloga bo naslednja: izdelati najenostavnejšo zunanjo obdelavo, ki bo izvedla skupinsko akcijo na direktoriju “Artikel” in sicer za navedeno skupino artiklov nastavila izbrano odstotno stopnjo DDV.

Da bi to naredili, bomo takoj izvedli potrebne nastavitve v programu (razmišljamo o konfiguraciji 1C 8.3: "Enterprise Accounting 3.0" na kontrolirane oblike).

Če potrdite to polje, lahko uporabimo zunanjo obdelavo.

Ustvarjanje nove zunanje obdelave v 1C 8.3 z uporabo primera

Zdaj pa pojdimo na konfigurator. V meniju »Datoteka« izberite »Novo ...«. Odpre se okno za izbiro pogleda ustvarjena datoteka. Izberite "Zunanja obdelava":

Odpre se novo okno za zunanjo obdelavo. Takoj ji dajmo ime. Ponujeno bo ob shranjevanju obdelave na disk:

Dodajmo nov obrazec za nadzorovano obdelavo. Navajamo, da je to oblika obdelave in je glavna:

Na obrazcu bomo imeli dve podrobnosti:

  • Skupina Nomenklatura – povezava do imenika “Nomenklatura”;
  • SelectVATRate – povezava do prenosa stopnje DDV.

Podrobnosti ustvarimo v stolpcu »Lastnosti« v zgornjem desnem oknu. Z miško jih povlecite v zgornje levo okno. Nove podrobnosti bi se morale takoj pojaviti na spodnjem obrazcu.

Vrstni red podrobnosti lahko spremenite s puščicami "gor" - "dol":

Pridobite 267 video lekcij o 1C brezplačno:

Vse kar ostane je, da dodate gumb »Namesti«. V upravljanih obrazcih obrazcu ne morete kar dodati gumba. Tudi če ga dodate v strukturo elementov obrazca, na samem obrazcu ne bo viden. Gumb mora biti povezan z ukazom, ki ga bo izvršil. Pojdite na zavihek »Ukazi« in dodajte ukaz »Nastavi stopnjo DDV«. V lastnostih ukaza ustvarite dejanje. Izberite upravljalnik ukazov “Na odjemalcu”. Ukaz lahko obrazcu dodate tudi tako, da ga preprosto povlečete v razdelek z elementi obrazca.

V modulu obrazca bo ustvarjen istoimenski postopek. V njem bomo poklicali postopek na strežniku:

&OnClient

Postopek Nastavi stopnjo DDV (ukaz)

SetVATRateOnServer();

Konec postopka

V postopku na strežniku bomo napisali majhno zahtevo in dejanja v zvezi z nastavitvijo stopnje DDV:

&Na strežniku

Postopek SetVATRateOnServer()

Zahteva = Nova zahteva;
Zahteva.Besedilo =
"IZBERI
| Nomenklatura.Povezava
|OD
| Imenik.Nomenklatura AS Nomenklatura
|KJE
| Nomenklatura.Povezava V HIERARHIJI (&skupina nomenklature)
| IN NE Nomenklatura. Označi Izbris
| IN NE nomenklatura. To je skupina";

Request.SetParameter("Skupina elementov", Skupina elementov);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

Medtem ko SelectRecordDet.Next() Loop

Poskus
SprNomObject.Write();
Izjema
Poročilo ("Napaka pri pisanju predmeta """ + SprNomObject + """!
|» + DescriptionError());
EndAttempt;

EndCycle;

Konec postopka

Vrnemo se na zavihek »Obrazec«, obrazcu dodamo gumb in ga povežemo z ukazom:

Kot taka je naša obdelava pripravljena za uporabo. Če ga želite poklicati, morate v načinu »1C Enterprise« iti v meni »Datoteka« - »Odpri« in izbrati ustvarjeno datoteko.

Vendar je delo v tem načinu priročno za obdelavo odpravljanja napak, vendar ni povsem primerno za uporabnika. Uporabniki so navajeni, da imajo vse »na dosegu roke«, torej v sami bazi.

Temu je namenjen razdelek »Dodatna poročila in obdelave«.

Toda da bi tja dodali našo obdelavo, jo moramo najprej opisati in programu povedati njene lastnosti.

Opis funkcije "Informacije o zunanji obdelavi"

Podal bom primer vsebine te funkcije. Mora biti izvozen in se mora nahajati v modulu za obdelavo:

Funkcija InformationOnExternalProcessing() Izvoz

DataForReg = Nova struktura();
DataForReg.Insert("Ime", "Nastavitev stopnje DDV");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Različica", "različica: 1.001");
DataForReg.Insert("Informacija", "Obdelava za nastavitev stopnje DDV v imeniku Nomenklatura");
DataForReg.Insert("Pogled", "Dodatna obdelava");

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identifikator");
TabZnCommands.Columns.Add("Uporaba");
TabZnCommands.Columns.Add("Pogled");

Nova vrstica = TabZnCommands.Add();
NewString.Identifier = "Odprta obdelava";
NewRow.Use = "OpenForm";
NewRow.View = "Odprta obdelava";
DataForReg.Insert("Ukazi", TabZnCommands);

Vrni DataForReg;

EndFunction

Da bi bolje razumeli, katera polja strukture registracijskih podatkov je treba uporabiti, si poglejmo podrobnosti imenika »Dodatna poročila in obdelava«:

Kot lahko vidite, je vse precej preprosto. Samo en atribut se ne ujema: »Možnost zagona« – »Uporabi«. Če pogledamo kodo enega od skupnih modulov, bomo videli, kako nastane kup teh polj:

Če želite določiti, katera polja strukture so obvezna, je lahko najprej ne opišete, preprosto ustvarite prazno in nato uporabite razhroščevalnik. Če sledite modulom pri registraciji obdelave, postane takoj jasno, katera polja so obvezna in katera ne.

Povezovanje zunanje obdelave v 1C 8.3

Za delo z zunanjo obdelavo (in zunanja tiskovna forma je tudi zunanja obdelava) obstaja objekt Zunanja obdelava.

Razmislimo o dveh možnih primerih:

Zunanja obdelava je shranjena na disku ločeno od informacijske baze

Za odpiranje programske opreme zunanja obdelava v 1C morate vedeti naslov njegove datoteke. Če ga poznate, lahko odprete obrazec za obdelavo ali pridobite predmet obdelave, ki ga želite izvesti z njim nadaljnje ukrepe(na primer za klic izvoznih funkcij iz objektnega modula).

Odpiranje obrazca za zunanjo obdelavo

Če želite programsko odpreti zunanji obrazec za obdelavo v 1C, uporabite funkcijo GetForm() predmet Zunanja obdelava. Funkcija ima več parametrov. Razmislite o preprostem odpiranju glavnega obrazca za obdelavo:


Obrazec = Zunanji procesi. GetForm(FileAddress) ;
Oblika. Odprto();

Če želite odpreti manjši zunanji obrazec za obdelavo, morate podati njegovo ime.

//Spremenljivka FileAddress vsebuje celotno pot do zunanje datoteke za obdelavo
Obrazec = Zunanji procesi. GetForm(FileAddress, "MinorForm") ;
Oblika. Odprto();

Odpiranje zunanje obdelave kot objekta

Za prejem zunanje obdelave kot objekta se uporablja funkcija Ustvari() predmet Zunanja obdelava.

//Spremenljivka FileAddress vsebuje celotno pot do zunanje datoteke za obdelavo
ProcessingObject = Zunanja obdelava. Ustvari (naslov datoteke);

Privzeto se vsa obdelava odpre varni način. Če ga želite onemogočiti, uporabite naslednje možnosti:

//Spremenljivka FileAddress vsebuje celotno pot do zunanje datoteke za obdelavo

Zunanja obdelava ali obrazec za tisk shranjen v informacijski bazi

V številnih konfiguracijah je možno shranjevanje zunanjih tiskanih obrazcev in obdelav neposredno v informacijsko bazo. Za to se uporablja referenčna knjiga. Zunanja obdelava. Sama zunanja obdelava je shranjena kot binarni podatki ali v atributih StorageExternalProcessing, ali v tabelarnem delu Pripadnost v rekvizitih StorageExternalProcessing.

Za odpiranje zunanje obdelave potrebujete:

  1. Pridobite ga iz skladišča.
  2. Shranite obdelano datoteko na disk.
  3. Odprite obrazec ali pridobite predmet obdelave.
  4. Če imamo opravka z zunanjim tiskom, potem lahko izpolnimo standardne podatke Referenca predmeta in pokličite funkcijo izvoza Pečat.

//Spremenljivka RefLink vsebuje povezavo do elementa imenika ExternalProcessings
DvData = RefLink. Zunanji pomnilnik za obdelavo. Get() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(FileAddress) ;
ProcessingObject = Zunanja obdelava. Ustvari(FileAddress, False) ;