Afacerea mea este francize. Evaluări. Povesti de succes. Idei. Munca și educație
Cautare site

Proiectant de formulare tipărite 1C 8.3. Generator de formulare de imprimare externă NOUA beta (aplicații obișnuite și gestionate!)

Să ne gândim să scriem cea mai simplă formă tipărită în 1s 8,1 - 8,2 folosind exemplu de configurare Contabilitatea întreprinderii 2.0. Să presupunem că trebuie să scrieți un extern formă tipărită către document: afișați datele principale ale documentului, precum și din partea tabelară Bunuri: nomenclatură, preț, cantitate și cantitate.

Puteți descărca exemplul rezultat din .

În configurator 1C Întreprinderi 8 creați procesare externă ( Fișier->Nou->Procesare externă), setați numele, creați detaliile necesare pentru formularul tipărit extern Referință la obiect cu tip DocumentLink.Vânzări de bunuri și servicii.

Crearea unui aspect de formular tipărit

Adăugați unul nou aspect, lăsați tipul de aspect document foaie de calcul. Creăm trei zone pe aspect: Antet, dateȘi subsol. Acest lucru se poate face selectând numărul necesar de linii și făcând clic pe meniu Tabel->Nume->Atribuiți nume (Ctrl+Shift+N).

După aceasta, începem să plasăm text și parametri în zone. O vom pune în antet numele formularului tipărit, numărul documentuluiȘi organizare, și, de asemenea, desenați marginile antetului tabelului și scrieți numele coloanelor. Când creați un parametru în proprietățile celulei, în fila Layout ar trebui să setați proprietatea Umplereîn sens Parametru.

În zonă Date haideți să creăm parametri pentru afișarea rândurilor în secțiunea tabelară( Nomenclatură, preț etc.), iar în zonă subsol pentru totaluri după cantitate și sumă.

Programare

Să mergem la modulul obiect formular de tipărire Acțiuni->Deschide modul obiect.

Să creăm acolo o funcție de export care este obligatorie pentru formularele tipărite. Sigiliu().

Funcția Print () Export EndFunction

În funcție vom crea o variabilă pentru document foaie de calcul, în care va fi scos forma tipărită, obținem aspectȘi zonele de amenajare.

TabDoc = nou TabularDocument; Layout = GetLayout("Layout"); HeaderArea = Layout.GetArea("Header" ); AreaData = Layout.GetArea("Date" ); AreaFooter = Layout.GetArea("Footer" );

Să completăm parametrii pălăriiși adu-l la document foaie de calcul .

HeaderArea.Parameters.HeaderText = +LinkToObject.Number; HeaderArea.Parameters.Organization = LinkToObject.Organization; TabDoc.Output(HeaderArea);

Pentru a obține rânduri de tabel Bunuri folosim cererea.

Solicitare = cerere nouă; Request.SetParameter("Link", ObjectLink); Query.Text = „SELECT | Vânzări de bunuri și bunuri de servicii. Nomenclatură, | Vânzări de bunuri și servicii Bunuri. Sumă, | Vânzări de bunuri și servicii Bunuri. Preț, | Vânzări de Bunuri și Servicii Bunuri Cantitate|DIN | Document Vânzări de bunuri și servicii Bunuri CUM se vinde bunuri și servicii Bunuri|UNDE | Vânzări de bunuri și bunuri de servicii. Link = &Link";

Trecem detaliile la parametrul de solicitare Referință la obiect, pentru a indica în stare UNDE, că avem nevoie de date doar din documentul din care derivăm formularul tipărit. Pentru a obține un exemplu de interogare, o executăm mai întâi și apoi selectăm rândurile.

Selectare = Query.Run().Select();

