Forma de imprimare încorporată în 1s 8.3. Publicaţii. Cum se creează un formular de imprimare extern

Forma de imprimare încorporată în 1s 8.3. Publicaţii. Cum se creează un formular de imprimare extern

Acest articol descrie cum să conectați un formular tipărit extern la o bază de date 1C folosind exemplul configurației „Trade Management 10.3”

Configurația „Trade Management 10.3” este o configurație pe așa-numitele formulare „REGULAR”, și nu pe formulare „GESTIONATE” precum „Trade Management 11.2” pentru formularele „GESTIONATE”, vă recomandăm să citiți.

Instrucțiunile noastre „arată” cum să conectați un formular tipărit extern în 1C cu configurație pe formulare „REGULAR”, și anume:

  • „Contabilitatea 2.0”
  • „Managementul comerțului 10.3”
  • „Gestionarea salariului și a personalului 2.5”
  • „Automatizare completă 1.1”
  • „Managementul întreprinderii de producție 1.3”
  • „Retail 1.0”
  • și alte configurații similare.

Pentru a conecta un formular de imprimare extern în 1C, va trebui să parcurgem 11 pași.

1 - Meniul „Service”. 2 — Selectați „Forme de tipărire externe și procesare”. 3 — În continuare — „Formulare tipărite externe” (vezi figura de mai jos ↓)

Pentru a vă convinge că această instrucțiune este potrivită și pentru alte configurații pe formulare „REGULAR”, să prezentăm aceeași inițială 1-2-3 pas, dar nu în „Trade Management 10.3”, ci în „Accounting 2.0” totul este la fel acolo, cu excepția cuvintelor ușor modificate din subparagrafe, și anume...

1 — Meniul „Service” (la fel ca în „UT 10.3”, și în altele).
2 — Aici „Rapoarte și procesare suplimentare”, și nu „Formulare și procesare tipărite externe” ca în „UT 10.3”,
dar totuși semnificația este aceeași și se află acolo în meniul „Service”.
3 - Și apoi - „Forme de imprimare externe suplimentare”, de exemplu. cuvânt suplimentar „Adițional” în comparație cu „UT 10.3” (vezi figura de mai jos ↓)

În continuare, vom continua să folosim exemplul „Trade Management 10.3” fără comparații inutile.
4 - Faceți clic pe butonul „+”, adică "Adăuga". 5 — Un buton în care este desenat folderul (când treceți cu mouse-ul, va apărea un indiciu: „Înlocuiți fișierul de procesare extern”).

În noile versiuni ale 1C (începând din august 2016), programul are încorporat un mecanism de avertizare despre pericolul utilizării unei procesări externe necunoscute care pot conține „viruși” în versiunile anterioare ale programului, avertismentul nu va apărea! Dacă apare, atunci pentru a conecta procesarea externă va fi necesar - 6 - faceți clic pe butonul „Continuare”. (vezi figura de mai jos ↓)

7 — Selectați directorul în care se află fișierul formular de tipărire extern de care avem nevoie. 8 — Selectați fișierul nostru. 9 — Faceți clic pe „Deschidere” (vezi figura de mai jos ↓)

10 — Un formular tipărit extern poate avea parametri de auto-înregistrare, ca în cazul nostru, aici este logic să faceți clic pe „Da” - utilizând astfel acești parametri în timpul înregistrării, de exemplu. selectați automat acele obiecte (documente sau poate, de exemplu, directoare) în care va fi posibilă utilizarea unui formular tipărit extern conectat (vezi figura de mai jos ↓)

Asta este tot, am completat tabelul „Afilierea formularului tipărit”, datorită parametrilor de auto-înregistrare, vedem numele formularului tipărit extern conectat, poate că veți avea completat câmpul „Comentariu” etc. Puteți adăuga obiectele dvs. la tabelul „Print Form Ownership”, de exemplu, pentru procesarea „Universal Printable Contract Form”, care acceptă tipărirea multor documente și cărți de referință, dar parametrii de auto-înregistrare sunt setați numai pentru cei principali: 10* — Faceți clic pe butonul verde „Adăugați” și selectați ce obiecte să plasați și pentru procesare. Acum tot ce rămâne este... 11 - faceți clic pe butonul „OK” și (vezi figura de mai jos ↓)

