1s 8.3 otvorite aplikaciju kojom se upravlja obrascem za obradu. Eksterna obrada se pohranjuje na disku odvojeno od infobaze

U ovom članku ćemo razmotriti upute korak po korak za kreiranje eksterne obrade u 1C 8.3 u načinu upravljanja aplikacijom; u skladu s tim, koristit ćemo upravljane obrasce. I što je najvažnije, naučit ćemo kako ga povezati s mehanizmom „vanjske obrade“ 1C konfiguracija izgrađenih na biblioteci standardnih podsistema verzije 2.0 i novije.

Zadatak će biti sljedeći: kreirati najjednostavniju eksternu obradu koja će izvršiti grupnu radnju na direktoriju „Postavka“, odnosno postaviti odabrani postotak PDV stope za navedenu grupu artikala.

Da bismo to učinili, odmah ćemo izvršiti potrebna podešavanja u programu (razmatramo konfiguraciju 1C 8.3: „Računovodstvo preduzeća 3.0“ na upravljanim obrascima).

Označavanje ovog polja nam daje priliku da koristimo eksternu obradu.

Kreiranje nove vanjske obrade u 1C 8.3 koristeći primjer

Sada idemo na konfigurator. U meniju "Datoteka" izaberite "Novo...". Otvara se prozor za odabir vrste datoteke koja se kreira. Odaberite “Spoljna obrada”:

Otvoriće se novi prozor za eksternu obradu. Hajdemo joj odmah dati ime. Biće ponuđeno prilikom snimanja 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 nomenklature – veza do imenika “Nomenklatura”;
  • SelectVATRate – link za prijenos stope PDV-a.

Detalje kreiramo u koloni “Svojstva” u gornjem desnom prozoru. Prevucite ih mišem u gornji lijevi prozor. Novi detalji bi se trebali odmah pojaviti na donjem obrascu.

Redoslijed detalja se može promijeniti pomoću strelica “gore” – “dolje”:

Nabavite 267 video lekcija na 1C besplatno:

Ostaje samo da dodate dugme "Instaliraj". U upravljanim obrascima, ne možete samo dodati dugme u obrazac. Čak i ako ga dodate strukturi elemenata obrasca, neće biti vidljiv na samom obrascu. Dugme mora biti povezano s naredbom koju će izvršiti. Idite na karticu “Komande” i dodajte naredbu “Postavi stopu PDV-a”. U svojstvima naredbe kreirajte akciju. Odaberite rukovatelj naredbama “Na klijentu”. Naredba se također može dodati u obrazac jednostavnim prevlačenjem u odjeljak sa elementima obrasca.

U modulu obrasca biće kreirana procedura istog imena. U njemu ćemo pozvati proceduru na serveru:

&OnClient

Procedura Postavljanje stope PDV-a (naredba)

SetVATRateOnServer();

Kraj procedure

U proceduri na serveru ćemo napisati mali zahtjev i radnje vezane za postavljanje stope PDV-a:

&Na serveru

Procedura SetVATRateOnServer()

Zahtjev = Novi zahtjev;
Request.Text =
„IZABIR
| Nomenklatura.Link
|OD
| Imenik.Nomenklatura AS Nomenklatura
|WHERE
| Nomenklatura.LINK U HIJERARHIJAMA (&Nomenklaturna grupa)
| A NE Nomenklatura.MarkDeletion
| 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();
Izuzetak
Report("Greška u pisanju objekta """ + SprNomObject + """!
|» + DescriptionError());
EndAttempt;

EndCycle;

Kraj procedure

Vraćamo se na karticu "Obrazac", dodamo dugme u obrazac i povezujemo ga sa naredbom:

Kao takva, naša obrada je spremna za upotrebu. Da biste ga pozvali, u načinu rada "1C Enterprise", trebate otići na izbornik "Datoteka" - "Otvori" i odabrati kreiranu datoteku.

Međutim, rad u ovom načinu rada je prikladan za obradu otklanjanja grešaka, ali nije u potpunosti prikladan za korisnika. Korisnici su navikli da im sve bude „na dohvat ruke“, odnosno u samoj bazi podataka.

Tome služi odjeljak „Dodatni izvještaji i obrada“.

Ali da bismo tamo dodali našu obradu, prvo mu moramo dati opis i reći programu njegova svojstva.

Opis funkcije “Informacije o vanjskoj obradi”

Navest ću primjer sadržaja ove funkcije. Mora se izvoziti i, shodno tome, nalaziti u modulu za obradu:

Funkcija InformationOnExternalProcessing() Izvoz

DataForReg = Nova struktura();
DataForReg.Insert("Naziv", "Postavljanje stope PDV-a");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzija", "ver.: 1.001");
DataForReg.Insert("Informacije", "Obrada za postavljanje stope PDV-a u imeniku Nomenklature");
DataForReg.Insert("View", "AdditionalProcessing");

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("Commands", TabZnCommands);

Return DataForReg;

EndFunction

Da bismo bolje razumjeli koja polja strukture podataka registracije treba koristiti, pogledajmo detalje direktorija "Dodatni izvještaji i obrada":

Kao što vidite, sve je prilično jednostavno. Samo jedan atribut se ne podudara: “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 ne možete opisati, jednostavno kreirati prazno, a zatim koristiti program za otklanjanje grešaka. Ako pratite module prilikom registracije obrade, odmah postaje jasno koja polja su obavezna, a koja nisu.

Povezivanje vanjske obrade u 1C 8.3

Za rad sa eksternom obradom (a eksterna štamparska forma je takođe eksterna obrada), postoji objekat ExternalProcessing.

Razmotrimo dva moguća slučaja:

Eksterna obrada se pohranjuje na disku odvojeno od infobaze

Da biste programski otvorili vanjsku obradu u 1C, morate znati adresu njegove datoteke. Znajući to, možete ili otvoriti obrazac za obradu ili dobiti objekt za obradu kako biste s njim izvršili dalje radnje (na primjer, za pozivanje eksportnih funkcija iz modula objekta).

Otvaranje eksternog obrasca za obradu

Da programski otvorite eksterni obrazac za obradu u 1C, koristite funkciju GetForm() objekt ExternalProcessing. Funkcija ima nekoliko parametara. Razmotrite jednostavno otvaranje glavnog obrasca za obradu:


Forma = ExternalProcesses. GetForm(Adresa datoteke) ;
Forma. Open();

Da biste otvorili manji obrazac za eksternu obradu, morate navesti njegovo ime.

//Varijabla FileAddress sadrži punu putanju do vanjske datoteke za obradu
Forma = ExternalProcesses. GetForm(FileAddress, "Manji oblik") ;
Forma. Open();

Otvaranje eksterne obrade kao objekta

Za primanje vanjske obrade kao objekta, koristi se funkcija Stvoriti() objekt ExternalProcessing.

//Varijabla FileAddress sadrži punu putanju do vanjske datoteke za obradu
ProcessingObject = ExternalProcessing. Kreiraj(Adresa datoteke) ;

Podrazumevano, sva obrada se otvara u sigurnom načinu rada. Da biste ga onemogućili, koristite sljedeće opcije:

//Varijabla FileAddress sadrži punu putanju do vanjske datoteke za obradu

Eksterna obrada ili obrazac za štampanje sačuvan u infobazi

U mnogim konfiguracijama moguće je sačuvati eksterne štampane forme i obradu direktno u infobazi. Za to se koristi priručnik. ExternalProcessing. Sama eksterna obrada se pohranjuje kao binarni podaci ili u atributima StorageExternalProcessing, ili u tabelarnom dijelu Pripadnost u rekvizitima StorageExternalProcessing.

Za otvaranje eksterne obrade potrebno je:

  1. Uzmi ga iz skladišta.
  2. Sačuvajte obrađenu datoteku na disk.
  3. Otvorite obrazac ili nabavite objekt za obradu.
  4. Ako imamo posla sa eksternom štampanom formom, onda možemo da popunimo standardne podatke Referenca objekta i pozovite funkciju za izvoz Pečat.

//Varijabla RefLink sadrži vezu do elementa direktorija ExternalProcessings
DvData = RefLink. Eksterna pohrana za obradu. Get() ;
Adresa datoteke = GetTemporaryFileName() ;
DvData. Napiši (Adresa datoteke) ;
Objekat obrade = Eksterna obrada. Kreiraj(Adresa datoteke, Netačno) ;