1c deschideți un formular gestionat pentru procesare externă. Cum să deschideți programatic procesarea externă

Extern procesare 1Cși rapoartele sunt procesate și rapoarte care nu fac parte din soluția aplicației și sunt stocate în fișiere separate. Principalul lor avantaj este că astfel de procesare și raportare pot fi utilizate în diverse soluții de aplicație fără a modifica structura soluțiilor în sine. Un avantaj important al procesării și rapoartelor externe este capacitatea de a le proiecta și de a le depana în timp ce 1C Enterprise rulează, fără a salva de fiecare dată configurația soluției aplicației.

În modul 1C Enterprise extern procesare 1C poate fi lansat pentru execuție prin deschiderea acestuia ca orice alt fișier stocat pe disc. O astfel de procesare va funcționa exact la fel ca și cum ar fi parte dintr-o soluție de aplicație.

Orice procesare existentă în configurație poate fi convertită în procesare externă și invers. in afara de asta prelucrare externă 1C pot fi adăugate structurii soluției aplicației ca obiecte noi.

Pentru utilizare prelucrare externă 1C atunci când lucrați cu sistemul 1C Enterprise, trebuie să îl deschideți în același mod ca în configurator. Dar trebuie avut în vedere că în sistemul 1C Enterprise, procesarea externă este deschisă numai pentru utilizare, adică utilizatorul nu o poate edita.

Compilarea modulului de procesare externă se realizează la deschiderea procesării externe, prin urmare, după editarea procesării externe în configurator și salvarea acesteia, trebuie să redeschideți această procesare în sistemul 1C Enterprise.

Editare prelucrare externă 1C efectuate în configurator. Pentru a deschide o procesare externă existentă, selectați Fișier - Deschidere. În dialogul standard afișat pe ecran, selectați tipul fișierului - Procesare externă - și specificați numele fișierului de procesare externă de deschis. Când deschideți procesarea externă în configurator, se deschide automat dialogul de editare a obiectelor. Spre deosebire de alte obiecte de configurare, depanare prelucrare externă 1C să fie efectuată fără a reporni 1C Enterprise.

Avantaje procesare externă 1C: salvarea procesării externe și deschiderea acesteia în întreprindere pe aceeași configurație și computer durează întotdeauna câteva secunde; unele funcționalități ale programului pot fi transferate la procesarea externă și atunci când aceste părți sunt modificate, nu va fi nevoie să trimiteți întreaga configurație, va fi suficient să schimbați procesarea și să o trimiteți utilizatorului; pentru a corecta o eroare într-o bază de date în care există mulți utilizatori, puteți salva raportul ca procesare externă și puteți face modificările necesare acestuia și îl oferiți utilizatorilor, apoi încet, la un moment convenabil, introduceți o prelucrare externă pentru înlocuiți raportul incorect; mulți programatori își distribuie noile soluții, implementate pentru unele configurații standard, fără a copia întreaga bază de date.

Dezavantajele prelucrării externe 1C: folosind procesarea externă nu puteți crea un nou document sau carte de referință; tot ceea ce nu priveşte structura bazei de date poate fi tratat prin prelucrare.

Pentru a crea procesare externă, trebuie să mergeți la configurator și să găsiți raportul de operare după dată în arborele de configurare. Apoi, în meniul contextual, selectați Salvare ca procesare externă și specificați locația în care să o salvați.

Cum se activează deschiderea interactivă a rapoartelor externe și procesarea? (1C: Contabilitate 8.3. ediția 3.0)

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

Dacă la deschiderea unei procesări externe sau a unui raport prin meniul Fișier->Deschidere

Apare eroarea „Încălcarea accesului”:

Există doar două opțiuni pentru utilizarea procesării.

Prima opțiune este înregistrarea procesării în directorul „Rapoarte și procesări suplimentare” (despre aceasta).

Dar dacă procesarea nu acceptă o astfel de înregistrare? Și procesarea este foarte utilă și îmi doresc foarte mult să o deschid.

În acest caz, puteți merge cu a doua opțiune și puteți reactiva capacitatea de a deschide procesarea în baza de date prin meniul Fișier->Deschidere.

Instrucțiunile pentru aceasta sunt mai jos.

Accesați configuratorul bazei de date:

Executați comanda de meniu „Administrare” -> „Utilizatori”:

Faceți dublu clic pentru a vă deschide utilizatorul:

Accesați fila „Altele”, bifați caseta de selectare „Deschidere interactivă a rapoartelor externe și procesare” și faceți clic pe „OK”:

Acum închideți configuratorul și baza de date (dacă ați avut-o deschisă).

Reveniți la baza de date și încercați să deschideți raportul prin meniul „Fișier” -> „Deschidere”.

Acum totul se va rezolva

Există nuanțe...

Metoda pe care am descris-o în aceste instrucțiuni funcționează 100%, dar atunci când o utilizați, dreptul de a „Deschide interactiv procesarea externă” poate dispărea din nou după un timp.

