1c deschide procesarea externă. Cum se deschide programatic procesarea externă? Deschiderea procesării externe ca obiect

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 extern de prelucrare.
&Pe Procesarea comenzii de procedură client (Parametru de comandă, Parametri de execuție a comenzii) // Plasează 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) Returnează 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șierelor, î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șier, datele din care vor fi plasate în stocare temporară, este specificată 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 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 de execuție sigur al codului programului pot fi găsite în documentație.

Se întâmplă că pentru a funcționa trebuie să utilizați o procesare externă sau un raport, dar acest lucru nu este întotdeauna posibil imediat. Uneori, când încercați să deschideți o procesare externă sau un raport folosind elementul de meniu „Fișier” și apoi „Deschidere”, apare un mesaj de eroare care indică faptul că drepturile de acces sunt încălcate.

Dar mai întâi, să vedem cum se deschid în general rapoartele externe și procesarea în „1C: Contabilitate 8.3” versiunea 3.0. Acestea sunt de obicei o arhivă descărcată de pe Internet sau obținută în alt mod. Odată ce a fost salvat, de exemplu pe desktop, făcând dublu clic putem vedea conținutul acestuia.

Acțiuni pentru interfața normală:

  1. Faceți clic dreapta pe fișierul dorit și selectați elementul de meniu contextual „Copiare”.
  2. Ne întoarcem la desktop, facem clic dreapta pe spațiul liber și selectăm „Lipire” (sau pur și simplu trageți fișierul din arhivă pe desktop).
  3. De asemenea, puteți extrage fișierul din arhivă direct în locația dorită de pe disc (în exemplul nostru, acesta este desktopul).
  4. Acum selectați fișierul cu procesare pe desktop și faceți clic pe „Deschide”.
  5. Procesarea va fi deschisă în program și o puteți utiliza.

Acțiuni pentru o interfață gestionată (de exemplu, Taxi)

  1. Deschideți direct din fișier.
  2. În meniu, selectați „Fișier”, apoi „Deschidere”.
  3. În fereastra care se deschide, accesați desktopul, selectați fișierul de procesare și faceți clic pe „Deschide”.

Pentru un confort sporit, puteți crea un folder special pentru tratamente și le puteți stoca pe toate în el.

Dacă nu puteți deschide procesarea sau un raport, puteți utiliza una dintre cele două opțiuni.

Prima cale

Puteți înregistra procesarea într-un director numit „Rapoarte și procesări suplimentare”. Deci, înregistrăm procesarea în baza de date.

  1. Mergem la secțiunea de administrare, selectăm din listă articolul de formulare tipărite, rapoarte și procesare.
  2. În fereastra care apare, bifați caseta „Rapoarte și procesare suplimentare” și deschideți linkul cu același nume.
  3. În fereastra nouă, faceți clic pe „Creați”.
  4. Citiți avertismentul de securitate și faceți clic pe „Continuați”.
  5. În fereastra următoare, selectați locația fișierului cu procesare și faceți clic pe „Deschidere”.

Important!

Dacă în această etapă apare o eroare cu textul: „Este imposibil să conectați procesări suplimentare din fișier...”, va trebui să utilizați a doua metodă descrisă mai jos.

  1. Dacă nu apare nicio eroare, găsiți elementul „Plasare” în „Comenzi”.
  2. În fereastra „Secțiuni de interfață de comandă”, verificați secțiunea Operațiuni.
  3. În tabel găsim „Acces rapid” și îl deschidem.
  4. Selectați toți utilizatorii și faceți clic pe OK.
  5. Faceți clic pe butonul „Salvați și închideți”.

Procesarea a fost înregistrată cu succes. Pentru a-l deschide, va trebui să mergeți la secțiunea de operațiuni, să selectați elementul de procesare suplimentar, să îl selectați pe cel de care aveți nevoie și să faceți clic pe „Run”.

A doua cale

