1s 8 crearea unui formular de imprimare extern. Publicaţii

Instrucțiuni

Deschideți versiunea 8 a programului 1C:Enterprise. Fiți atenți la elementul de meniu „Serviciu” - „Formulare de prelucrare și tipărire externe”. Cu ajutorul acestuia, puteți stoca rapoarte externe, procesări, formulare tipărite, precum și procesări pentru completarea elementelor tabelare. De asemenea, puteți conecta un formular extern în loc să schimbați unul existent, ceea ce ar implica interferarea cu configurația programului.

Lansați programul 1C:Enterprise în modul configurator, apoi creați procesare externă, pentru a face acest lucru, executați comanda „Fișier” - „Nou”. În fereastra care apare, selectați „Procesare externă”. Un nou formular de procesare externă va apărea pe ecran. Dați-i numele „Extern”. Apoi adăugați un nou atribut numit „Referință obiect”, specificați tipul acestuia – „Document. Legătură. Vânzări de bunuri și servicii.” Pentru a crea o imprimare pentru un alt tip de document, utilizați tipul de link corespunzător.

Adăugați un aspect nou făcând clic pe butonul corespunzător din noua fereastră de formular. Numiți-o „Layout”, creați o zonă numită „Header”, acordați-i parametrul „Header Text”. Apoi faceți clic pe butonul „Acțiuni”, selectați comanda „Deschide modulul obiect”. Apoi introduceți textul modulului, puteți folosi exemplul postat pe site-ul http://www.uasoft.com.ua/content/articles/315/.

Lansați programul 1C:Enterprise, accesați meniul Instrumente, selectați Formulare de imprimare externă. Adăugați o intrare nouă la lista de formulare. Pentru a face acest lucru, selectați fișierul de procesare creat și, în secțiunea tabelară, indicați că formularul aparține documentului „Vânzări de mărfuri”. Verificați dacă noua placă de imprimare funcționează corect. Pentru a face acest lucru, deschideți documentul creat, urmăriți-l, apoi în partea de jos a ecranului faceți clic pe butonul „Imprimare”, selectați opțiunea „Formular de imprimare extern”.

Surse:

  • cum se schimbă un formular tipărit în 1c

Pentru a crea și edita formulare obiect, programul 1C:Enterprise oferă un editor special de formulare (sau Form Designer). Formularele obiectului soluției de aplicație sunt concepute pentru a reprezenta vizual datele în timpul lucrului cu programul. Editorul de formulare conține mai multe file care oferă posibilitatea de a edita toate elementele de formular.

Vei avea nevoie

  • computer, program 1C

Instrucțiuni

Folosind editorul de formulare, puteți adăuga unul sau mai multe elemente „Grup – Pagini” în formular; pentru a face acest lucru, faceți clic pe semnul verde plus din colțul din stânga sus al editorului în fila „Elemente”.
În modul 1C:Enterprise, toate elementele de grup existente vor fi afișate fiecare într-o filă separată. Pentru a-l poziționa deasupra sau sub cel de lucru, în fereastra „Proprietăți” a unui anumit grup, în elementul „Afișare”, selectați comanda corespunzătoare.

De asemenea, puteți adăuga elemente în formular trăgând detaliile necesare în arborele de elemente. Pentru a facilita navigarea prin controalele din formular atunci când editați sau introduceți date, setați ordinea care vi se potrivește, aranjați elementele în arbore și subordonându-le altor elemente și setați proprietățile elementelor grupului în funcție de nevoile dvs.
Pentru a edita detaliile formularului - modificați-le, creați altele noi sau ștergeți-le, utilizați panoul din zona arborelui de detalii din fila corespunzătoare.

Pentru a edita interfața de comandă, accesați fila corespunzătoare. Veți vedea un arbore de comandă, ale cărui ramuri principale sunt „Panoul de navigare” și „Panoul de comandă”. Unele comenzi sunt adăugate automat în arborele interfeței de comandă, dar le puteți adăuga și dvs. trăgând comenzile de care aveți nevoie din lista de comenzi globale (generale) sau din lista de comenzi de formular.