Acum merită verificat - am făcut totul bine?
Pentru a face acest lucru, selectați un obiect pentru a verifica, de exemplu, documentul „Vânzări de bunuri și servicii”, care este indicat în tabelul „Afilierea formularului tipărit”, aceasta înseamnă că formularul tipărit conectat poate fi utilizat în acest document ! Să verificăm... (vezi figura de mai jos ↓)

Pentru a verifica dacă imprimarea este posibilă, deschideți orice document de forma: „Vânzări de bunuri și servicii”. 13 — Faceți clic pe butonul „Imprimare”.
Vedem că a apărut o fereastră pentru selectarea formularelor tipărite, printre acestea se numără - 14 — formular de imprimare extern conectat de noi (vezi figura de mai jos ↓)

Se realizează în conformitate cu aspectul standard al formularului tipărit integrat în aplicație de către dezvoltatori (acesta se numește aspectul „livrat”).

Dacă este necesar, puteți modifica aspectul standard și, în viitor, puteți tipări un document pe baza aspectului dvs. personal („personalizat”). Pentru a edita aspectul formularului tipărit, este prevăzut un mecanism de încărcare pe un computer local. Editarea aspectului se realizează în versiunea locală a aplicației de sistem 1C:Enterprise (în special, puteți utiliza aplicația gratuită 1C:Enterprise - Working with Files).


Pentru a schimba aspectul imprimabil:




Editarea aspectului formularului tipărit este finalizată la tipărirea documentului, se va folosi aspectul la care s-au efectuat modificările.

Dacă doriți să reveniți la aspectul imprimabil anterior, faceți clic pe butonul Utilizați aspectul standard. În acest caz, aspectul editat va fi în continuare prezent pe server și poate fi pornit din nou apăsând butonul Schimba.

Vă dorim muncă plăcută!

Cum se inserează un logo al companiei într-un aspect de formular tipărit?

Iată un exemplu specific de editare a unui aspect de formular tipărit Facturi pentru plata, și anume, vom lua în considerare modul de inserare a unei imagini în ea, de exemplu, un logo al companiei (această imagine trebuie mai întâi pregătită și salvată ca fișier grafic, de exemplu, în format png sau jpg).


Astfel, acum facturile pe care le pregătiți pentru transferul către contrapărțile dumneavoastră vor conține sigla companiei dumneavoastră. Pentru a adăuga un logo la alte documente, va trebui să repetați pașii descriși pentru formularele tipărite corespunzătoare ale acestor documente.

Vă dorim muncă plăcută!

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 început să fie reinventate diverse metode de utilizare a formularelor de imprimare externe 1C.

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 documentul necesar în fereastra de configurare. 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 și 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 utilizator cu drepturi administrative Operațiuni/Directoare, selectați Directorul de procesare externă.

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

Acest articol vă va spune în detaliu cum un începător cu puține cunoștințe despre 1C 8 poate crea un formular tipărit. De exemplu, să luăm una dintre cele mai comune configurații 1C 8 - Contabilitate 2.0. Crearea unui formular tipărit 1C etape de scriere:

  • Crearea unui formular de tipărire extern;
  • Crearea unui aspect de formular tipărit;
  • Scrierea codului de program pentru a afișa pe ecran datele de formular tipărite;
  • Crearea parametrilor pentru înregistrarea automată a unui formular tipărit;
  • Conectarea unui formular de imprimare extern la bază 1C Întreprinderi.

Crearea unui formular tipărit 1C. Enunțarea problemei

Suntem solicitați în configurație Contabilitate 2.0 creați un formular tipărit pentru un document Recepția de bunuri și servicii. În antetul formularului tipărit, afișați următoarele date:

  • Organizare;
  • contraparte;
  • Acord de contrapartidă;
  • Data primirii.

Afișați datele din secțiunea tabelară ca tabel Bunuri document. Tabelul trebuie să includă următoarele coloane:

  • Nomenclatură;
  • Cantitate;
  • Preţ;
  • Sumă;
  • Și, de asemenea, prețul articolului pentru data curentă (după tipul de preț din document).

Fișier de procesare extern

Să trecem la rezolvarea problemei. Mai întâi, să deschidem 1C 8 în modul Configurator. În acest mod sunt efectuate toate dezvoltările pe platforma 1C 8. Acum trebuie să creăm un fișier de procesare extern. Pentru a face acest lucru, faceți clic pe meniu Fișier -> Nou... sau prin pictograma unui fișier nou.

În fereastra care se deschide, selectați elementul Prelucrare externă.

