Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 8
  • Deschideți formularul de procesare 1s 8.3 în mod programatic. Descrierea detaliilor procesării externe

Deschideți formularul de procesare 1s 8.3 în mod programatic. Descrierea detaliilor procesării externe

Pentru a lucra cu procesare externă (și forma de imprimare externă este, de asemenea, o prelucrare externă), există un obiect Prelucrare 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 formularul de procesare, fie să obțineți obiectul de procesare pentru acțiuni ulterioare cu acesta (de exemplu, pentru a apela funcții de export din modulul obiect).

Deschiderea unui formular de prelucrare extern

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


Formă = Procese externe. GetForm(FileAddress) ;
Forma. Deschis() ;

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

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

Deschiderea procesării externe ca obiect

Pentru a obține procesarea externă ca obiect, se utilizează funcția Crea() obiect Prelucrare externă.

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

În mod implicit, toate procesările se deschid î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ă

Procesarea externă sau formularul de tipărire este salvat în baza de informații

În multe configurații, este posibil să salvați formularele de tipărire externe și procesarea direct în baza de informații. Pentru aceasta, se folosește un ghid. Prelucrare externă. Procesarea externă în sine este stocată ca date binare sau într-un atribut 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 de imprimare extern, atunci puteți completa cerințele standard ReferenceToObjectși apelați funcția de export Sigiliu.

//Variabila ReferenceReference conține o referință la elementul de director ExternalProcessing
dvData = RefReference. StocareExternalProcessing. A primi() ;
FileAddress= GetTemporaryFileName() ;
DvData. Scrie (Adresă fișier) ;
ProcessingObject= Procesări externe. Create(FileAddress, False) ;

Î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ă, respectiv, 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 biblioteca subsistemelor standard versiunea 2.0 și mai nouă.

Sarcina va fi următoarea: să creeze cea mai simplă prelucrare externă care va efectua o acțiune de grup pe cartea de referință „Nomenclatură”, și anume, să se stabilească procentul selectat din cota de TVA pentru grupul specificat de articole.

Pentru a face acest lucru, vom face imediat setările necesare în program (se consideră 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 prin exemplu

Acum să trecem la configurator. Selectați „Nou...” din meniul „Fișier”. 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 chiar acum. Acesta va fi oferit la salvarea procesării pe disc:

Să adăugăm un nou formular de procesare gestionată. Indicăm că aceasta este forma de procesare și este cea principală:

Pe formular vom avea două elemente de recuzită:

  • Grup de nomenclatură - link către cartea de referință „Nomenclatură”;
  • SelectVAT Rate – un link către lista cotei TVA.

Creăm detalii în coloana „Recuzită” 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.

Secvența detaliilor poate fi schimbată cu săgețile „Sus” - „Jos”:

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

Rămâne să adăugați butonul „Instalare”. În formularele gestionate, nu puteți adăuga doar un buton la un 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”. Creați o acțiune în proprietățile comenzii. Selectați handlerul de comandă „Pe client”. De asemenea, o comandă poate fi adăugată în formular prin simpla glisare și plasare a acesteia în secțiunea cu elemente de formular.

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

&AtClient

Procedura Setați cota TVA (comandă)

SetVATRateOnServer();

EndProcedure

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

&Pe server

Procedura SetVATRateOnServer()

Solicitare = Solicitare nouă;
Solicitare.Text =
"SELECTAȚI
| Nomenclatură.Link
| DE LA
| Director.Nomenclatura AS Nomenclatura
|UNDE
| Nomenclatură.Referință ÎN IERARHIE (&Nomenclatură Grup)
| ȘI NU Nomenclatură.Marcă de ștergere
| Și NU Nomenclatura. Acesta este Grupul”;

Query.SetParameter("Grup de nomenclatură", Grup de nomenclatură);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();

În timp ce SelectDetRecord.Next() Loop

Atentat, încercare
SprNo.Object.Write();
O exceptie
Raport ("Eroare la scrierea obiectului """ + SprNoobObject + """!
|» + DescriptionError());
Sfârșitul încercării;

EndCycle;

EndProcedure

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

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

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

Pentru aceasta se folosește 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 detaliilor procesării externe

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

Funcția DetailOnExternalProcessing() 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ă”);

TabZnCommands = New TableValues;
TabZnCommands.Columns.Add("Identificator");
TabZnCommands.Columns.Add(„Utilizare”);
TabZnCommands.Columns.Add(„Vizualizare”);

NewLine = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewLine.Usage = "FormOpen";
NewLine.View = „Deschidere procesare”;
DataForReg.Insert("Comenzi", TabZnCommands);

Returnează DataForReg;

EndFunctions

Pentru a înțelege mai bine ce câmpuri ale structurii de date de înregistrare trebuie să utilizați, 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 structurii sunt necesare, mai întâi nu o puteți descrie, doar creați unul gol și apoi utilizați depanatorul. Prin urmărirea modulelor la înregistrarea procesării, devine imediat clar care câmpuri sunt obligatorii și care nu.

Conectarea procesării externe în 1C 8.3

Top articole similare