Dom - Preglednici
Ne otvara se vanjska obrada 1s. Kako programski otvoriti vanjsku obradu? Otvaranje obrasca za vanjsku obradu
Početna Za programere početnike Učenje programiranja

Kako programski otvoriti vanjsku obradu?

U verziji 8.2 aplikacija ne radi izravno s lokalnim datotekama koje se nalaze na računalu. Datoteke moraju biti na poslužitelju.

Stoga, da biste otvorili vanjsku obradu, morate izvršiti sljedeći niz radnji:

  • prijenos vanjske datoteke za obradu na poslužitelj,
  • povezivanje vanjske obrade,
  • otvorite obrazac za vanjsku obradu.
&Na klijentovom postupku Obrada naredbe (parametar naredbe, parametri izvršenja naredbe) // Postavite obradu u privremenu pohranu Adresa pohrane = ""; Rezultat = PlaceFile(StorageAddress, "C:\ExternalProcessing.epf", False); Naziv obrade = ConnectExternalProcessing(adresa pohrane); // Otvaranje obrasca povezane vanjske obrade OpenForm("ExternalProcessing."+ProcessingName +".Form"); EndProcedure &OnServer funkcija ConnectExternalProcessing(StorageAddress) Vrati ExternalProcessing.Connect(StorageAddress); EndFunction

Da biste datoteku prenijeli na poslužitelj, morate je staviti u privremenu pohranu. Da biste to učinili, prvo na klijentu, u rukovatelju naredbe za otvaranje vanjske obrade, s funkcijom PutFile() stavljamo datoteku iz lokalnog datotečnog sustava u privremenu pohranu.

Četvrti parametar ove funkcije zadaje predznak interaktivnog načina odabira vanjske datoteke za obradu. Ako ovaj parametar Pravi, zatim se pojavljuje dijaloški okvir za odabir datoteke u kojem možete odabrati datoteku koju želite staviti u pohranu. U našem primjeru, ovaj parametar je Laž, a put do datoteke iz koje će podaci biti smješteni u privremenu pohranu izričito je naveden u drugom parametru funkcije.

Prilikom poziva funkcije PutFile() njegov prvi parametar, Adresa pohrane, navodimo prazan niz. Nakon što se funkcija izvrši, put do vanjske datoteke za obradu u privremenoj pohrani bit će smješten u ovu varijablu. Ovaj put koristimo za povezivanje vanjske obrade.

Povezivanje vanjske obrade vrši se na poslužitelju metodom Uštekati() vanjski upravitelj obrade. Kao parametar prosljeđuje se staza do vanjske datoteke za obradu u privremenoj pohrani - Adresa pohrane. Ova metoda vraća naziv povezane vanjske obrade, - Naziv obrade, - koji koristimo za otvaranje obrasca za ovu obradu.

Za otvaranje obrasca za vanjsku obradu koristite funkciju OpenForm(), kojem se naziv obrasca prosljeđuje kao sljedeći redak: "VanjskiProcessing."+ProcessingName +".Form". U gornjoj izvedbi otvara se glavni obrazac za obradu. Također možete otvoriti obrazac za neglavnu obradu - o tome se govori u pitanju Kako dobiti obrazac za neglavnu obradu? .

Kada radite s vanjskom obradom, morate uzeti u obzir da se prema zadanim postavkama pokreću u sigurnom načinu izvršavanja programskog koda. To znači da im neke značajke ugrađenog jezika neće biti dostupne. Ako ste sigurni da vanjska obrada ne sadrži zlonamjerni kod, može se aktivirati u normalnom načinu izvršavanja programskog koda. Za to se koristi treći parametar metode Uštekati() vanjski upravitelj obrade.

Više informacija o načinu sigurnog izvođenja programskog koda možete pronaći u dokumentaciji.

Kako omogućiti interaktivno otvaranje vanjskih izvješća i obradu? (1C: Računovodstvo 8.3. izdanje 3.0)

2016-12-08T15:52:26+00:00

Ako prilikom otvaranja vanjske obrade ili izvješća putem izbornika File->Open

Pojavljuje se pogreška "Kršenje pristupa":

Postoje samo dvije mogućnosti korištenja obrade.

Prva opcija je registracija obrade u direktoriju “Dodatna izvješća i obrade” (o ovome).

Ali što ako obrada ne podržava takvu registraciju? A obrada je jako korisna i baš je želim otvoriti.

U ovom slučaju, možete odabrati drugu opciju i ponovno omogućiti mogućnost otvaranja obrade u bazi podataka putem izbornika File->Open.

Upute za to su u nastavku.

Idite na konfigurator baze podataka:

Izvršite naredbu izbornika "Administracija" -> "Korisnici":

Dvaput kliknite da otvorite svog korisnika:

Idite na karticu "Ostalo", potvrdite okvir "Interaktivno otvaranje vanjskih izvješća i obrada" i kliknite "U redu":

Sada zatvorite konfigurator i bazu podataka (ako ste je imali otvorenu).

Ponovno idite u bazu podataka i pokušajte otvoriti izvješće putem izbornika “Datoteka” -> “Otvori”.

Sada će sve uspjeti

Postoje nijanse...

Metoda koju sam opisao u ovim uputama 100% radi, ali kada je koristite, pravo na "Interaktivno otvaranje vanjske obrade" može ponovno nestati nakon nekog vremena.

Da biste to izbjegli, označite isti okvir u načinu rada 1C:Enterprise u trenutnom profilu pristupne grupe za vašeg korisnika.

Prilikom korištenja ove metode mogu se pojaviti razne nijanse (na primjer, ako koristite ugrađeni profil koji se ne može uređivati), pa neću dati detaljne upute za ovaj slučaj.

Iskreno, Vladimir Milkin(učitelj i programer).

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

Otvaranje obrasca za vanjsku obradu

Da biste programski otvorili obrazac za vanjsku obradu u 1C, koristite 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 manji obrazac za vanjsku obradu, 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, odnosno 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 dohvatite 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) ;

U ovom ćemo članku razmotriti upute korak po korak za stvaranje vanjske obrade u 1C 8.3 u upravljanom načinu rada; 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: 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 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 koja će se kreirati. 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 rukovatelj 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("Naziv", "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



 


Čitati:



Zašto su magnetni kablovi za pametne telefone opasni i korisni

Zašto su magnetni kablovi za pametne telefone opasni i korisni

Mantis USB na USB Type-C najlonski magnetni kabel praktičan je i moderan dodatak dizajniran za povezivanje vašeg pametnog telefona s punjačem...

Koja je razlika između PCI Express i PCI?

Koja je razlika između PCI Express i PCI?

Prvo tromjesečje 2006. Led je probijen, gospodo porotnici Kao što svaka obrazovana osoba zna, Ostap Ibrahimovič Bender je znao...

Bat datoteke naredbe. Kako stvoriti bat datoteku? Osnovne naredbe. Bat datoteke, primjeri sadržaja Bat datoteke

Bat datoteke naredbe.  Kako stvoriti bat datoteku?  Osnovne naredbe.  Bat datoteke, primjeri sadržaja Bat datoteke

BAT datoteka je programski kod spremljen s ekstenzijom .bat ili .CMD kako želite. Mogućnosti bat datoteka gotovo su neograničene, ali u pravilu...

Kognitivne bežične samoorganizirajuće mreže

Kognitivne bežične samoorganizirajuće mreže

Gore smo pregledali osnovne arhitekture neuronskih mreža i principe njihovog stvaranja, obuke i rada. Glavni dio teoretskog...

feed-image RSS