Vanjska obrada 1s 8.3 otvor forme. Vanjska obrada pohranjuje se na disku odvojeno od infobaze
Razmotrimo u ovom članku upute korak po korak za stvaranje vanjske obrade u 1C 8.3 u načinu upravljane aplikacije, prema tome, koristit ćemo upravljane obrasce. I što je najvažnije, naučit ćemo kako ga povezati s mehanizmom "vanjske obrade" 1C konfiguracija izgrađenih na knjižnici standardni podsustavi verzija 2.0 i novije.
Zadatak će biti sljedeći: kreirati najjednostavniju vanjsku obradu koja će izvršiti grupnu akciju na direktoriju „Artikal“, odnosno postaviti odabrani postotak stope PDV-a za navedenu grupu artikala.
Da bismo to učinili, odmah ćemo napraviti potrebne postavke u programu (razmatramo konfiguraciju 1C 8.3: "Enterprise Accounting 3.0" na kontrolirani oblici).
Označavanjem ovog okvira dobivamo mogućnost korištenja vanjske obrade.
Stvaranje nove vanjske obrade u 1C 8.3 pomoću primjera
Sada idemo na konfigurator. U izborniku "Datoteka" odaberite "Novo...". Otvorit će se prozor za odabir pogleda stvorena datoteka. Odaberite "Vanjska obrada":
Otvorit će se novi prozor za vanjsku obradu. Dajmo joj odmah ime. Bit će ponuđeno prilikom spremanja obrade na disk:
Dodajmo novi obrazac za kontroliranu obradu. Navodimo da je ovo oblik obrade i da je glavni:
Na obrascu ćemo imati dva detalja:
- Grupa Nomenklatura – poveznica na imenik „Nomenklatura”;
- SelectVATRate – poveznica na prijenos stope PDV-a.
Pojedinosti stvaramo u stupcu "Svojstva" u gornjem desnom prozoru. Povucite ih mišem u gornji lijevi prozor. Novi detalji trebali bi se odmah pojaviti na donjem obrascu.
Redoslijed detalja može se promijeniti pomoću strelica "gore" - "dolje":
Besplatno nabavite 267 video lekcija o 1C:
Sve što preostaje je dodati gumb "Instaliraj". U upravljanim obrascima ne možete samo dodati gumb u obrazac. Čak i ako ga dodate u strukturu elemenata forme, neće biti vidljiv na samom obrascu. Gumb mora biti povezan s naredbom koju će izvršiti. Idite na karticu "Naredbe" i dodajte naredbu "Postavi stopu PDV-a". U svojstvima naredbe kreirajte radnju. Odaberite rukovatelja naredbama “Na klijentu”. Formi se također može dodati naredba jednostavnim povlačenjem u odjeljak s elementima forme.
U modulu forme kreirat će se istoimena procedura. U njemu ćemo pozvati proceduru na poslužitelju:
&NaKlijentu
Postupak Postavljanje stope PDV-a (naredba)
PostaviVATRateOnServer();
Kraj postupka
U proceduri na serveru ćemo napisati mali zahtjev i radnje vezane uz postavljanje stope PDV-a:
&Na poslužitelju
Procedura SetVATRateOnServer()
Zahtjev = Novi zahtjev;
Zahtjev.Tekst =
„IZABIRAJ
| Nomenklatura.Link
|OD
| Imenik.Nomenklatura AS Nomenklatura
|GDJE
| Nomenklatura. Veza U HIJERARHIJI (&Grupa nomenklature)
| A NE Nomenklatura.OznakaBrisanje
| A NE nomenklatura. Ovo je grupa”;
Request.SetParameter("Grupa stavki", Grupa stavki);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();
Dok SelectRecordDet.Next() Petlja
Pokušaj
SprNomObject.Write();
Iznimka
Report("Greška pri pisanju objekta """ + SprNomObject + """!
|» + OpisPogreška());
EndAttempt;
EndCycle;
Kraj postupka
Vraćamo se na karticu "Obrazac", dodajemo gumb u obrazac i povezujemo ga s naredbom:
Kao takva, naša obrada je spremna za upotrebu. Da biste ga pozvali, u načinu rada "1C Enterprise" morate otići na izbornik "Datoteka" - "Otvori" i odabrati stvorenu datoteku.
Međutim, rad u ovom načinu rada prikladan je za obradu otklanjanja pogrešaka, ali nije u potpunosti prikladan za korisnika. Korisnici su navikli da im je sve “na dohvat ruke”, odnosno u samoj bazi podataka.
Tome služi odjeljak "Dodatna izvješća i obrada".
Ali da bismo tu dodali našu obradu, prvo joj moramo dati opis i reći programu njena svojstva.
Opis funkcije "Informacije o vanjskoj obradi"
Dat ću primjer sadržaja ove funkcije. Mora se moći izvoziti i, prema tome, nalaziti se u modulu za obradu:
Funkcija InformationOnExternalProcessing() Izvoz
DataForReg = Nova struktura();
DataForReg.Insert("Ime", "Postavka stope PDV-a");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzija", "ver.: 1.001");
DataForReg.Insert("Informacija", "Obrada za postavljanje stope PDV-a u imeniku Nomenklatura");
DataForReg.Insert("Prikaz", "Dodatna obrada");
CommandTable = NovaValueTable;
TabZnCommands.Columns.Add("Identifikator");
TabZnCommands.Columns.Add("Upotreba");
TabZnCommands.Columns.Add("View");
NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Otvorena obrada";
DataForReg.Insert("Naredbe", TabZnNaredbe);
Vrati DataForReg;
EndFunction
Kako bismo bolje razumjeli koja polja strukture podataka o registraciji treba koristiti, pogledajmo pojedinosti direktorija "Dodatna izvješća i obrada":
Kao što vidite, sve je vrlo jednostavno. Samo jedan atribut ne odgovara: “Opcija pokretanja” – “Koristi”. Ako pogledamo kod jednog od uobičajenih modula, vidjet ćemo kako nastaje gomila ovih polja:
Da biste odredili koja su polja strukture potrebna, prvo je možete ne opisati, jednostavno stvoriti prazno, a zatim koristiti program za ispravljanje pogrešaka. Ako pratite module prilikom registracije obrade, odmah postaje jasno koja polja su potrebna, a koja nisu.
Povezivanje vanjske obrade u 1C 8.3
Za rad s vanjskom obradom (a vanjska je tiskovna forma također vanjska obrada) postoji objekt Vanjska obrada.
Razmotrimo dva moguća slučaja:
Vanjska obrada pohranjuje se na disku odvojeno od infobaze
Za otvaranje softvera vanjska obrada u 1C morate znati adresu njegove datoteke. Znajući to, možete ili otvoriti obrazac za obradu ili dobiti objekt obrade koji ćete s njim izvršiti daljnje akcije(na primjer, za pozivanje eksportnih funkcija iz objektnog modula).
Otvaranje obrasca za vanjsku obradu
Da biste programski otvorili obrazac za vanjsku obradu u 1C, upotrijebite funkciju GetForm() objekt Vanjska obrada. Funkcija ima nekoliko parametara. Razmotrimo jednostavno otvaranje obrasca glavne obrade:
Obrazac = Vanjski procesi. GetForm(FileAddress) ;
Oblik. Otvoren();
Da biste otvorili obrazac manje vanjske obrade, morate navesti njegov naziv.
//Varijabla FileAddress sadrži puni put do vanjske datoteke za obradu
Obrazac = Vanjski procesi. GetForm(FileAddress, "Manji obrazac")
;
Oblik. Otvoren();
Otvaranje vanjske obrade kao objekta
Kako bi primili vanjsku obradu kao objekt, koristi se funkcija Stvoriti() objekt Vanjska obrada.
//Varijabla FileAddress sadrži puni put do vanjske datoteke za obradu
ProcessingObject = Vanjska obrada. Stvori(AdresaDatoteke) ;
Prema zadanim postavkama otvara se sva obrada siguran način. Da biste ga onemogućili, koristite sljedeće opcije:
//Varijabla FileAddress sadrži puni put do vanjske datoteke za obradu
Vanjska obrada ili obrazac za ispis spremljen u infobazu
U mnogim konfiguracijama moguće je spremati vanjske tiskane obrasce i obradu izravno u infobazu. Za to se koristi referentna knjiga. Vanjska obrada. Sama vanjska obrada pohranjuje se kao binarni podaci ili u atributima StorageExternalProcessing, ili u tabelarnom dijelu Pripadnost u rekvizitima StorageExternalProcessing.
Za otvaranje vanjske obrade potrebno vam je:
- Uzmite ga iz skladišta.
- Spremite obrađenu datoteku na disk.
- Otvorite obrazac ili dohvatite objekt obrade.
- Ako se radi o vanjskom tiskanom obrascu, tada možemo ispuniti standardne podatke Referenca objekta i pozvati funkciju izvoza Pečat.
//Varijabla RefLink sadrži vezu na element direktorija ExternalProcessings
DvData = RefLink. Vanjska pohrana za obradu. Get() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(FileAddress) ;
ProcessingObject = Vanjska obrada. Stvori (Adresa datoteke, False) ;