Următorul pe teren Nume Trebuie să introduceți numele procesării externe. În cazul nostru, îl vom numi pur și simplu „PrintedForm”; câmpul sinonim va fi completat automat. Vă rugăm să rețineți că în câmp Nume, prelucrare externă, numele trebuie scris fără spații sau semne de punctuație.

Să adăugăm atribute de procesare externe LinkToObject și selectați tip pentru el DocumentLink Primirea Bunurilor și Serviciilor. Pentru a face acest lucru, în arborele metadatelor de procesare externă 1C, selectați elementul Detaliiși apăsați butonul Adăuga(buton cu plus verde). Fereastra cu proprietățile atributelor se va deschide în partea dreaptă a ecranului, în câmp Nume hai sa scriem - ReferenceToObject. ÎN domeniu Tip apăsați butonul cu trei puncte.

Să extindem ramura în arborele de tip DocumentLink, și găsiți acolo elementul Recepție de bunuri și servicii, bifați caseta de lângă acesta și faceți clic BINE.

Să salvăm fișierul de procesare externă pe hard disk pentru a face acest lucru, folosiți meniul Fișier -> Salvare, pictograma Salva(dischetă albastră) sau o comandă rapidă de la tastatură Ctrl+S. Să denumim fișierul salvat „PrintForm”.

Crearea unui aspect de formular tipărit

Să începem să creăm un aspect al formularului de printare 1C. Aspectul servește ca șablon pentru ieșirea formularului de tipărire, așa că dacă doriți ca formularul dvs. de imprimare să arate bine, ar trebui să-i acordați atenție.

Să adăugăm un nou aspect în arborele metadatelor de procesare externă, nu vom schimba nimic în fereastra de proiectare a aspectului și facem clic pe butonul Gata.

În noul layout care se deschide, vom crea mai multe zone necesare pentru afișarea formularului tipărit. Toate zonele de aspect de care avem nevoie vor fi orizontale, așa că pentru a crea o zonă nouă, selectați numărul necesar de linii de aspect și accesați meniul Tabel -> Nume -> Atribuire nume sau utilizați comanda rapidă de la tastatură Ctrl + Shift + N, apoi introduceți numele regiunii în casetă. Când creați o zonă de aspect, nu vă fie teamă să faceți o greșeală cu numărul de linii pe care le puteți adăuga sau elimina oricând. Pentru a șterge o linie de aspect 1C, selectați linia dorită și selectați elementul din meniul contextual Şterge. Pentru a adăuga o nouă linie la aspect, selectați orice linie a aspectului și selectați elementul din meniul contextual Extinde.

Adăugarea unui antet de aspect

În primul rând, să creăm o zonă Capac, va afișa datele pentru antetul formularului tipărit. Pentru această zonă vom avea nevoie de șapte linii de aspect. Să le selectăm și, așa cum am scris mai sus, să apăsăm combinația de taste Ctrl + Shift + N, în câmp Nume scrieți „Pălărie” și apăsați butonul Bine.

Să umplem zona de aspect cu datele de care avem nevoie. De obicei, niciun formular tipărit nu este complet fără un titlu, așa că haideți să creăm unul și în antetul nostru de aspect. Întrucât în ​​titlu, pe lângă numele formularului tipărit, vom afișa și numărul documentului din care a fost tipărit, vom seta ca parametru textul titlului din layout. Un parametru de aspect este o celulă de aspect special desemnată în care pot fi scoase diverse date folosind limbajul 1C 8 încorporat. Titlul ar trebui să fie afișat pe toată lățimea formularului tipărit, așa că haideți să decidem câte celule de aspect vor fi suficiente pentru a imprima pe o orientare standard peisaj a foii.

De obicei sunt suficiente treisprezece sau paisprezece celule de aspect, selectați-le în primul rând al zonei Capacși se combină într-o singură celulă ( Meniu contextual -> Îmbinare). După aceasta, faceți dublu clic pe celula mare rezultată și scrieți numele parametrului, în cazul nostru „TitleText”. Pentru ca textul introdus să devină un parametru cu drepturi depline, faceți clic dreapta pe celulă și selectați elementul din meniul contextual Proprietăți. Pe marcaj Aspect haideti sa gasim terenul Umplereși selectați valoarea Parametru. Parametrii din aspectul 1C sunt indicați prin paranteze „<>».