Dacă procesarea nu acceptă înregistrarea descrisă în prima opțiune, o puteți face diferit, și anume: activați din nou posibilitatea de a deschide procesarea în baza de date folosind meniul „Fișier” cu butonul din dreapta al mouse-ului „Deschidere”.

  1. Accesați configuratorul bazei de date.
  2. Selectați „Administrare” din meniu, apoi „Utilizatori”.
  3. Faceți dublu clic pe utilizatorul dorit.
  4. Accesați fila numită „Altele”.
  5. Bifați caseta pentru „Deschidere interactivă a rapoartelor externe și procesare”.
  6. Faceți clic pe „OK”.
  7. Închidem configuratorul și, de asemenea, dacă era deschis, baza de date.
  8. Intrăm din nou în baza de date și deschidem raportul de care avem nevoie în meniul „Fișier” folosind comanda „Deschidere”.

Î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ă; în consecință, 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 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 adăugată la formular, pur și simplu trăgând-o în secțiunea cu elemente de formular.

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

&OnClient

Procedura Setați rata TVA (comandă)

SetVATRateOnServer();

Sfârșitul procedurii

Î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;

Sfârșitul procedurii

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

Pentru a lucra cu procesare externă (și o formă de imprimare externă este, de asemenea, o prelucrare externă), există un obiect Procesare externă.

Să luăm în considerare două cazuri posibile:

Procesarea externă este stocată pe disc separat de baza de informații

Pentru a deschide programatic procesarea externă în 1C, trebuie să cunoașteți adresa fișierului acestuia. Cunoscând acest lucru, puteți fie să deschideți un formular de procesare, fie să obțineți un obiect de procesare pentru a efectua acțiuni suplimentare cu acesta (de exemplu, pentru a apela funcții de export dintr-un modul obiect).

Deschiderea unui formular de prelucrare extern

Pentru a deschide programatic un formular de procesare externă în 1C, utilizați funcția GetForm() obiect Procesare externă. Funcția are mai mulți parametri. Luați în considerare o simplă deschidere a formei principale de procesare:


Form = ExternalProcess. GetForm(FileAddress) ;
Formă. Deschis();

Pentru a deschide un formular minor de procesare externă, trebuie să specificați numele acestuia.

//Variabila FileAddress conține calea completă către fișierul de procesare externă
Form = ExternalProcess. GetForm(FileAddress, „MinorForm”) ;
Formă. Deschis();

Deschiderea procesării externe ca obiect

Pentru a primi procesarea externă ca obiect, se folosește o funcție Crea() obiect Procesare externă.

//Variabila FileAddress conține calea completă către fișierul de procesare externă
ProcessingObject = Procesare externă. Creați(Adresa fișierului);

În mod implicit, toate procesările sunt deschise în modul sigur. Pentru a o dezactiva, utilizați următoarele opțiuni:

//Variabila FileAddress conține calea completă către fișierul de procesare externă

Procesare externă sau formular de tipărire salvat în baza de informații

În multe configurații, este posibilă salvarea formularelor tipărite externe și a procesării direct în baza de informații. Pentru aceasta este folosită cartea de referință. Procesare externă. Procesarea externă în sine este stocată ca date binare sau în atribute StocareExternalProcessing, sau în secțiunea tabelară Afiliereîn recuzită StocareExternalProcessing.

Pentru a deschide procesarea externă aveți nevoie de:

  1. Ia-l din depozit.
  2. Salvați fișierul procesat pe disc.
  3. Deschideți un formular sau obțineți un obiect de procesare.
  4. Dacă avem de-a face cu un formular tipărit extern, atunci putem completa detaliile standard Referință la obiectși apelați funcția de export Sigiliu.

//Variabila RefLink conține o legătură către elementul de director ExternalProcessings
DvData = RefLink. Stocare de procesare externă. Obține() ;
FileAddress = GetTemporaryFileName() ;
DvData. Scrie (Adresă fișier) ;
ProcessingObject = Procesare externă. Create(FileAddress, False) ;