În continuare, în buclă completăm parametrii zonei Date pentru fiecare linie a eșantionului de document și afișați-le în document foaie de calcul. De asemenea, calculăm valorile totale în buclă cantitățiȘi sume. Nu vom completa fiecare parametru separat, ci vom folosi procedura CompletațiPropertyValues((<Приемник>, <Источник>) din context global, copiază valorile proprietăților <Источника> la proprietăți <Приемника> . Potrivirea se face prin nume de proprietate. Puteți citi mai multe despre asta în asistent de sintaxă 1C Enterprise 8.

Suma totală = 0; TotalQuantity = 0 ; While Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle ;

Umpleți și afișați zona subsol.

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

Întoarcerea documentului de foaie de calcul completat din funcție Sigiliu().

returnează TabDoc;

Dacă utilizați una dintre configurațiile standard, atunci după returnarea documentului foaie de calcul 1C va afișa formularul tipărit pe ecran. Puteți utiliza, de asemenea, metoda documentului tabelar pentru ieșire. Spectacol().

5. Conectarea unui formular tipărit la un document

ÎN configurații standard 1C 8 Există un director pentru înregistrarea formularelor tipărite externe Procesare externă. Pentru a vă conecta, accesați meniul în modul întreprindere Service->Rapoarte și procesare suplimentare->Formulare suplimentare tipărite externe.

Adăuga element nou director, încărcați formularul tipărit de pe disc și selectați tipul de document.

Acum în document Vânzări de bunuri și servicii Va apărea un nou tipăribil.

Înregistrarea automată a formularului tipărit

Pentru a vă asigura că atunci când conectați un formular de tipărire nu trebuie să selectați manual tipul de document, puteți configura auto-înregistrare. Pentru a face acest lucru, adăugați un aspect nou și apelați-l Setări_Înregistrare automată(asta este singura cale) și în prima ei celulă scriem Documentație.<Наименование документа> (sau Directoare.<Наименование справочника> ).

Acum, când conectăm un formular de tipărire, ni se va cere să folosim parametrii de auto-înregistrare.

Colegi!

Continuăm subiectul creării de rapoarte în 1C. Recent, clientul nostru a avut o problemă la transferul documentației din 1C 8.3.

Aplicație Informații suplimentareîn formă tipărită, numerotarea foilor tipărite, cu indicarea datei, orei și utilizatorului care a emis raportul.

Am discutat un exemplu similar în configurația 8.2 în versiunea anterioară. Acum ne vom uita la setările de imprimare, care ne permit să facem toate acestea în configurația 8.3.

Mai mult, o mare parte din aceasta este automatizată în 8.3.

Deci, cum puteți încorpora informațiile de mai sus în tipărirea dvs.? Ce ar trebui făcut în acest caz?

Vă oferim recenzia noastră a opțiunilor; poate că vă va fi de asemenea util.

Opțiunea 1. Direct din forma tipărită a raportului sau documentului generat:

Creați un formular de factură tipărit pentru plată și apelați-l prin Ch. meniu – Tabel – Setări de imprimare – Antet și subsol și configurați după cum este necesar.
Acest lucru se face o singură dată pentru orice formular de tipărire FORMED.

Configurarea câmpurilor antet și subsol

Acordați atenție pictogramelor din colțul din stânga sus al formularului:

Acestea sunt în ordine: numărul paginii, numărul de pagini, data și ora. Poziționați mouse-ul în locația dorită din antet sau subsol și faceți clic pe pictograma dorită. După ce faceți clic pe butonul. OK, atunci când sunt tipărite, aceste date vor fi afișate în formularul tipărit acolo unde ați indicat.

Opțiunea 2. Configurat pentru orice tipărire (rapoarte, documente, certificate) din program

Dacă nu doriți să configurați manual anteturile și subsolurile de fiecare dată, puteți configura prin secțiunea Administrare – Configurarea antetelor și subsolurilor forma generala anteturi și subsoluri pentru imprimare.

Arata cam asa:

Aici mai multe posibilitati pentru a afișa informații în formulare tipărite: adăugați datele „Nume raport” și „Utilizator”. Acesta este exact cazul nostru.

Selectarea datelor pentru antet și subsol se efectuează așa cum este descris în opțiunea 1, doar în loc de pictograme selectăm butoanele text „Ora”, „Data”, „Numele raportului”, etc. Dar esența nu se schimbă. După instrucțiuni informatie necesara setările sunt salvate în locurile necesare din formular.

Când formularul tipărit este tipărit, toate datele specificate vor fi afișate în el.

Opțiunea 3: editați aspectul în modul personalizat

De ce mă gândesc aici la această metodă, care are o funcționalitate proprie și care, strict vorbind, nu are legătură cu subiectul luat în considerare.

Pentru că se întâmplă adesea să fie nevoit să folosești o combinație a acestei metode și setări de imprimare pentru a obține rezultatul dorit. Editarea machetelor formularelor tipărite ne permite să desenăm unele lucruri de care avem nevoie chiar în aspectul acestui formular tipărit.

Aspectele pot fi modificate în secțiunea Administrare – Formulare tipărite, rapoarte, procesare – Aspecte formulare tipărite.

Iată un exemplu de editare a aspectului unei facturi de comandă (document Factură pentru plata către cumpărător):

Selectăm un aspect, indicând la intrare că îl vom edita și adăugam câteva informații text la sfârșit.

De exemplu, așa:

Salvați modificările și creați formularul imprimabil.

Și imprimăm cu modificările.
Dar posibilitățile pentru o astfel de editare sunt limitate.)

Deci, opțiunea 3 este convenabilă de utilizat pentru a introduce informații constante, neschimbabile; orice altceva va necesita modificarea formularului tipărit de către un programator.

Dar de multe ori acest lucru este suficient. 🙂

După cum se știe - fara o bucata de hartie tu... nici o afacere serioasa nu poate face fara. Și când spunem că 1C are un fel de documente electronice, se pune imediat întrebarea cum să le imprimăm pe hârtie.

Procesul de tipărire a unui document electronic 1C se numește formular de tipărire 1C.

Fiecare document poate avea mai multe formulare tipărite 1C. De exemplu, documentul Vânzări de bunuri și servicii (adică vânzare) este tipărit în forme tipărite 1C: TORG-12, Factură, scrisoare de însoțire, Certificat de servicii prestate și așa mai departe.

Esența formularului tipărit 1C este un șablon (cum ar fi un document Excel) în care sunt specificate variabile. În timpul procesului de tipărire, textul din documentul electronic este înlocuit cu variabile. Șablonul este de obicei stocat în configurație.

Problema cu schimbarea unui formular tipărit standard 1C este că de obicei nu este recomandabil să schimbați configurația standard, altfel va fi mai dificil de actualizat. Prin urmare, au apărut diverse metode de utilizare a formelor de imprimare externe 1C și au început să reinventeze roata.

Un formular de imprimare extern 1C este un șablon de imprimare care este stocat cumva separat de configurația în sine.

Totuși, aceasta este toată teorie. Cum să-ți creezi propriul formular tipărit? Sau, mai bine, cum să faci modificări unuia existent?

Cum este tipărit un document 1C

Pentru a imprima orice document 1C (care poate fi tipărit), trebuie să faceți clic pe butonul Imprimare din document. 1C va oferi să selecteze un formular tipărit 1C pentru acest document din listă.

În stânga butonului Imprimare există de obicei un buton de acces rapid la ultimul formular de printare 1C selectat.

Rezultatul imprimării arată astfel. Pentru a o imprima pe o imprimantă, trebuie să plasați cursorul în formularul de printare 1C, să apăsați Ctrl+P sau butonul imprimantei de pe panoul de butoane sau în meniul Fișier/Imprimare.

Setările de imprimare (margini, orientarea foii etc.) se află în meniul File/Page Setup. De asemenea, puteți configura setările utilizatorului pentru a imprima direct pe imprimantă.