Titlul formularului tipărit ar trebui să iasă în evidență între celălalt text, așa că selectați din nou celula și utilizați pictogramele de pe panoul de formatare a aspectului pentru a seta alinierea textului Centratși dimensiunea fontului 14.

După textul titlului îl vom afișa în zonă Capac informații despre organizație, contraparte, contractul de contraparte și data primirii mărfurilor. Întrucât toate aceste date sunt preluate și din document, le vom oficializa și cu parametri. În plus, înainte de fiecare parametru ar trebui să scrieți un text explicativ, astfel încât utilizatorul să poată înțelege cu ușurință unde se află organizația, unde este contrapartea etc. Toate aceste acțiuni sunt similare cu crearea unui titlu, așa că nu mă voi opri asupra lor în detaliu, voi oferi doar o imagine a ceea ce ar trebui să se întâmple în final.

Figura arată cum diferă parametrii de aspect față de textul obișnuit.

Adăugarea unui antet de tabel de aspect

Ultimul lucru pe care trebuie să-l creăm în această zonă de aspect este antetul tabelului, în care vor fi afișate datele părții tabelare Bunuri. Coloanele necesare pentru tabel au fost descrise în secțiunea „Declarație de problemă”. De asemenea, vom crea un antet de tabel folosind o combinație de celule și text de scriere (numele coloanelor). Selectați marginile antetului tabelului folosind instrumentul Cadru, care se află în panoul de formatare a aspectului.

Adăugarea unui tabel la un aspect

Să creăm o altă zonă în aspect - Date. Tabelul de date al părții tabelare va fi afișat în acesta Bunuri. Pentru această zonă, avem nevoie de o singură linie de aspect. Pentru a afișa toate rândurile părții tabulare într-o formă tipărită, vom completa și afișa această zonă de numărul necesar de ori. Coloane din zonă Date ar trebui să coincidă cu coloanele din antetul tabelului, deci completarea acestuia nu va fi dificilă. Singura diferenta este in zona Date avem nevoie de parametri, nu doar de text. De asemenea, rețineți că, implicit, parametrii numerici sunt formatați la dreapta, iar parametrii de text sunt formatați la stânga. Pentru a selecta coloanele, trebuie să utilizați și instrumentul Cadru.

Adăugarea unui subsol la un aspect

Ultima zonă de aspect de care avem nevoie este Subsol. Va afișa totalurile după cantitate și cantitate. Crearea este similară cu crearea unei zone Date, dar în plus rezultatele ar trebui evidențiate cu caractere aldine.

Rezultatul final ar trebui să fie un aspect care arată astfel:

Crearea unui formular tipărit 1C. Programare

Să începem programarea - aceasta este cea mai importantă etapă în crearea unui formular tipărit. În primul rând, să mergem la modulul obiect formular de tipărire externă, aici vom programa. Pentru a face acest lucru, în fereastra principală de procesare externă, faceți clic Acțiuni -> Deschide modul obiect.

Trebuie să creați o funcție de export în modulul obiect formular de tipărire extern Sigiliu().

Funcție Print() Export EndFunction

Vă rugăm să rețineți că această caracteristică este necesară pentru formularele de tipărire externe în configurații care utilizează aplicația obișnuită. Tot codul de program ulterior necesar pentru afișarea formularului tipărit va fi scris în această funcție.

Inițializarea variabilelor de bază

Să creăm o variabilă TabDoc, care va conține un document de foaie de calcul - acesta este exact forma tipărită în care vom afișa zonele umplute ale aspectului.

TabDoc = nou TabularDocument;

La o variabilă Aspect Vom obține aspectul de formular tipărit pe care l-am creat. Pentru a face acest lucru, folosim funcția încorporată GetLayout(<ИмяМакета>).

Layout = GetLayout("Layout");

Vom converti toate zonele aspectului în variabile. Pentru a face acest lucru, folosim metoda layout-ului GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Header"); AreaData = Layout.GetArea("Date"); AreaFooter = Layout.GetArea("Footer");

Ieșirea antetului unui formular tipărit într-un document de foaie de calcul

Toate variabilele necesare sunt inițializate. Să începem să completăm și să afișăm zonele de aspect într-un document de foaie de calcul. Mai întâi de toate, să completăm titlul formularului imprimabil pentru aceasta trebuie să trecem parametrul Textul titlului, pe care l-am creat în layout, textul de care avem nevoie. Pentru a completa valorile parametrilor pentru zona de aspect, există o colecție specială numită - Opțiuni. Din care prin „.” poți obține orice parametru. În textul antetului vom transfera textul: „Formular tipărit”, precum și numărul documentului.