Comenzile de formular sunt editate în lista corespunzătoare. Puteți să le adăugați, să le eliminați din listă, să setați proprietăți pentru fiecare comandă folosind paleta de proprietăți, pe care o puteți apela făcând clic pe pictograma creion din linia de comandă a listei.
Pentru a edita parametrii formularului, accesați fila „Parametri”, unde puteți, de asemenea, să îi adăugați, să îi ștergeți și să setați proprietățile dorite.

Video pe tema

Planul de conturi, folosit în contabilitate pentru afișarea activităților economice ale unei întreprinderi, suportă o ierarhie pe mai multe niveluri: cont - subconturi. Pentru ca utilizatorul să poată vizualiza datele conținute în planul de conturi și să le corecteze, sistemul 1C vă permite să schimbați forma contului. În plus, forma tipărită a facturii poate fi modificată în orice alt document din 1C.

Vei avea nevoie

  • - calculator personal cu 1C.

Instrucțiuni

Contabilitatea analitică este furnizată pentru fiecare cont sau subcont. Prin urmare, la crearea și editarea ulterioară a unui plan de conturi în 1C, poate fi furnizat numărul necesar de subconturi, adică obiecte de contabilitate analitică. Mai mult, ajustările la conturi și subconturi pot fi făcute fie de către un utilizator care lucrează cu un sistem de contabilitate automatizat, fie de către un dezvoltator de software.

Cum se adaugă (înregistrează) un formular tipărit extern (sau o procesare) în 1C Accounting 8.3 (reviziunea 3.0)

2019-05-15T13:40:54+00:00

Adesea, un contabil are nevoie de un formular tipărit suplimentar pentru unul dintre documentele standard 1C: Contabilitate 8.3 (reviziunea 3.0). Sau este nevoie de procesare suplimentară, de exemplu, pentru a completa automat un document sau pentru a introduce unul nou pe baza acestuia. De obicei, cineva a dezvoltat deja o astfel de caracteristică și poate fi găsită sau comandată de la un programator. Și acum a fost primită revizuirea, nu mai rămâne decât să o adaugi la departamentul de contabilitate. Cum să o facă? Mai multe despre asta mai jos, pas cu pas.

1. Deschideți 1C Accounting 3.0 și selectați secțiunea „Administrare” -> „Tipărește formulare, rapoarte și procesare” din panoul din stânga:

2. Aici, găsiți și selectați „Rapoarte și procesare suplimentare”, după ce bifați caseta de selectare „Rapoarte și procesare suplimentare” din stânga:

3. Faceți clic pe butonul „Adăugați din fișier...”.

4. Și selectați fișierul cu formă de imprimare externă sau procesare (extensia epf).

5. În fereastra nouă, faceți clic pe butonul „Salvați și închideți”.

6. Deschideți documentul dorit și asigurați-vă că apare o altă opțiune de formular imprimabil în butonul de tipărire sau un element din meniul „Creare bazat pe” sau un buton nou pe bara de instrumente a formularului. Gata!

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

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: unii au ajustat acuratețea prețului sau a sumei din factură, alții au inserat un logo și au ajustat aspectul facturii. 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ă condiții 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 treci la treabă.


Lansăm baza noastră de date în modul Configurator. Deschideți configurația selectând comanda din meniul principal „Configurare > Deschidere Configurare”. 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 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 apela 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 informații diferite. 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 „Branded Invoice.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 - „Branded Invoice.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. În nume includem o scurtă descriere semnificativă a esenței 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 locul unui formular tipărit standard "Factură de vânzare" Un nou formular a fost tipărit în 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.

Bună ziua.

Astăzi vreau să vă spun cum să creați formulare tipărite externe pentru configurația „Gestionarea salariilor și a personalului 3.0”. După cum știți, ZUP 3.0 utilizează o bibliotecă de subsisteme standard, ceea ce înseamnă că structura de procesare arată complet diferită. Când a trebuit pentru prima dată să fac un formular tipărit pentru BSP în formulare gestionate (atunci a fost UT 11), primul lucru pe care l-am făcut a fost să merg pe discul ITS pentru a găsi acolo documentație detaliată despre ce proceduri de export, ce parametri ar trebui să fie procesate și cum funcționează totul. Aici ITS m-a dezamăgit puțin, pentru că... totul este spus acolo despre cum ar trebui să arate procedurile în modulul de documente, iar în forma tipărită externă sunt rearanjați parametrii procedurii de „tipărire”, așa că a trebuit să caut informații în alte surse și să schimb subsistemul din interior .