De unde provine această formă de imprimare?

Unde se află formularul tipărit 1C?

Să mergem la configurator. Găsiți-l în fereastra de configurare documentul solicitat. Să extindem filiala Layouts. Ei sunt cei care se transformă în forma de imprimare 1C atunci când sunt imprimate.

Cu toate acestea, nu va fi suficient - ni s-a oferit să alegem mai multe opțiuni atunci când imprimăm. Faptul este că multe modele de formulare tipărite 1C sunt ascunse în alt loc.

Să revenim la partea de sus a ferestrei de configurare 1C. Să deschidem filiala General, apoi filiala Aspecte generale. Aici se află majoritatea layout-urilor. Acest lucru este valabil mai ales pentru formularele tipărite reglementate de stat 1C - TORG 12, Factură etc.

Apropo, nu este greu de observat că veți vedea mai multe aspecte ale TORG12 sau Factura. De ce? Este ușor de explicat. Legile și cerințele se modifică periodic. Dar nu putem schimba pur și simplu același aspect - și dacă trebuie să tipărim documentul de la o dată care este anterioară datei modificării. Prin urmare, se realizează mai multe machete și, în funcție de data documentului, se folosește cea corectă.

Dar asta nu este tot! Există și amenajări externe. Unde sunt depozitate?

Să revenim la modul 1C Enterprise. Prin meniul utilizatorului cu drepturi administrative Operațiuni/Directoare, selectați un director Tratamente externe.

Rândurile acestui director, care au formularul Formular de tipărire, adaugă opțiuni de imprimare pentru documentul specificat în tabelul Proprietatea formularului de tipărire (în imagine aceasta este Vânzări de bunuri și servicii).

Pentru ca acest lucru să funcționeze, trebuie să faceți o procesare externă care are o procedură Print() în modulul său obiect etichetat Export, care organizează procesul de imprimare.
Dar ne depășim pe noi înșine. Să ne uităm mai întâi la modul în care este organizată aspectul formularului de printare 1C.

Aspectul formularului tipărit 1C

Aspectul formularului de printare 1C arată astfel.

După cum puteți vedea, este împărțit în blocuri. Blocurile pot fi orizontale (nume în stânga) sau verticale (nume în partea de sus).

Aspectul în sine, așa cum este, nu este tipărit. Blocurile individuale sunt imprimate. Programatorul în procedura de procesare a imprimării specifică ordinea blocurilor și numărul de repetări ale fiecărui bloc. Ca rezultat, se formează forma tipărită.

Pentru a atribui o zonă, selectați mai multe rânduri (sau mai multe coloane) și selectați Tabel/Nume/Atribuiți un nume din meniu. Pentru a-l elimina, există și comanda Eliminare nume.

Numele este necesar pentru ca zona să poată fi accesată din codul programului. Numele poate fi atribuit nu numai rândurilor sau coloanelor, ci și pur și simplu mai multor celule. Pentru a face acest lucru, selectați celulele și selectați același meniu.

Cu toate acestea, în mod implicit, numele de celule personalizate nu sunt afișate. Pentru a le vedea, selectați elementul de meniu Tabel/Nume/Afișare celule cu nume.

Așadar, astăzi am aflat că un formular tipărit 1C este format folosind un aspect. Aspectul este format din blocuri – numite inteligent zone.

Blocuri tipice (utilizate în mod obișnuit) pentru plăci de imprimare:

  • Antet – este afișat titlul documentului
  • Rând – este afișat un rând al tabelului, acest bloc se repetă de câte ori trebuie să fie imprimate rândurile
  • Subsol – este afișat sfârșitul documentului.

Acum trebuie să ne ocupăm de

Nu este un secret că, deși în zilele noastre tot mai multe companii trec la document electronic Dimpotrivă, vechea zicală „Fără o bucată de hârtie tu...” nu își pierde actualitatea. Se întâmplă că din anumite motive autoritățile de inspecție sunt interesate în primul rând de documentele pe hârtie. Prin urmare, dacă utilizați activ programul 1C: Accounting sau Enterprise pentru control financiar, este important să știți cum să tipăriți un document electronic creat cu ajutorul programului.

Formularele tipărite în 1C vă permit să transformați un document electronic într-o versiune tipărită.

Pentru aceasta, dezvoltatorul a oferit un instrument excelent - Print Designer. Cu ajutorul acestuia, puteți crea documente în care puteți specifica orice date de care aveți nevoie, și nu doar câteva formulare standard. Acest lucru este valabil mai ales pentru acele documente care nu au o formă strict reglementată, care nu pot fi modificate în niciun caz. Aceasta, în special, poate include un act de finalizare a lucrărilor, unele facturi sau plăți.

În acest ghid, ne propunem să înțelegem capacitățile Print Designer-ului, să luăm în considerare ce tipuri de formulare de tipărire pot exista și cum diferă între ele. De asemenea, vom arăta cu un exemplu cum să tipăriți formularul creat.

În primul rând, merită să înțelegeți ce este, în general, un formular tipărit în 1C 8. Acesta este un șablon de foaie de calcul 1C (cum ar fi Excel), în care sunt specificate câteva rânduri variabile, umplute cu date din program atunci când se întocmește un document.

Formularele de imprimare sunt de două tipuri:

  • Intern (încorporat). Acestea sunt stocate în configurația programului, deci este mai bine să nu le schimbați, deoarece pot apărea probleme mai târziu în timpul actualizării.
  • Extern - stocat separat de setările programului. Și cu ajutorul lor, puteți crea și pregăti pentru tipărirea unui document de aproape orice complexitate, fără a afecta configurația programului 1C 8.