Header Area.Parameters.TitleText = "Tipărește formular"+LinkToObject.Number;

Vom completa parametrii rămași ai antetului în mod similar, vom obține toate valorile necesare pentru aceștia din detalii Referință la obiect, care conține un link către documentul de tipărit.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = LinkToObject.Date; Antet Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

Toți parametrii antetului sunt completați, îl vom afișa în foaia de calcul creată de noi, pentru aceasta folosim metoda Ieșire (<Область>) .

TabDoc.Output(HeaderArea);

Scrierea unei cereri pentru un handicap tipărit

Să începem să umplem și să desenăm zona Date. Crearea unui formular tipărit 1C implică și scrierea unei interogări, avem nevoie de el pentru a obține date tabelare Bunuri si preturi Nomenclaturi pentru data curentă vom folosi Cerere. Limbajul de interogare 1C 8 este similar cu SQL, sau mai degrabă copiază practic capacitățile operatorului său SELECT, dar întreaga interogare este scrisă în rusă. Prin urmare, dacă sunteți cel puțin vag familiarizat cu SQL, atunci veți înțelege cu ușurință limbajul de interogare 1C 8.

În această formă tipărită, cererea va fi destul de simplă și mulți vor spune că ar fi posibil să se facă fără ea, însă cunoașterea limbajului de interogare și capacitatea de a-l folosi corect este una dintre principalele abilități ale unui programator 1C. Interogările vă permit să obțineți mostre de date complexe folosind mai puține resurse, iar textul interogării este mult mai ușor de înțeles decât codul programului scris fără a utiliza o interogare (sau cu o utilizare minimă a acesteia). În plus, 1C 8 are un designer de interogări foarte bun care vă permite să asamblați interactiv o interogare din tabelele necesare.

Să creăm o variabilă care va conține cererea.

Solicitare = Solicitare nouă;

Vom compune textul cererii folosind constructorul de solicitare. Pentru început, să scriem:

Solicitare.Text = "";

Plasați cursorul mouse-ului între ghilimele și apăsați butonul dreapta al mouse-ului. În meniul contextual care se deschide, selectați elementul Constructor de solicitări, ne va ajuta foarte mult în crearea unui formular de printare 1C. După aceasta, se va deschide fereastra de proiectare de interogări, care conține multe file, dar pentru interogarea noastră vom avea nevoie doar de patru: „Tabele și câmpuri”, „Relații”, „Condiții”, „Asocieri / Aliasuri”.

Pentru interogarea noastră vom avea nevoie de două tabele: partea de tabel Bunuri document Recepția de bunuri și serviciiși un instantaneu al celor mai recente informații cu privire la data curentă a registrului Preturile articolelor.

În partea stângă a ferestrei de designer găsim coloana Baza de date. Conține un arbore cu toate obiectele metadate, haideți să le găsim pe cele de care avem nevoie. Pentru a face acest lucru, să deschidem firul Documenteși găsiți documentul Primirea Bunurilor și Serviciilor, să-l deschidem și să găsim partea tabulară Bunuri, trageți-l în coloana designerului de interogări Mesele. Puteți trage în trei moduri: prin glisare, făcând dublu clic pe tabel sau selectând-o și făcând clic pe butonul „>”. Să deschidem firul Registre de informațiiși găsiți o masă acolo Nomenclatură prețuri.Comandă rapidă Ultimele, trageți-l și în coloană Mesele. Aceste două tabele sunt suficiente pentru interogarea noastră.

Să selectăm câmpurile de care avem nevoie din tabelele rezultate. Pentru a face acest lucru, în coloană Mesele hai sa deschidem masa și găsiți câmpurile: Nomenclatură, Sumă, Preț, Cantitateși trageți-le în a treia coloană a constructorului - Câmpuri. Să extindem tabelul , să găsim câmpul Preţși, de asemenea, trageți-l în Câmpuri.

Structura tabelelor și câmpurilor solicitării noastre este gata, acum să trecem la condiții. Avem nevoie de datele tabelare Bunuri nu au fost luate din toate chitanțele, ci doar din cea pe care o tipărim. Pentru a face acest lucru, vom impune o condiție pe masă Primirea BunurilorServiciiMarfa. Să mergem la fila „Condiții” a designerului de interogări. În coloană Câmpuri tabelele pe care le-am selectat mai devreme sunt localizate, pentru condiție vom avea nevoie de un câmp Legătură de la masă Primirea Bunurilor și Serviciilor Bunuri, Să-l tragem în fereastra Condiții.