Ei bine, să începem. Ceea ce obținem la sfârșit poate fi folosit ca șablon.

Primul pas- evident. Să creăm o nouă procesare. Să îi atribuim un nume arbitrar: „Print Sample”.

Pasul doi. Să creăm un aspect. Deoarece avem un exemplu de testare, voi crea cel mai simplu aspect, fără un singur parametru.

Pasul trei- Cel mai interesant. Deschideți modulul obiect și începeți programarea. Potrivit BSP, atunci când înregistrează o procesare externă, aceasta (procesarea) trebuie să indice ce poate face, la ce obiecte este atașată și cum se numește. Când este întrebat ce procesare poate face, ar trebui să returneze o listă de comenzi - acesta este un tabel de valori. În cazul nostru, procesarea poate scoate un singur formular tipărit, deci va exista o singură comandă. Pentru a genera un tabel de valori, vom defini câteva proceduri care vor fi întotdeauna aceleași în toate formele tipărite externe:

//procedură care pregătește structura tabelului de comenzi

Funcția GetTableCommand()

// Creați un tabel de comenzi gol și coloane în el
Comenzi = New ValueTable;

// Cum va arăta descrierea formularului tipărit pentru utilizator
Commands.Columns.Add(„Vizualizare”, NewTypeDescription(„Rând”);

// Numele aspectului nostru, astfel încât să putem distinge comanda apelată în procesarea tipăririi
Commands.Columns.Add(„Identifier”, New TypeDescription(„String”));

// Aceasta setează modul în care ar trebui să fie apelată comanda de procesare
// Opțiuni posibile:
// - OpeningForm - în acest caz, coloana de identificare ar trebui să indice numele formularului pe care sistemul îl va deschide
// - CallClientMethod - apelează procedura de export client din modulul formular de procesare
// - Apel ServerMethod - apelează o procedură de export de server din modulul obiect de procesare
Commands.Columns.Add(„Utilizare”, New TypeDescription(„Rând”);

// Următorul parametru specifică dacă o notificare trebuie afișată atunci când începe și se termină un job de procesare. Nu are sens la deschiderea formularului
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Pentru un formular tipărit, acesta trebuie să conțină șirul PrintMXL
Commands.Columns.Add(„Modificator”, New TypeDescription(„Rând”);

Echipa de întoarcere;

EndFunction

//Creează un nou rând în tabelul de comenzi

Funcția AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
Echipa nouă. Vizualizare = Vizualizare;
Echipa nouă. Identifier= Identificator;
Echipa nouă. Utilizare = Utilizare;
Echipa nouă. ShowAlert= ShowAlert;
Echipa nouă. Modificator= Modificator;
EndFunction

Funcție InformationOnExternalProcessing() Export
Parametri de înregistrare = Structură nouă;
ArrayDestinations = Matrice nouă;
Array of Assignments.Add("Document.Angajare");
Parametri de înregistrare.Insert("View", "PrintForm"); //poate - Completarea unui obiect, Raport suplimentar, Crearea obiectelor înrudite...
Parametri de înregistrare.Insert("Destinație", Matrice de destinație);
Parametri de înregistrare.Insert(„Nume”, „Bună lume”); //numele sub care va fi înregistrată prelucrarea în directorul de prelucrare externă
Parametri de înregistrare.Insert("Versiune", "1.0");
Parametri de înregistrare.Insert("SafeMode", TRUE);
Parametri de înregistrare.Insert("Informații", "EȘANȚĂ");//așa va arăta descrierea formularului imprimabil pentru utilizator
CommandTable = GetCommandTable();
AddCommand(CommandTable, „Hello World”, „Layout”, „CallServerMethod”, True, „MXL Print”);
Parametri de înregistrare.Insert("Comenzi", CommandTable);
ReturnRegistrationParameters;
EndFunction

De fapt, va trebui să o faci de fiecare dată când creați o nouă formă de imprimare externă. Din fragmentul de cod este clar că îl vom lega de documentul „Angajare”, în consecință, îl scrieți pe al dvs. Formularul nostru tipărit se va numi „Hello World”, iar noi îl vom schimba cu al nostru. Aici ar fi convenabil să scrieți un panou evident în șablon, astfel încât să atragă atenția, pentru a nu uita să-l corectați mai târziu; în opinia mea, „Hello world” este util. Versiunea este pentru tine, scrie ce vrei, va fi afișată sub forma unui element în directorul de procesare externă. De asemenea, cuvântul „SAMPLE” este vizibil doar sub forma unui director de formulare tipărite. Apoi, adăugăm o comandă, aici al doilea parametru este numele butonului, acesta este ceea ce utilizatorul va vedea în document în elementul de meniu „printare”.

Acest set de trei proceduri este suficient pentru ca procesarea să fie adăugată în directorul de procesare externă; tot acest cod confuz este serviciu și nu are nimic de-a face cu algoritmul de imprimare. De fapt, autorii BSP ne-au forțat să programăm într-un mod atât de dificil încât dacă anterior începeai imediat să scrii funcția „Print”, acum când scrii procesare de la zero, și nu după un eșantion, vei pierde timpul cu serviciul. Anterior, parametrii de înregistrare erau opționali și erau indicați în aspectul de procesare, acum totul pare mult mai serios. Prima impresie când am văzut asta a fost mișto, atât de multe posibilități, totul este unificat... dar în practică creez întotdeauna o singură comandă într-o singură procesare și o conectez la un document. Acestea. de fapt, am nevoie de două rânduri pentru înregistrare: numele obiectului, numele butonului. Și aici totul este atât de... ei bine, ei bine, nu este pentru mine să judec.

Pasul patru- nu mai puțin interesant.

Funcția PRINT?

Dar nu, acum nu este o funcție, ci o procedură.

Cum pot recupera layout-ul?

Trimiteți-l la funcția modulului subsistemului global de imprimare.

Bine

Iată textul acestei proceduri:

Procedură Imprimare (Matrice de obiecte, Colecție de PrintForms, PrintObjects, Parametri de ieșire) Export
Dacă PrintManagement.NeedPrintLayout(CollectionPrintForms, „Layout”), atunci
Managementul tipăririi.Ieșire TabularDocumentIntoCollection(Colecție de formulare de tipărire,
„Aspect”, „Aspect”,
GenerateTabDocumentSample(Matrice de obiecte, Imprimare obiecte));
endIf;
Sfârșitul procedurii

Acum pentru clarificare. Prima linie a procedurii conține o condiție ușor neclară. Cert este că atunci când apelăm la procedura de imprimare, sistemul ne transmite un tabel de valori, care indică ceea ce trebuie să imprimăm. În esență, funcția ManagePrint.NeedPrintLayout(...) verifică prezența în tabelul de valori a unui rând în care în coloana „Nume” există un rând cu numele aspectului. În practică, în cele mai multe cazuri, lucrul este inutil, pentru că... prelucrarea noastră va putea genera un singur formular tipărit. Acestea. Această condiție poate fi omisă și nu va afecta performanța.

Apoi, Print Management.Ieșire TabularDocumentIntoCollection(...) - acesta este ceea ce adaugă aspectul tabelar acolo unde este nevoie, astfel încât să poată fi apoi afișat pe ecran. Dacă trebuie să afișați documentul din foaia de calcul în propria fereastră (nu într-una standard), atunci nu apelați această procedură, ci pur și simplu scrieți codul aici.

De asemenea, aș dori să adaug că procedura Print se realizează pe client și, dacă este necesar, puteți deschide aici un formular gratuit pentru a solicita utilizatorului informații suplimentare necesare pentru tipărire.

În continuare, GenerateTabDocumentSample(...) este o funcție pe care trebuie să o scriem în modulul de procesare și care returnează un document tabelar. În 100 din 100 de cazuri va fi bazat pe server, deoarece... trebuie să obținem valoarea detaliilor din obiectele enumerate în parametrul „Object Array”.

Pasul cinci- crearea unui layout.

Ura, vom ajunge în sfârșit la algoritmul de aspect, recuperarea datelor etc.

Dar în eșantionul nostru vom acționa prozaic și nici măcar nu voi comenta aici)))