Cum să alegi machete deja pregătite? După ce efectuați o operațiune de intrare sau de ieșire, de exemplu, redactarea unui raport de lucru finalizat, faceți clic pe butonul „Imprimare” pentru a imprima documentele. Lista afișează o listă de formulare imprimabile care sunt deja completate cu datele introduse despre tranzacția efectuată și despre compania dumneavoastră. Făcând clic pe tipul de document de care aveți nevoie, deschideți o fereastră de previzualizare pentru a vă asigura că datele pe care le-ați completat sunt corecte. Butonul de imprimare imprimă documentul pe imprimantă.

Cu elementele de bază la o parte, să ne dăm seama unde sunt stocate toate materialele imprimabile. Să trecem la următoarea întrebare.

Unde sunt stocate formularele tipărite?

Puteți vizualiza formularele tipărite încorporate atât în ​​modul configurator, cât și în modul normal de întreprindere. În primul caz, trebuie să faceți clic pe butonul corespunzător din fereastra de pornire când porniți programul. Veți vedea meniul programului, veți găsi ramura „Vânzări de produse și servicii”, care conține elementul „Aspecte”. Adesea, conține doar două elemente - „Factură” și „Act”. Unde sunt toți ceilalți atunci, deoarece lista este mult mai extinsă? Doar se ascund în altă parte. Trebuie să deschideți ramura „General” - „Aspecte generale”, aproape toate aspectele sunt stocate în ea.

În al doilea caz, trebuie să accesați secțiunea de meniu „Administrare” - „Imprimare formulare, rapoarte și procesare” - „Aspecte de formulare tipărite”. Acesta va afișa toate aspectele documentelor. Este de remarcat faptul că acestea pot fi editate în același meniu.

În ceea ce privește formularele externe, mai întâi trebuie să le creați prin modul configurator, fie prin descărcarea unui fișier gata făcut, apoi să le conectați la meniul „Administrare” - „Formulare tipărite, rapoarte și procesare” - „Rapoarte suplimentare și prelucrare". Vom vorbi despre asta puțin mai târziu.

Crearea unui formular simplu folosind Print Designer încorporat

Un astfel de formular tipărit nu implică posibilitatea unei editări profunde, deoarece aceasta va implica o modificare a configurației programului, precum și dificultăți suplimentare la actualizarea acestuia. Cu toate acestea, dacă sunteți complet mulțumit de formularul standard sau doriți să vă adânciți în complexitatea creării unui formular extern, această metodă este complet potrivită pentru dvs.

  1. În primul rând, lansați în modul Configurator, găsiți documentul de care aveți nevoie, de exemplu, Vânzări de produse și servicii, în proprietățile documentului mergeți la Acțiuni - Designers - Designer de imprimare.
  2. Când vi se solicită o opțiune de lucru, selectați Formulare obișnuite.
  3. Dați un nume noului aspect, de exemplu, „Tipărește factura”.
  4. Selectați detaliile pe care doriți să le vedeți în antetul documentului. Mai mult, acestea trebuie selectate în ordinea în care vor fi afișate. Pentru a selecta, trebuie să evidențiați elementul din coloana din stânga cu cursorul și să apăsați săgeata din mijlocul ecranului, astfel încât detaliile să apară în coloana din dreapta.
  5. Marcați detaliile care vor fi afișate în secțiunea tabel. Selectarea detaliilor urmează același principiu ca în paragraful anterior.
  6. În același mod, selectați detaliile părții inferioare a documentului.
  7. Pe stadiu final Când creați, selectați dacă doriți să imprimați imediat fără previzualizare, dacă trebuie să protejați tabelul și apoi confirmați crearea formularului cu butonul OK.

Crearea unui formular de printare extern

Formularele create prin Print Designer pot fi comparate cu un editor software vizual, atunci când nu introduceți manual tot codul, ci doar îl compuneți din elementele propuse. Formularul extern este un fișier cu cod de program scris manual, care descrie procedura de afișare a datelor pe ecran. Acesta este ceea ce vă permite să editați formularul tipărit după cum doriți, specificând absolut orice date în orice secvență.

Un avantaj suplimentar este că, chiar dacă nu înțelegeți sau pur și simplu nu doriți să înțelegeți complexitățile programării 1C 8, puteți încredința această procedură profesioniștilor. Ei se pot pregăti pentru tine formularul cerut, vă va furniza ca fișier gata făcut, pe care îl activați doar cu câteva clicuri pe buton.

Acum să vorbim mai multe despre procedura în sine. Să ne uităm la exemplul de creare a unui aspect „Factură” pentru documentul „Vânzări (acte, facturi)”.

  1. Deschideți programul 1C 8 în modul Configurator.
  2. Faceți clic pe Fișier - Nou - Procesare externă, dați-i un nume (nu trebuie să includă spații), apoi faceți clic pe Acțiuni - Deschide modul obiect.
  3. În câmpul de introducere care se deschide, introduceți următorul cod (valorile care pot fi modificate cu propriile dvs. sunt evidențiate cu galben):