În interogările 1C puteți utiliza parametri, aceștia sunt necesari pentru a transfera date la cerere. De exemplu, dacă dorim să limităm selecția documentelor la un anumit document, atunci putem folosi un parametru pentru a trece un link către acest document către cerere și folosim acest parametru în condiție. Este exact ceea ce vom face în cererea noastră.

După fereastră Termeni am adăugat un câmp Legătură, designerul de interogări însuși va crea un parametru cu același nume și îl va plasa după semnul „=”. Acest parametru poate fi redenumit dacă se dorește. În textul cererii, parametrii sunt marcați cu semnul „&”, dar în acest caz nu este necesar, deoarece se presupune că a doua parte a condiției conține un parametru, trebuie doar să vă amintiți acest lucru. Cum se transmite o valoare unui parametru de cerere 1C va fi discutat mai jos.

Deoarece în cerere nu folosim un tabel complet al prețurilor produselor, ci unul virtual (o felie din acesta din urmă în acest caz), trebuie să stabilim condițiile pentru formarea acestui tabel virtual, în cazul nostru acesta este data limită și condiția pentru tipul de prețuri (prețurile care au un tip de preț strict definit este cel care este specificat în documentul de chitanță pe care îl tipărim).

Pentru a completa parametrii tabelului virtual, accesați fila Tabele și câmpuri constructor de interogări, în coloană Mesele selectați tabelul PrețuriNomenclaturăTăiereUltimeși apăsați butonul Opțiuni de masă virtuală, situat în partea de sus. În fereastra care se deschide, în câmp Perioadă ar trebui să setați un parametru la care să fie trecută data la care se va face reducerea prețului. În cazul nostru, aceasta va fi data curentă (adică astăzi), așa că vom numi parametrul „&CurrentDate”. În câmpul de condiții vom scrie condițiile pentru tipul de preț, îl vom trece și în parametrul, pe care îl vom numi „&TypePrice”. Condiția rezultată va arăta astfel (unde TipPreț- măsurarea registrului Preturile articolelor):

PriceType = &PriceType

Parametrii tabelului virtual sunt completați, faceți clic pe butonul Bine.

Acum că am limitat selecția doar la documentul de care avem nevoie, să creăm conexiuni între tabelele de interogări. Dacă acest lucru nu se face, atunci prețurile din tabelul PricesNomenclatureSliceLast nu vor fi asociate articolului din chitanță. Să mergem la filă Conexiuni designer de interogări. Să creăm o conexiune peste tot Nomenclaturăîntre cele două mese ale noastre. Pentru a face acest lucru, apăsați butonul Adăuga, în câmp Tabelul 1 selectați un tabel Primirea BunurilorServiciiMarfa, iar în câmpul Tabel 2 - PricesNomenclatureSliceLast. În condițiile de comunicare, selectați câmpurile Nomenclatură din ambele mese.

De asemenea, trebuie remarcat faptul că în selecția interogării trebuie să obținem toate rândurile din partea filă Bunuriși prețurile numai dacă sunt disponibile la data curentă pentru tipul de preț al documentului. Astfel, datele tabelare Bunuri sunt obligatorii, dar datele de defalcare a prețurilor nu sunt disponibile. Prin urmare, în relațiile dintre aceste tabele este necesar să se folosească așa-numitul LEFT JOIN, iar tabelul din stânga (sau necesar) va fi Primirea BunurilorServiciiMarfa, și dreapta (sau opțional) PriceNomenclatureSliceLast. Pentru ca îmbinarea din stânga a tabelelor de interogări să funcționeze așa cum am descris mai sus, trebuie să bifați caseta Toate după câmp Tabelul 1.


Solicitarea este aproape gata, nu mai rămâne decât să lucrăm puțin la aliasurile de câmp. Să mergem la marcaj Sindicate/Alias-uriși setați un alias pentru câmp PrețuriNomenclatură Slice Ultimele.Preț. Porecla va fi - Preț ca astăzi, este necesar pentru ca numele câmpurilor de selecție a interogării și numele parametrilor din aspectul formularului tipărit să se potrivească.

Lucrarea în designerul de interogări este acum finalizată, faceți clic pe OK. După ce fereastra designerului se închide, veți vedea că linia cu textul cererii este completată și arată astfel:

Solicitare.Text = "SELECT | Recepție BunuriServiciiProduse.Nomenclatură, | Recepție BunuriServiciiProduse.Suma, | Primire BunuriServiciiProduse.Preț, | Primire BunuriServiciiProduse.Cantitate, | Nomenclatură Prețuri Secțiunea de Ultime.Preț AS PrețToday. |Document FROM | GoodsServices.Goods AS Receipt ProductsServicesProducts |. CONEXIUNEA STANGA RegisterInformation.PricesNomenclature.SliceLast (| &CurrentDate, PriceType = &PriceType) AS PricesNomenclatureSliceLast ON Receipt of GoodsServicesItems

Executarea cererii

Să transmitem parametrii necesari cererii pentru aceasta vom folosi metoda de solicitare SetParameter(<ИмяПараметра>,<Значение>). Pentru a obține data curentă, utilizați funcția încorporată CurrentDate(), returnează data și ora computerului.

Să lansăm o interogare pentru a obține un eșantion cu datele de care avem nevoie. Pentru a face acest lucru, mai întâi utilizați metoda de solicitare Run(), iar apoi metoda Alege().

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

Completarea tabelului de formular tipărit

Ca urmare, în variabila Eşantion va conține o selecție de rezultate ale interogării, puteți naviga prin ea folosind metoda Următorul(), iar pentru a parcurge totul ai nevoie de o buclă la revedere. Designul va fi după cum urmează:

While Select.Next() Loop EndLoop;

În această buclă vom completa și afișa zona de aspect Date. Dar mai întâi, să inițializam două variabile de tip numeric. În ele vom colecta totalurile după cantitate și cantitate pe care trebuie să le afișam în zonă Subsol.

Suma totală = 0; TotalQuantity = 0;

În interiorul buclei vom umple zona Date date din elementul de selecție curent în variabile Valoare totalăŞi TotalQuantity adăugați valori de sumă și cantitate și, în final, afișați zona într-un document de foaie de calcul folosind metoda deja familiară nouă Ieșire (). Deoarece numele câmpurilor din cererea noastră coincid complet cu numele parametrilor zonei Date, apoi pentru a completa vom folosi procedura încorporată FillPropertyValues(<Приемник>, <Источник>), care copiază valorile proprietăților<Источника>la proprietăți<Приемника>.

While Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection);

TotalSum = TotalSum + Sample.Sum;

TotalQuantity = TotalQuantity + Sample.Quantity; Subsol TabDoc.Output(AreaData); EndCycle;

Ieșirea subsolului unui formular tipărit într-un document de foaie de calcul

Rămâne să umpleți și să afișați ultima zonă a aspectului - . Am pregătit deja datele pentru completarea, completarea și retragerea se efectuează conform aceleiași scheme. AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

Documentul din foaia de calcul este complet completat; tot ce rămâne este să îl afișați pe ecran, astfel încât utilizatorul să poată vizualiza formularul tipărit și să îl imprime dacă este necesar. Dar în configurațiile tipice 1C 8, procedurile modulelor speciale sunt responsabile pentru ieșirea formularelor tipărite externe. Prin urmare, este suficient să reveniți de la funcție

Sigiliu() . Am pregătit deja datele pentru completarea, completarea și retragerea se efectuează conform aceleiași scheme. document foaie de calcul completat.

Întoarce TabDoc;

Când conectați un formular de tipărire extern la baza de date, sistemul nu stabilește automat pentru ce document sau carte de referință este destinat formularul de tipărire, trebuie să îl selectați manual; Și dacă o altă persoană a scris formularul tipărit și ești însărcinat doar să-l conectezi, atunci alegerea poate deveni ambiguă. Pentru a evita astfel de probleme, este necesar să se creeze un aspect cu parametrii de auto-înregistrare în toate formele tipărite externe. Dacă este creat și formatat corect, sistemul stabilește automat pentru ce document sau carte de referință este destinat formularul tipărit.

Se face astfel:

  • În procesarea externă, creăm un nou aspect. Îl numim „Setări_Înregistrare automată” (este important să nu greșești!).
  • În prima celulă a aspectului scriem Documente.(sau Directoare.) și numele documentului la care trebuie să conectați formularul tipărit.

