Formulare de tipărire externe în 1s enterprise 7.7. Copierea unui raport extern în directorul bazei de informații

Problema necesității de a tipări un număr mare de documente în 1C a fost pusă de mai multe ori, iar în rețea puteți găsi un număr considerabil de tratamente dedicate rezolvării acestei probleme. Această întrebare a apărut nu cu mult timp în urmă și înaintea mea în următoarea declarație: „Am nevoie de procesare care să-mi permită să imprim o mulțime de facturi, formularul tipărit este „TORG-12 (formular 2011)” (avem un astfel de formular de tipărire externă - nota autorului) ” .

Fără mai mult, iau ca bază acea formă de imprimare foarte externă, atârn tot felul de frumusețe pe caseta de dialog pentru a selecta facturile, corectează codul și, voila - totul este gata! Mai mult - mai mult: „Și, de asemenea, trebuie să tipărim aceste facturi în vrac, dar în forma tipărită „TORG-12 (Prom)” (avem și un astfel de formular tipărit extern - nota autorului). Aici era deja necesar să se facă ceva mai universal în cazul în care, după un timp, era nevoie din nou fie de documente noi, fie de noi forme de tipărire.

Am găsit următoarea ieșire: cursurile! Esență: înfășurăm fiecare formular de tipărire externă într-o clasă și o numim din procesarea tipăririi în masă a documentelor. Îmbunătățirile aduse plăcii de imprimare externe pentru o clasă sunt destul de mici și necesită mai puțin timp decât descrierea lor în acest articol. Următoarele trebuie îmbunătățite:

  • - declarăm variabila de export „Document” și procedura „Print()”;
  • - ștergeți decisiv procedura „La deschidere ()”;
  • - copiem tabelul sursă din procesare în fișierul „.mxl” (din moment ce clasa nu îl va vedea în interiorul procesării, pentru asta este clasa) și, în consecință, înlocuim expresia ca „Table.SourceTable(“Table ”);” la o expresie precum „Table.OriginalTable(hlCatalogPrintForm + „Trading12.mxl”);”;
  • - pentru a obține o cârpă pentru picioare cu o grămadă de documente, și nu o grămadă de lavețe pentru un document, eliminați declarația de genul „Table = CreateObject(“Table”);” și „Table.OriginalTable(hlCatalogPechForm + „Trading12.mxl”);” din procedura „Print()” și introduceți-l în modulul de procesare (adăugați la sfârșitul modulului). În consecință, declarăm variabila „Tabel” ca variabilă de modul;
  • - eliminam si expresia de tip "Table.Show()" din procedura "Print()", in schimb adaugam procedura de export "Show()" cu o singura linie: "Table.Show();". Această metodă va fi apelată după buclă cu metoda „Print()”;
  • - pentru ca noul document să fie tipărit pe o pagină nouă, la finalul procedurii „Print()” se adaugă o linie precum „Table.NewPage()”;
  • - verificați modulul pentru prezența unor linii precum „Table.RepeatWhenPrintingLines();”. Altfel va fi o surpriză!
  • - bine, bineînțeles, asigurați încărcarea componentei externe 1cpp.dll (dacă nu ați furnizat-o încă) și descrieți clasele în defcls.prm.

Ca rezultat avem:

  1. Procesarea este universală - poate fi implementată în orice configurație.
  2. Folosind exemplul dat în această prelucrare, puteți tipări orice document în orice formă de imprimare internă sau externă. Când este publicat un nou formular de tipărire, acesta este pur și simplu adăugat la procesare.
  3. Codul de procesare a devenit extrem de scurt și de înțeles (și conține aproximativ o sută de linii). Pentru a adăuga un document nou, trebuie doar să adăugați câteva linii de cod la sfârșitul modulului prin copiere-lipire. Pentru a adăuga un nou tipăribil la un document existent, trebuie să adăugați doar o linie de cod.
  4. Pentru cei neinițiați în POO, acesta este un exemplu grozav despre ce sunt clasele și cum să le folosească în practică.

Dacă procedura de tipărire se află în modulul formular document, atunci logica de lucru este aceeași: copiem procedura „Print ()” și o înfășurăm într-o clasă. Adevărat, vor fi mai multe îmbunătățiri aici: va trebui să adăugați un link către document (adică ceea ce este transferat de context către imprimabilul extern).