Funcție InformationOnExternalProcessing() Export
Parametri de înregistrare = Structură nouă;
ArrayDestinations = Matrice nouă;
Array of Assignments.Add(„Document.Vânzări de bunuri și servicii”); //Specificați documentul pentru care facem o imprimare externă. formă
Parametri de înregistrare.Insert("View", "PrintForm"); //poate - PrintableForm, Filling Object, Additional Report, Creating Related Objects...
Parametri de înregistrare.Insert("Destinație", Matrice de destinație);
Parametri de înregistrare.Insert(„Nume”, „Comandă de vânzare mărfuri”); //numele sub care va fi înregistrată prelucrarea în directorul de prelucrare externă
Parametri de înregistrare.Insert("SafeMode", FALSE);
Parametri de înregistrare.Insert("Versiune", "1.0");
Opțiuni de înregistrare.Insert(„Informații”, „Acest formular imprimabil a fost creat ca exemplu”);
CommandTable = GetCommandTable();
AddCommand(CommandTable, „External Order”, „ExternalOrder”, „CallServerMethod”, True, „MXL Print”);
Parametri de înregistrare.Insert("Comenzi", CommandTable);
ReturnRegistrationParameters;
EndFunction // Informații DESPRE procesarea externă()
Funcția GetTableCommand()
Comenzi = New ValueTable;
Commands.Columns.Add(„View”, New TypeDescription(„Row”));//cum va arăta descrierea formularului de tipărire pentru utilizator
Commands.Columns.Add(„Identifier”, New TypeDescription(„String”)); //printează numele aspectului formularului
Commands.Columns.Add(„Utilizare”, NewTypeDescription(„Rând”); //Apelați ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add(„Modificator”, NewTypeDescription(„Rând”);
Echipa de întoarcere;
EndFunction
Procedură AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
NewCommand.View = Vizualizare;
NewCommand.Identifier = Identificator;
NewCommand.Use = Utilizare;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Modificator;
EndProcedure

  1. Salvați aspectul pentru imprimare ca fișier în orice folder de pe hard disk, denumiți-l corespunzător.

Introduceți în același document procedura de pornire a tipăririi din meniul programului (comenzile evidențiate cu galben trebuie să se potrivească cu linia):

Adăugați comandă (Tabel de comenzi, „Ordine externă”, „Ordine externă”):
Procedură Imprimare (Matrice de obiecte, Colecție de PrintForms, PrintObjects, Parametri de ieșire) Export
Managementul tipăririi.Ieșire TabularDocumentIntoCollection(
Colectare de formulare de tipărire,
"comanda externa"
"comanda externa"
GeneratePrintForm(ArrayofObjects, PrintObjects);
EndProcedure // Print()

  1. Introduceți un aspect pentru completarea formularului tipărit făcând clic pe numele formularului extern din colțul din stânga jos și selectând „Aspecte” - „Adăugați” - „Document foaie de calcul”, dați-i un nume. După aceea, completați foaia de calcul cu datele necesare. De exemplu:
    • Comanda pentru nr. de produs [Număr de realizare] de la [Data de realizare] - clic dreapta - Proprietăți - Aspect - Umplere - Șablon.
    • Creați coloanele pe care doriți să apară în documentul dvs.
    • Selectați celulele introduse, faceți clic pe Tabel - Nume - Atribuiți un nume - introduceți numele „Header”.
    • Copiați rândul cu anteturile tabelului, selectați-le, faceți clic dreapta - Proprietăți - Aspect - Umplere - Parametru.
    • Selectați o linie și denumiți-o, de exemplu, „StringTCH”.
    • Creați un subsol: scrieți Total, celula în care ar trebui să fie afișată suma totală, denumiți-o TotalTotal, selectați „Parametri” în proprietăți.
    • Specificați persoana responsabilă, iar în proprietățile celulei pentru afișarea numelui de familie, specificați „Parametri”.
    • Selectați rândurile de jos și denumiți intervalul „Footer”.
  2. Acum, în fereastra de introducere, introduceți funcția pentru generarea unui formular tipărit:

Funcția GeneratePrintForm(LinkToDocument, PrintObjects)
TabularDocument = Nou TabularDocument;
TabularDocument.Name of Print Parameters = „PRINT_PARAMETERS_Invoice for Payment to VRTU”;
Procesare Layout = GetLayout("Plată FacturăExternă");
//completează antetul
AreaHeader = ProcessingLayout.GetArea("Header");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//Afișează antetul într-un document de foaie de calcul
TabularDocument.Output(HeaderArea);
//completați rândurile PM
RowArea = ProcessingLayout.GetArea("ROW");
Pentru fiecare linie curentă din Document Link.Products Cycle
FillPropertyValues(RowArea.Parameters, CurrentRow);
TabularDocument.Output(RowArea);
EndCycle;
//umple subsolul
AreaFooter = ProcessingLayout.GetArea("Footer");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Cantitate");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Suma");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
//Afișează subsolul într-un document de foaie de calcul
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = Adevărat;
returnează TabularDocument;
EndFunction

  1. Salvați modificările aduse documentului.
  2. Acum trebuie să activați formularul creat. Pentru aceasta:
    • Accesați „Administrare” - „Formulare tipărite, rapoarte și procesare” - „Rapoarte și procesări suplimentare”.
    • Faceți clic pe butonul „Creați”, selectați fișierul formular extern în Explorer, confirmați intrarea cu butonul „Salvați și închideți”.
  3. Pentru a verifica, accesați Vânzări - Vânzări (acte, facturi), faceți clic pe butonul „Tipărește”, selectează formularul și verifică dacă este completat corect.
  4. Tipăriți documentul dacă este necesar.

Concluzie

Am analizat un exemplu de creare a unui formular imprimabil prin Print Designer și prin instrumentul de creare a formularelor externe. Sperăm că totul funcționează pentru tine. Lasă întrebările tale în comentarii.

Viața continuă, legislația se schimbă, dezvoltatorul lansează actualizări de configurare și avem din nou de ales: să instalăm singuri actualizarea sau să sunăm din nou pe programator pentru a „instala o nouă versiune”...

Să ne familiarizăm cu mecanismul de schimbare a formularelor de imprimare fără a modifica configurația.


În practica fiecărui contabil care folosește 1C, a existat vreodată nevoia de a modifica configurația pentru ei înșiși: cineva a ajustat acuratețea prețului sau a sumei din factură, cineva a inserat un logo și a ajustat aspect factura fiscala. Totul ar fi bine, dar foarte multe astfel de modificări se acumulează în timp, iar când vine momentul actualizării versiunii, apare o dilemă: fie pierdeți toate modificările făcute, fie apelați un programator pentru a transfera toate modificările către noua versiune (de curs contra cost). Cum să fii? Pentru a simplifica cumva configurațiile de actualizare, dezvoltatorii au creat un nou mecanism: „Prelucrare externă, formulare tipărite, procesare pentru completarea părților tabelare”. Astăzi ne vom uita doar la o parte a acestui mecanism - tipărirea formularelor.


Orice subiect se învață cel mai bine prin exemplu. Să ne stabilim următoarea sarcină: adăugați la configurație posibilitatea de a tipări o factură (document „Vânzări de bunuri și servicii”) cu sigla companiei noastre. În plus, este necesar ca în antetul documentului inscripțiile "furnizor"Și "cumpărător" au fost evidențiate cu caractere aldine și în final, este necesar ca în partea de jos a documentului să existe un loc pentru semnătura serviciului de securitate care a autorizat expedierea.


Să introducem două conditii suplimentare:

  • Noul formular tipărit ar trebui să înlocuiască vechiul formular "Factura fiscala"
  • Configurația nu poate fi schimbată, deoarece dorim să folosim actualizarea automată a configurației în viitor

Ei bine, care este sarcina? Pare prea complicat? Ei bine, cu cât este mai complex, cu atât este mai interesant și cu atât mai mult vrei să-l rezolvi. Atunci apucă-te de treabă.


Lansăm baza noastră de date în modul Configurator. Deschideți configurația selectând comanda din meniul principal „Configurare > Deschideți configurație”. Nu vom schimba configurația în sine în niciun caz. Îl vom folosi ca prototip. Aici vom face munca principală, dar vom edita procesarea externă. Creăm procesare externă cu o comandă în meniul principal „Fișier > Nou”. Selectarea tipului de document „Prelucrare externă”. Pentru prima procesare, să setăm un nume „Factură de marcă”


Important! Numele de procesare nu trebuie să conțină spații, la fel ca numele variabilelor.


Acum hai să facem puțin "plagiat". Să copiem aspectul "Factura fiscala" din document „Vânzări de bunuri și servicii”. Pentru a face acest lucru, îl vom găsi în ramură "Documentație" arborele de configurare. Extinde acest subiect făcând clic pe pictogramă «+» și găsiți aspectul de care avem nevoie "Factura fiscala"(este in fir „Aspecte”). Pentru a copia acest obiect, trebuie să selectați acest aspect în arbore și să rulați comanda „Editare > Copiere”(aceeași acțiune are loc cu combinația CTRL+C). Acum să trecem la procesarea pe care am creat-o, selectați o etichetă în arbore „Aspecte” iar în meniul principal selectați elementul - „Editare > Lipire” (CTRL+V). Rezultatul ar trebui să arate ca în Figura 1.


Acum faceți dublu clic pentru a deschide aspectul.

Ce este un „aspect”

Să spunem câteva cuvinte despre scopul aspectului.

Aspect- depozitare „blocuri de construcție”, zone din care, asemenea cărămizilor, se construiește un document tabelar, pe care suntem obișnuiți să-l numim formular tipărit. Zonele sunt definite folosind secțiuni orizontale și verticale sau intersecțiile acestora. Aspectul nostru are doar secțiuni orizontale: „Antet”, „Furnizor”, „Cumparator”, „Antet tabel”, „Rând” (vezi Fig. 2). O zonă este un set de celule. Ca și în MS Excel, celulele pot fi îmbinate, culorile textului și de fundal, fonturile și așa mai departe pot fi modificate. Toate setările celulei pot fi vizualizate și modificate în fereastra cu proprietățile celulei. Puteți deschide fereastra de setări făcând clic dreapta pe celulă și selectând elementul din meniul contextual „Proprietăți”(același rezultat este obținut prin comanda rapidă de la tastatură Alt+Enter).


O celulă poate conține unul dintre cele trei tipuri de valori:

  1. text– o valoare de acest tip va fi tipărită în aceeași formă;
  2. parametru– o celulă de acest tip conține numele unei variabile a cărei valoare va fi tipărită.
  3. probă– celulele de acest tip sunt o combinație a primei și a doua opțiuni. Celula poate conține text și variabile. Pentru ca un program să distingă textul de o variabilă, variabilele trebuie să fie incluse între paranteze drepte: „Astăzi este [Data]”.

Important! Editorul de tabel afișează valorile celulelor de al doilea și al treilea tip în paranteze triunghiulare. În figura 2 există o celulă cu text "Cumpărător"- arată ca text și în dreapta celulei „Prezentarea cumpărătorului”- parametru.

De ce spun toate astea? Acum știți în ce celule puteți modifica cu ușurință conținutul și în care nu este de dorit să schimbați ceva, deoarece va trebui să faceți modificări algoritmului de imprimare.

Să revenim acum la sarcina noastră. Am creat procesarea, am copiat aspectul și suntem gata să o modificăm pentru a ne potrivi. În primul rând, să aruncăm o privire mai atentă.

Ce este inclus în aspectul imprimabil

Structura de aspect a tuturor documentelor este foarte asemănătoare. După ce am examinat cu atenție un document, putem înțelege pe alții. Prima secțiune "Titlu". Când se afișează această secțiune, va fi generat un antet de document, constând din tipul, data și numărul documentului. Este urmată de secțiuni „Furnizor” și „Cumpărător”, în care programul va afișa informații despre furnizor și respectiv cumpărător. Urmează o secțiune mai interesantă "Informații suplimentare", pe care dezvoltatorii îl folosesc pentru a afișa alte informații pe document, de exemplu, informații despre contract cu numărul și data acestuia. Particularitatea acestei secțiuni este că poate fi afișată de mai multe ori și de fiecare dată poate conține diverse informatii. Ce anume să imprimați și când este descris în algoritmul de imprimare.

Aceasta completează antetul documentului. Antetul este de obicei urmat de o secțiune tabelară. Interesant, aspectul descrie două opțiuni pentru afișarea părții tabelare: „Antetul tabelului”, „Șir” și „HeaderTablePlaces”Și „StringPlace”. În funcție de dacă coloana dvs. este completată sau nu "Mest"în document, se va folosi prima sau a doua opțiune de afișare a părții tabelare a documentului. Cititorul curios probabil s-a întrebat deja: de ce în secțiunea de ieșire antet "Preț"Și "Sumă" sunt plasate între paranteze triunghiulare ca și cum ar fi variabile? Așa este – acestea sunt variabile în care, în funcție de setările documentului, va fi afișată inscripția "Preț", "Pret cu TVA" sau "Pret fara TVA" si la fel pentru suma.

Ei bine, mai jos în aspect există secțiuni cu ajutorul cărora sunt afișate rezultatele documentului și semnăturii.

Editarea aspectului

Ar fi bine să plasați sigla deasupra informațiilor despre furnizor și cumpărător. Vă sugerez să editați zona de aspect "Titlu". Este necesar să se reducă dimensiunea celulei care conține conținutul „TitluText”. Această celulă este formată din mai multe celule îmbinate. Schimbăm dimensiunea după cum urmează:

  1. Să copiem cu atenție conținutul celulei îmbinate „TitluText”(Pentru a face acest lucru, trebuie să selectați celula și să utilizați comanda „Editare > Copiere” sau comandă rapidă de la tastatură CTRL+C)
  2. După ce ați selectat această celulă, selectați elementul din meniul principal „Tabel - Îmbinare”, ceea ce va duce la efectul opus - celula îmbinată va fi împărțită în mai multe celule originale
  3. Acum haideți să selectăm un număr mai mic de celule - în loc de celula 2 a coloanei, vom începe fuzionarea din coloana 6, terminând-o la coloana 32 - și faceți clic din nou pe butonul "Combina"
  4. Echipă „Editare > Lipire” (CTRL+V) introduceți conținutul celulei îmbinate anterioare în noua celulă îmbinată
  5. Pur și simplu ștergem celulele eliberate din coloanele 2 – 5 (le selectăm și apăsăm tasta Ștergere)

Acum puteți insera o imagine cu un logo în spațiul liber. Pentru a face acest lucru, selectați elementul din meniu „Tabel > Imagini > Imagine...”. Găsiți fișierul cu logo-ul nostru pe disc și faceți clic pe „ Bine" Acum să mutăm imaginea în spațiul liber. Rezultatul ar trebui să arate ca în Figura 3.


Acum să evidențiem valorile din celule cu caractere aldine "furnizor"Și "Cumpărător"(Fig. 4). Pentru a face acest lucru, găsiți parametrul în proprietățile celulei „Font”și setați stilul la îndrăzneț.



Și, în sfârșit, rămâne să adăugați semnătura serviciului de securitate. Vom posta aceste informații în secțiune „Semnături”. Pentru a obține spațiu pentru semnături, trebuie să extindeți secțiunea. Selectați linia 37, faceți clic dreapta pe ea și selectați "Extinde", și așa mai departe de două ori. Într-una din rândurile adăugate vom plasa un loc pentru semnătura serviciului de securitate. Ca rezultat, totul ar trebui să arate ca în Figura 5.



Important!Într-o configurație tipică, sunt utilizate două limbi: rusă și ucraineană. Aspectul stochează reprezentarea textului în ambele limbi (designul celulei este general). Pentru a introduce versiunea ucraineană a inscripției pe care am adăugat-o, trebuie să mergeți la proprietățile celulei și la câmp "Text" apasa butonul "căutare". Se va deschide o fereastră pentru introducerea reprezentărilor de text în diferite limbi (Fig. 6).

Cum să asigurați imprimarea

Deci, aspectul este gata. Acum este momentul să lucrăm la algoritmul pentru imprimarea acestuia.

Pentru ca noi să integrăm fără durere acest aspect în configurație și să îl folosim, procesarea pe care am creat-o trebuie să îndeplinească următoarele condiții:

  1. Trebuie să creați recuzită în procesare „Legătură obiect” cu tip „AnyLink”
  2. Trebuie să creați o procedură în modulul de procesare „Print() Export” fără parametri și asigurați-vă că specificați cuvântul cheie " Export"

Primul punct este necesar pentru ca algoritmul de imprimare să știe de unde să obțină date pentru imprimare, iar al doilea este algoritmul de imprimare în sine. Să îndeplinim aceste condiții.

În panoul ferestrei, selectați fereastra pentru editarea procesării noastre (în Figura 7). Se va deschide o fereastră cu un arbore de obiecte pentru procesarea noastră. Selectarea unei ramuri "Rechizite"și apăsați butonul "Adăuga",. Se va deschide fereastra cu proprietățile atributelor. Să introducem numele - „Legătură obiect”și indicați tipul „AnyLink”. Acum putem trece la textul modulului de imprimare. Nu îl vom scrie de la zero; în schimb, îl vom copia din document „Vânzări de bunuri și servicii”.



Pentru a face acest lucru, găsiți în arborele de configurare printre documente „Vânzări de bunuri și servicii”, faceți clic dreapta pe el și selectați „Deschide modul obiect”(vezi Figura 8).



Aceasta va deschide modulul document. Avem nevoie de prima funcție „PrintDocument”. Textul acestuia trebuie selectat și copiat. Este foarte comod să evidențiezi textul unei funcții atunci când este restrâns, dar trebuie să evidențiezi și linia de sub ea, altfel riști să copiați doar titlul.

Vezi în Figura 9, am evidențiat titlul și linia de sub el. După aceea, copiați-l în clipboard. Meniu principal „Editare > Copiere” (sau CTRL+C).



Am memorat textul în clipboard, acum să trecem din nou la procesarea noastră „Factură de marcă”. Faceți clic pe butonul „Acțiuni > Deschideți modulul obiect”(Fig. 10).



Lipiți textul copiat: „Editare > Lipire” (sau CTRL+V).

Acum este necesar să editați ușor textul copiat, deoarece a fost scris pentru tipărirea unui document din documentul în sine și îl colectăm din procesare externă. Pentru a face acest lucru aveți nevoie de:

  1. Redenumiți funcția în „Print”
  2. A inlocui „AcestObject” pe „Legătură obiect”
  3. A inlocui „AcestObject” pe „Legătură obiect”
  4. A inlocui „Contul bancar al organizației” pe „Link către Object.Organization Bank Account”
  5. A inlocui "Produse. Rezumat" pe „LinkToObject.Products.Total”

Pentru aceste acțiuni puteți folosi elementul din meniul principal „Editare > Înlocuire”.

După aceasta, trebuie să verificați sintaxa. Există o combinație magică pentru asta: CTRL+F7. Ca urmare, ar trebui să apară următorul mesaj: „Nu au fost găsite erori de sintaxă!”

Ei bine, cu asta am terminat toată treaba murdară. Acum putem salva rezultatele muncii noastre într-un fișier, de exemplu „BrandedInvoice.epf”. Pentru a face acest lucru, trebuie să activați fereastra pentru această procesare și să o salvați folosind meniul principal al programului „Fișier > Salvare ca...”. Procesarea numelui fișierului - „BrandedInvoice.epf”(va fi oferit implicit). Îl puteți salva temporar pe desktop, astfel încât să îl puteți găsi mai repede mai târziu.

Important! După cum ați văzut, nu am făcut nicio modificare în configurația noastră. Pentru toate acțiunile descrise mai sus, nici măcar nu trebuie să îl eliminați din suport (adică să activați capacitatea de modificare).

Conectarea procesării externe la configurație

Acum putem conecta procesarea la factura noastră. Pentru a face acest lucru, lansați în modul. Accesați meniul "Serviciu", unde sunt trei puncte legate de mecanism „Prelucrare externă, tipărire formulare, prelucrare pentru completarea pieselor tabelare”. În cazul nostru, avem nevoie doar de articol „Formulare de tipărire externe”(vezi Fig. 11).



Aceasta va deschide directorul. „Prelucrare externă”, cu selecție după tip „formulare tipărite”. Acesta va stoca o listă a tuturor formularelor tipărite externe, indicând pentru ce documente sunt acestea și în ce cazuri trebuie afișate.



Important! Prelucrarea în sine va fi stocată în baza de date împreună cu alte date, adică după salvarea procesării în baza de date, nu vom avea nevoie de un fișier extern.

Trebuie să creăm un nou element în director. Clic Introduce. Acum să ne uităm la conținutul elementului. Adăugăm sens numelui scurta descriere esența acestei forme, de exemplu, "Factura companiei". Ca orice alt director, are și un cod. Să-l lăsăm implicit. Atributul tip este completat implicit și nu poate fi editat – „Formular tipărit”. Iar ultimul element al antetului este un comentariu. Aici, ca de obicei, există mai multe detalii despre scopul formularului de tipărire. Pe lângă antet, elementele acestui director au două marcaje. Al doilea conține informații despre restricționarea drepturilor de acces la această prelucrare. Acest subiect depășește domeniul de aplicare al acestui articol (vom vorbi despre aceasta și despre alte setări ale drepturilor de acces fără a modifica configurația într-una dintre problemele viitoare).

Să aruncăm o privire mai atentă la prima filă.

Fila conține patru coloane. Reprezentarea obiectelor– tipul de document pentru care dorim să folosim formularul nostru de tipărire,

Selecţie– o condiție în care acest formular tipărit ar trebui să fie disponibil. De exemplu, am reproiectat forma tipărită a facturii și am tradus-o în engleză. Și vrem pentru clienți din folder "European"în loc de un formular tipărit standard "Factură de vânzare" a fost publicat formă nouă, pe Limba engleză. Pentru a face acest lucru, puteți utiliza coloana "Selecţie". Un exemplu de astfel de selecție este prezentat în Figura 13.



Dar în sarcina noastră nu sunt necesare selecții.

Fișier formular imprimabil– indică fișierul din care se ia procedura de layout și tipărire. În această celulă trebuie să selectați fișierul pe care l-am salvat pe desktop.

Placă de imprimare înlocuibilă– dacă dorim ca formularul tipărit pe care l-am creat să înlocuiască unul dintre cele standard pentru acest document, atunci trebuie să indicăm care trebuie înlocuit. Dacă nu există nimic de selectat, va apărea un formular imprimat suplimentar.

În cazul nostru, trebuie „Factură de marcă” a fost tipărită în locul facturii obișnuite. Pentru a face acest lucru, selectați în acest câmp "Factură de vânzare".

Acum să salvăm acest element. Și deschide orice factură.

Ar trebui să arate așa cum se arată în Figura 14.



Ei bine, aceasta încheie sarcina pe care ne-am propus-o la începutul articolului. Credem că am putut să ilustrăm posibilitățile pe care le deschide utilizatorului utilizarea mecanismului extern de procesare.

Pentru a vă consolida abilitățile, puteți încerca să adăugați în mod independent la configurație un formular tipărit suplimentar „La depozit” pentru documentul „Recepție de bunuri și servicii”, care ar repeta factura obișnuită, dar fără prețuri și sume și, de asemenea conțin câmpuri pentru introducerea cantității acceptate.