Conectarea unui formular de imprimare extern la bază

  • Porniți 1C 8 în modul Întreprindere;
  • Accesați meniu Service -> Rapoarte suplimentare și procesare -> Formulare suplimentare tipărite externe;
  • Faceți clic pe butonul Adăuga;
  • În fereastra care se deschide, faceți clic pe pictograma Înlocuiți fișierul de procesare extern;
  • Dacă ați creat parametri de auto-înregistrare, atunci suntem de acord să îi folosim;
  • Dacă nu ați creat parametri de auto-înregistrare, atunci în partea tabelară Accesoriu placă de imprimare adăugați documentul solicitat sau cartea de referință;
  • Apăsați butonul BINE.

După aceasta, formularul de tipărire externă va fi disponibil în meniu Sigiliu document Recepția de bunuri și servicii. Crearea formularului tipărit 1C poate fi considerată acum finalizată.

Acest articol descrie cum să conectați un formular tipărit extern la o bază de date 1C folosind exemplul configurației „Trade Management 11.2”

Configurația „Trade Management 11.2” este o configurație pe formularele „GESTIONATE”!

Instrucțiunile noastre „arată” cum se conectează un formular tipărit extern în baza de informații 1C cu configurație pe formulare „GESTIONATE”, și anume:

  • „Contabilitatea 3.0”
  • „Managementul comerțului 11.2”
  • „Gestionarea salariilor și a personalului 3.1”
  • „Automatizare completă 2.0”
  • „Managementul unei firme mici 1.6”
  • „Retail 2.2”
  • și alte configurații similare.

Pentru a conecta un formular de imprimare extern în 1C, va trebui să parcurgem 11 pași.

1 — Meniul „Date principale și administrare” (În alte configurații, cum ar fi în Enterprise Accounting 3.0, acesta poate fi numit simplu „Administrare”). 2 — Selectați „Formulare tipărite, rapoarte și procesare” (vezi figura de mai jos ↓)

3 — Extindeți submeniul „Rapoarte și procesare” (În alte configurații, cum ar fi Enterprise Accounting 3.0, este posibil să nu existe un astfel de submeniu, așa că trecem imediat la pasul următor). 4 — Bifați caseta „Utilizarea rapoartelor și procesării suplimentare”. 5 — Accesați secțiunea: Rapoarte suplimentare și procesare. (vezi figura de mai jos ↓) ()

6 - Faceți clic pe butonul „Creați”. (vezi figura de mai jos ↓)

În noile versiuni ale 1C (începând din august 2016), programul are încorporat un mecanism de avertizare despre pericolul utilizării unei procesări externe necunoscute care pot conține „viruși” în versiunile anterioare ale programului, avertismentul nu va apărea! Dacă se întâmplă acest lucru, atunci pentru a conecta un formular de imprimare extern va fi necesar - 7 - faceți clic pe butonul „Continuare”. (vezi figura de mai jos ↓)

8 — Selectați directorul în care se află procesarea. 9 — Selectați-l (procesarea de care avem nevoie). 10 - Faceți clic pe butonul „Deschidere”. Sau, în loc de pașii 9 și 10, puteți pur și simplu să faceți dublu clic pe formularul tipărit extern de care avem nevoie în fereastra de selecție. (vezi figura de mai jos ↓)

Dacă trebuie să adăugăm o plasare pentru procesarea adăugată (De exemplu, acesta este un Formular de contract universal de pe site-ul nostru web și avem nevoie de comanda de tipărire a acestui formular pentru a fi afișat într-un obiect în care nu este afișat inițial) - 11 — faceți clic pe linia de plasare („Place în:”, poate „Plasament:”) și selectați directoarele și documentele necesare. 12 — Finalizăm pașii pentru conectarea unui formular de imprimare extern făcând clic pe butonul „Înregistrare și închidere”. (vezi figura de mai jos ↓)

Asta este! Felicitări! Placa de imprimare externă este conectată! Am făcut totul bine? Să verificăm...

Înainte de Înregistrare și închidere, am observat că acest formular tipărit extern se află în documentul Vânzări de bunuri și servicii, ceea ce înseamnă că putem deschide opțiuni de imprimare pentru orice document de tipul: „Vânzări de bunuri și servicii”. apăsați butonul „Imprimare” și vedeți că a apărut o fereastră pentru selectarea formularelor tipărite, printre acestea se numără - 13 — formular de imprimare extern conectat de noi (vezi figura de mai jos ↓)

Acum asta e cu siguranță. Sperăm că acest articol v-a fost de folos.

vederi