Dezavantaje: Am scris deja despre linii de cod precum „Table.RepeatWhenPrintingLines();”, care afișează titlul părții tabelare a documentului pe pagina următoare. Deoarece marea majoritate a documentelor mele se încadrează pe o singură pagină, am comentat aceste rânduri și am eliminat anteturile și subsolurile din formularele tipărite. Dacă cineva trebuie să afișeze aceste rânduri, procesarea va trebui finalizată. Dar aceasta este o lipsă a unei implementări specifice, și nu ideea în sine.

În documentele pentru care este prevăzută tipărirea oricăror formulare tipărite, în stânga butonului Sigiliu există un buton de listă.

După ce face clic pe acest buton, utilizatorului i se oferă o listă de formulare imprimabile din care să aleagă. Prima formă din listă este standard, celelalte formulare sunt înregistrate ca externe.

Tratament Înregistrarea formularelor de tipărire externe concepute pentru a conecta noi forme de imprimare externe. Formularele conectate sunt oferite în lista documentului de formulare imprimabile.

Caseta de dialog de procesare conține un tabel cu o listă de formulare de imprimare externe. Fiecărui tip de document, listă sau element de referință poate fi atribuit orice număr de formulare de tipărire externe.

In grup Plăci de imprimare exterioare pt este specificat documentul sau directorul pentru care este conectat formularul de tipărire. Grupul include trei comutatoare:

  • document- imprimabilul va apărea în lista de tipărire a casetei de dialog a documentului selectat mai jos;
  • Lista directorului- formularul tipărit va apărea în lista de tipărire a directorului selectat mai jos;
  • Element director- formularul tipărit va apărea în lista de tipărire a casetei de dialog a elementului cărții de referință selectat mai jos.

Toate formularele de tipărire externe sunt stocate în subdirector PrnForms catalog EXTFORME. Când procesarea este începută, programul citește formularele externe stocate în acest director. Fiecare linie a tabelului conține numele textual al fișierului extern, numele fișierului și numele butonului care va fi atribuit în document (cartea de referință) pentru a apela imprimabilul.

Sub listă se află butoanele pentru lucrul cu fișiere externe.

Buton Deschis deschide fișierul extern selectat. Aceasta deschide procesarea Sigiliu, în care doriți să specificați un anumit document (sau director) pe care doriți să îl imprimați folosind un formular extern.

Făcând clic pe un buton Reîmprospăta repopulează lista formularelor de tipărire externe. Butonul trebuie folosit după scrierea unor noi formulare de imprimare externă în subdirector PrnForms.

Buton Schimbare este folosit pentru a lucra cu lista de fișiere externe. Când apăsați un buton Schimbare lângă el se deschide un meniu de patru elemente:

  • Schimba numele;
  • Butonul de schimbare;
  • Adăugați la listă;
  • Sterge din lista.

La alegerea unui articol Schimba numele numele text al fișierului extern va fi afișat pentru editare într-o casetă de dialog separată.

După editare, noul nume al fișierului extern va apărea în listă în locul celui anterior.

La alegerea unui articol Butonul de schimbare titlul text al butonului va fi emis pentru editare în aceeași casetă de dialog. După editare, noul nume de buton va apărea și în listă.

Paragraf Adaugă la listă vă permite să adăugați un nou formular extern la listă. Selectarea acestui element va deschide o listă de fișiere formular externe aflate în subdirector PrnForms catalog EXTFORME. Informațiile despre numele fișierului și numele butonului sunt stocate într-un fișier text cu extensia efd. Aceste titluri sunt incluse automat în listă. Le puteți schimba dacă este necesar.

Paragraf Sterge din lista după o cerere suplimentară scoate din listă rândul cu descrierea fișierului extern. Fișierul în sine nu este șters, așa că poate fi adăugat la listă mai târziu.

De regulă, utilizatorul programului 1C: Enterprise 7.7 își poate actualiza în mod independent configurația de lucru. Următoarele sunt recomandări pentru actualizarea unei configurații tipice neschimbate. Dacă configurația dvs. a fost modificată, s-au adus îmbunătățiri în documente, rapoarte sau formulare tipărite, atunci nu este recomandat să actualizați singur configurația. Vă recomandăm să apelați la un specialist calificat pentru a efectua lucrările de actualizare.