Funcția GenerateTabDocumentSample (Matrice de obiecte, Imprimare obiecte)
tabDoc = New TabularDocument;
layout = GetLayout("Layout");

AreaHeader = Layout.GetArea("Header");
tabDoc.Output(areaHeader);

Întoarce TabDoc;
EndFunction

Asta e tot, mulțumesc pentru atenție

Formularele tipărite externe pentru o aplicație obișnuită (pentru configurația Enterprise Accounting 2.0, Salary and Human Resources Management 2.5, Trade Management 10.3 etc.) sunt create destul de simplu în comparație cu formularele externe tipărite pentru o aplicație gestionată.

De ce să creați formulare de tipărire externe?

Avantajul unui formular tipărit extern față de unul convențional este că vă permite să evitați modificarea configurației bazei de informații. Aceasta înseamnă că procesul de actualizări ulterioare de configurare nu va fi complicat. În plus, formularele tipărite externe, împreună cu procesarea externă, sunt singura opțiune pentru extinderea funcționalității versiunilor de bază ale configurațiilor 1C, care nu pot fi modificate deloc.

Și un ultim lucru: formularele imprimate externe sunt mai ușor de replicat, deoarece sunt un fișier separat care poate fi conectat rapid la baza de informații.

Cum se creează un formular de imprimare extern