Pentru a evita acest lucru, bifați aceeași casetă în modul 1C:Enterprise din profilul curent al grupului de acces pentru utilizatorul dvs.

Când utilizați această metodă, pot apărea diverse nuanțe (de exemplu, dacă utilizați un profil încorporat care nu poate fi editat), așa că nu voi oferi instrucțiuni detaliate pentru acest caz.

Cu sinceritate, Vladimir Milkin(profesor și dezvoltator).

În acest articol, vom lua în considerare instrucțiunile pas cu pas pentru crearea procesării externe în 1C 8.3 în modul de aplicație gestionată, vom folosi formulare gestionate. Și cel mai important, vom învăța cum să-l conectăm la mecanismul de „procesare externă” a configurațiilor 1C construite pe o bibliotecă de subsisteme standard versiunea 2.0 și mai nouă.

Sarcina va fi următoarea: să creați cea mai simplă procesare externă care va efectua o acțiune de grup în directorul „Articol”, și anume, să setați procentul cotei de TVA selectat pentru grupul specificat de articole.

Pentru a face acest lucru, vom face imediat setările necesare în program (luăm în considerare configurația 1C 8.3: „Enterprise Accounting 3.0” pe formularele gestionate).

Bifarea acestei casete ne oferă posibilitatea de a folosi procesarea externă.

Crearea unei noi procesări externe în 1C 8.3 folosind un exemplu

Acum să trecem la configurator. În meniul „Fișier”, selectați „Nou...”. Se va deschide o fereastră pentru selectarea tipului de fișier care urmează să fie creat. Selectați „Procesare externă”:

Se va deschide o nouă fereastră de procesare externă. Să-i dăm un nume imediat. Acesta va fi oferit la salvarea procesării pe disc:

Să adăugăm un nou formular de procesare controlată. Indicăm că aceasta este o formă de prelucrare și este cea principală:

Vom avea două detalii pe formular:

  • Grup de nomenclatură – link către directorul „Nomenclatură”;
  • SelectVATRate – link către transferul ratei TVA.

Creăm detaliile în coloana „Proprietăți” din fereastra din dreapta sus. Trageți-le cu mouse-ul în fereastra din stânga sus. Noile detalii ar trebui să apară imediat în formularul de mai jos.

Ordinea detaliilor poate fi modificată folosind săgețile „Sus” – „Jos”:

Obțineți 267 de lecții video pe 1C gratuit:

Tot ce rămâne este să adăugați butonul „Instalare”. În formularele gestionate, nu puteți să adăugați un buton în formular. Chiar dacă îl adăugați la structura elementelor de formular, acesta nu va fi vizibil pe formularul în sine. Butonul trebuie să fie asociat cu comanda pe care o va executa. Accesați fila „Comenzi” și adăugați comanda „Setare cotă TVA”. În proprietățile comenzii, creați o acțiune. Selectați handlerul de comandă „Pe client”. O comandă poate fi, de asemenea, adăugată la formular prin simpla glisare a acesteia în secțiunea cu elemente de formular.

În modulul formular va fi creată o procedură cu același nume. În ea numim procedura pe server:

&OnClient

Procedura Setați rata TVA (comandă)

SetVATRateOnServer();

EndProcedure

În procedura de pe server, vom scrie o mică cerere și acțiuni legate de stabilirea cotei de TVA:

&Pe server

Procedura SetVATRateOnServer()

Solicitare = Solicitare nouă;
Cerere.Text =
"ALEGE
| Nomenclatură.Link
|DIN
| Director.Nomenclatura AS Nomenclatura
|UNDE
| Nomenclatură.Link ÎN IERARHIE (&Nomenclatură Grup)
| ȘI NU Nomenclatură.MarkDeletion
| ȘI NU Nomenclatură Acesta este un Grup”;

Request.SetParameter("Grup de articole", Grup de articole);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

În timp ce SelectRecordDet.Next() Loop

Atentat, încercare
SprNomObject.Write();
Excepție
Raport ("Eroare la scrierea obiectului """ + SprNomObject + """!
|» + DescriereEroare());
EndTempt;

EndCycle;

EndProcedure

Ne întoarcem la fila „Formular”, adăugăm un buton la formular și îl asociam cu comanda:

Ca atare, prelucrarea noastră este gata de utilizare. Pentru a-l apela, în modul „1C Enterprise”, trebuie să mergeți la meniul „Fișier” - „Deschidere” și să selectați fișierul creat.

Cu toate acestea, lucrul în acest mod este convenabil pentru procesarea de depanare, dar nu este în întregime potrivit pentru utilizator. Utilizatorii sunt obișnuiți să aibă totul „la îndemână”, adică în baza de date în sine.

Pentru aceasta este secțiunea „Rapoarte și procesări suplimentare”.

Dar pentru a adăuga procesarea noastră acolo, trebuie mai întâi să îi dăm o descriere și să spunem programului proprietățile sale.

Descrierea funcției „Informații despre procesarea externă”

Voi da un exemplu de conținut al acestei funcții. Acesta trebuie să fie exportabil și, în consecință, localizat în modulul de procesare:

Funcție InformationOnExternalProcessing() Export

DataForReg = Structură nouă();
DataForReg.Insert(„Nume”, „Setarea cotei TVA”);
DataForReg.Insert(„SafeMode”, True);
DataForReg.Insert ("Versiune", "ver.: 1.001");
DataForReg.Insert("Informații", "Prelucrare pentru stabilirea cotei TVA în directorul Nomenclator");
DataForReg.Insert(„Vizualizare”, „Procesare suplimentară”);

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identificator");
TabZnCommands.Columns.Add(„Utilizare”);
TabZnCommands.Columns.Add(„Vizualizare”);

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Deschide procesarea";
DataForReg.Insert("Comenzi", TabZnCommands);

Returnează DataForReg;

EndFunction

Pentru a înțelege mai bine ce câmpuri ale structurii de date de înregistrare trebuie utilizate, să ne uităm la detaliile directorului „Rapoarte și procesare suplimentare”:

După cum puteți vedea, totul este destul de simplu. Un singur atribut nu se potrivește: „Opțiune de lansare” – „Utilizare”. Dacă ne uităm la codul unuia dintre modulele comune, vom vedea cum apar o grămadă de aceste câmpuri:

Pentru a determina ce câmpuri ale unei structuri sunt necesare, mai întâi nu o puteți descrie, pur și simplu creați unul gol și apoi utilizați depanatorul. Dacă urmăriți modulele atunci când înregistrați procesarea, devine imediat clar care câmpuri sunt obligatorii și care nu.

Conectarea procesării externe în 1C 8.3

Acasă Pentru dezvoltatori începători Învață să programezi

Cum se deschide programatic procesarea externă?

În versiunea 8.2, aplicația nu funcționează direct cu fișierele locale aflate pe computer. Fișierele trebuie să fie pe server.

Prin urmare, pentru a deschide procesarea externă, trebuie să efectuați următoarea secvență de acțiuni:

  • transferați fișierul de procesare extern pe server,
  • conectați procesarea externă,
  • deschideți formularul de prelucrare externă.
&Pe Procesarea comenzii de procedură client (Parametru de comandă, Parametri de execuție a comenzii) // Plasați procesarea în stocare temporară Adresa de stocare = ""; Rezultat = PlaceFile(StorageAddress, "C:\ExternalProcessing.epf", False); ProcessingName = ConnectExternalProcessing(StorageAddress); // Deschideți formularul procesării externe conectate OpenForm("ExternalProcessing."+ProcessingName +".Form"); EndProcedure &OnServer Funcția ConnectExternalProcessing(StorageAddress) Returnare ExternalProcessing.Connect(StorageAddress); EndFunction

Pentru a transfera un fișier pe server, acesta trebuie să fie plasat în stocare temporară. Pentru a face acest lucru, mai întâi pe client, în handlerul comenzii pentru deschiderea prelucrării externe, cu funcția PutFile() plasăm un fișier din sistemul de fișiere local în stocarea temporară.

Al patrulea parametru al acestei funcții specifică semnul modului interactiv de selectare a unui fișier de procesare extern. Dacă acest parametru Adevărat, apoi apare un dialog de selectare a fișierului, în care puteți selecta un fișier pe care să îl plasați în stocare. În exemplul nostru, acest parametru este Minciună, iar calea către fișierul din care datele vor fi plasate în stocare temporară este specificată în mod explicit în al doilea parametru al funcției.

Când apelați o funcție PutFile() primul său parametru, Adresa de depozitare, specificăm un șir gol. După ce funcția este executată, calea către fișierul de procesare extern în stocare temporară va fi plasată în această variabilă. Folosim această cale pentru a conecta procesarea externă.

Conectarea procesării externe se realizează pe server folosind metoda A conecta() manager extern de prelucrare. Ca parametru, i se transmite calea către fișierul de procesare extern în stocarea temporară - Adresa de depozitare. Această metodă returnează numele procesării externe conectate, - ProcessingName, - pe care îl folosim pentru a deschide formularul pentru această prelucrare.

Pentru a deschide un formular de procesare extern, utilizați funcția OpenForm(), căruia i se trece numele formularului ca următoarea linie: „ExternalProcessing.”+ProcessingName +”.Form”. În varianta de realizare de mai sus, se deschide forma principală de procesare. De asemenea, puteți deschide un formular de procesare non-principal - acest lucru este discutat la întrebarea Cum să obțineți un formular de procesare non-principal? .

Când lucrați cu procesare externă, trebuie să țineți cont de faptul că, în mod implicit, acestea sunt lansate în modul sigur de execuție a codului de program. Aceasta înseamnă că unele caracteristici ale limbajului încorporat nu le vor fi disponibile. Dacă sunteți sigur că procesarea externă nu conține cod rău intenționat, acesta poate fi activat în modul normal de execuție a codului de program. Pentru aceasta, se utilizează al treilea parametru al metodei A conecta() manager extern de prelucrare.

Mai multe informații despre modul sigur de execuție a codului pot fi găsite în documentație.