Cum să conectați independent rapoarte externe și formulare de imprimare externe la configurația din 1C:Enterprise 7.7

Copierea unui raport extern în directorul bazei de informații.

Fișierul de raport extern are extensia „ert”. Acesta este un raport extern direct. De obicei, un fișier de raport extern este însoțit de un fișier de descriere cu extensia „efd”. Acest fișier este necesar pentru ca programul să „găsească” imediat raportul și să nu fie nevoie să fie conectat manual. De exemplu, dacă fișierul de raport extern se numește „Application Log.ert”, atunci fișierul de descriere se va numi „Application Log.efd”. Aceste două fișiere (sau unul dacă nu există niciun fișier cu extensia efd) trebuie copiate în directorul de bază de lucru. Pentru a face acest lucru, mai întâi trebuie să găsiți directorul de bază de lucru. După aceea, trebuie să găsiți directorul „ExtForms” în directorul bazei de lucru.
Dacă copiați un formular de imprimare extern, atunci trebuie să găsiți directorul „PrnForms” în directorul „ExtForms”. Copiați ambele fișiere în directorul găsit (ExtForms pentru rapoarte externe și PrnForms pentru imprimabile externe).

Conectarea la un program de raportare extern folosind procesare specială.

Pentru a vă conecta la baza de date a unui raport extern, trebuie să deschideți raportul „Funcții suplimentare” accesând meniul „Instrumente” - „Funcții suplimentare”.

Dacă ați copiat corect raportul extern și fișierul efd, raportul dumneavoastră extern va apărea în lista de rapoarte externe.

Dacă fișierul de configurare efd nu este copiat, atunci trebuie să faceți următoarele:
Apăsați butonul „Schimbare” și selectați „Adăugați la listă” din meniu.

Din lista derulantă, selectați fișierul de raport extern necesar (care a fost copiat în directorul ExtForms). Dacă fișierul solicitat nu este în listă, acest lucru se poate datora a două motive: 1) Fișierul a fost copiat în folderul greșit, adică trebuie să verificați cu atenție încă o dată dacă copia a fost corectă conform capitolului „Copiarea unui fișier extern raportați la directorul bazei de informații." 2) Fișierul a fost copiat corect și se află deja în lista rapoartelor externe. În acest caz, trebuie să examinați cu atenție lista de rapoarte externe și să găsiți raportul nou adăugat.
După selectarea fișierului, se va deschide o fereastră în care trebuie să specificați numele raportului extern. Introduceți un nume arbitrar. Apăsați butonul „OK”.

După aceea, fișierul dvs. extern va apărea în lista de fișiere externe.

Conectarea la program a unui formular de tipărire extern (suplimentar).

Pentru a conecta un formular de imprimare extern, selectați „Serviciu” - „Înregistrare formulare de tipărire externe” din meniu.

Apoi, selectați pentru ce document sau pentru ce element sau listă a directorului aveți nevoie pentru a conecta un imprimabil extern. De exemplu, să conectăm un imprimabil extern pentru documentul „Livrare mărfuri, produse”. Pentru a face acest lucru, trebuie să puneți în grupul „Formulare de tipărire externe pentru” trecerea la elementul „Document”. Apoi selectați „Livrare mărfuri, produse” din meniu.

Formularele de imprimare externă conectate ar trebui să apară în tabel. Dacă tabelul are forma de care aveți nevoie, atunci a fost conectat automat.
Dacă formularul solicitat nu este în tabel, procedați în felul următor: Faceți clic pe butonul „Schimbați...” și selectați „Adăugați la listă” în meniul derulant.

În lista care se deschide, selectați formularul pe care l-ați copiat în directorul PrnForms.

Dacă formularul nu este în listă, atunci ați copiat incorect formularul în director Citiți din nou capitolul „Copiarea unui raport extern în directorul bazei de informații” cu atenție.


Pentru a verifica performanța unui nou imprimabil extern, trebuie să deschideți documentul, lista sau elementul de director la care ați conectat formularul și faceți clic pe butonul cu un triunghi mic de lângă butonul „Tipărește”.

Selectați un nou tipăribil din lista verticală.