Să ne uităm la procesul de creare a unui formular tipărit 1C extern pas cu pas:

  1. Creăm procesare externă. Pentru a face acest lucru, selectați elementul de meniu din configurator Fișier - Nou...Și în caseta de dialog care se deschide - Prelucrare externă.
  2. Creați un atribut de procesare extern cu numele Referință la obiect. Tipul de atribut este o legătură către un director sau un document pentru care se creează un formular tipărit extern. Aceeași formă poate fi folosită pentru mai multe tipuri de obiecte, în acest caz tipul de date atribut Referință la obiect trebuie să fie compozit.
  3. În modulul obiect creăm o funcție de export cu numele Sigiliu, care ar trebui să returneze o foaie de calcul tipărită gata făcută.

Se întâmplă adesea că trebuie să ajustați ușor aspectul unui formular tipărit existent și să îl faceți extern. De exemplu, adăugați sigiliul organizației și semnătura managerului la aspect.

Crearea unui formular de printare extern bazat pe unul standard cu modificări minore

Să luăm în considerare această procedură folosind exemplul creării unei forme imprimate externe a unui document de transfer universal pentru un document Vânzări de bunuri și servicii 1C: Contabilitate. Acesta va diferi de formularul tipărit standard prin prezența sigiliului organizației.

  1. Crearea de procesări externe cu recuzită Referință obiect, tip de date - DocumentLink.Vânzări de bunuri și servicii.
  2. Găsim aspectul formularului tipărit UPD standard (se află în machetele generale) și îl copiem (trageți) în fereastra de procesare externă. Aspectele altor formulare tipărite pot fi găsite în documentele sau cărțile de referință în sine.
  3. Facem modificările necesare la aspectul copiat al formularului tipărit.
  4. Găsim funcția responsabilă de generarea formularului tipărit. Această funcție ar trebui să returneze documentul generat de foaia de calcul. Copiați conținutul acestuia în funcția de export Sigiliu()în modulul obiect de procesare extern.
    În cazul nostru, aceasta este funcția PrintUniversalTransferDocument() Export din modulul obiect document Vânzări de bunuri și servicii.
    Dacă modificările aspectului au fost semnificative (suprafețele și/sau parametrii modificați), atunci trebuie făcute ajustări corespunzătoare la funcția de imprimare.
  5. Încercăm să salvăm procesarea externă. Cu toate acestea, veți primi probabil mesaje de eroare care indică faptul că unele dintre procedurile și funcțiile apelate de funcția de imprimare lipsesc. Aceste funcții și proceduri trebuie găsite în documentul sursă și, de asemenea, copiate în modulul obiect de procesare extern. Sau ajustați legătura dacă funcția sau procedura originală este exportată.
  6. (nu este necesar). Pentru a testa o formă de imprimare externă, este convenabil să faceți un formular pe care să plasați recuzita Referință la obiect. Buton A executa trebuie să apeleze la o procedură Sigiliu() din modulul obiect. Pentru a face acest lucru, evenimentului de clic pe butonul i se oferă o procedură: