Otvorite obrazac u vanjskoj obradi 1s

U ovom ćemo članku razmotriti upute korak po korak za stvaranje vanjske obrade u 1C 8.3 u načinu upravljane aplikacije; 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 podsustava verzije 2.0 i novije.

Zadatak će biti sljedeći: izraditi najjednostavniju vanjsku obradu koja će izvršiti grupnu akciju na imeniku „Artikal“, odnosno postaviti odabrani postotak stope PDV-a za navedenu grupu artikala.

Da bismo to učinili, odmah ćemo izvršiti potrebne postavke u programu (razmatramo konfiguraciju 1C 8.3: "Enterprise Accounting 3.0" na upravljanim obrascima).

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 vrste datoteke za izradu. 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

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 da biste izvršili daljnje radnje s njim (na primjer, za pozivanje funkcija izvoza iz modula objekta).

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, sva se obrada otvara u sigurnom načinu rada. 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:

  1. Uzmite ga iz skladišta.
  2. Spremite obrađenu datoteku na disk.
  3. Otvorite obrazac ili preuzmite objekt obrade.
  4. 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) ;

Slični članci