Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Recenzii
  • Placă de imprimare externă zup. Adăugarea unui imprimabil extern la bază

Placă de imprimare externă zup. Adăugarea unui imprimabil extern la bază

Buna ziua.

Astăzi vreau să vă spun cum să creați formulare externe imprimabile pentru configurația „Salariu și Resurse Umane 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 să fac prima dată un formular tipărit pentru BSP în forme controlate (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, cu ce parametri ar trebui. fie procesate și cum funcționează totul. Aici ITS m-a dezamăgit puțin, tk. totul este spus despre cum ar trebui să arate procedurile în modulul de documente, iar în forma tipărită externă sunt rearanjați parametrii procedurii „printare”, așa că a trebuit să caut informații în alte surse și să aleg subsistemul din interior.

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

Primul pas- evident. Creăm un nou tratament. Să-i dăm un nume arbitrar: „PrintPrint”.

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

Pasul trei- Cel mai interesant. Deschidem modulul obiect și începem programarea. Potrivit BSP, la înregistrarea unei procesări externe, aceasta (procesarea) trebuie să raporteze ce poate face, la ce obiecte este atașată, cum este numită. Când este întrebat ce poate gestiona, ar trebui să returneze o listă de comenzi - acesta este un tabel de valori. În cazul nostru, procesarea poate afișa o singură comandă imprimabilă, deci va exista o singură comandă. Pentru a forma un tabel de valori, definim câteva proceduri care vor fi întotdeauna aceleași în toate formele de imprimare externă:

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

Funcția GetCommandTable ()

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

// Cum va arăta descrierea imprimabilului pentru utilizator
Commands.Columns.Add ("Vizualizare", New DescriptionTypes ("String"));

// Numele aspectului nostru, astfel încât să putem distinge comanda invocată în procesarea tipăririi
Commands.Columns.Add ("Identificator", Descriere nouă a tipurilor ("Șir"));

// Acesta este modul în care ar trebui apelată comanda de procesare
// Opțiuni posibile:
// - Deschiderea formularului - în acest caz, coloana de identificare ar trebui să conțină numele formularului pe care sistemul ar trebui să-l deschidă
// - CallClientMethod - apelează procedura de export client din modulul formular de procesare
// - CallServerMethod - apelează procedura de export de server din modulul obiect de procesare
Commands.Columns.Add ("Utilizare", Noua Descriere a Tipurilor ("Șir"));

// Următorul parametru specifică dacă se afișează o alertă când începe și se termină procesarea. Nu are sens când deschideți un formular
Commands.Columns.Add ("ShowAlert", Noua descriere a tipurilor ("Boolean"));

// Pentru un imprimabil, acesta trebuie să conțină linia PrintMXL
Commands.Columns.Add ("Modificator", Noua Descriere a Tipurilor ("String"));

Revenirea Comandamentului;

EndFunction

// Creează o nouă linie în tabelul de comenzi

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

Informații de prelucrare externă () Funcție Export
Parametri de înregistrare = Structură nouă;
AssignmentArray = Matrice nouă;
Array of Appointments.Add („Document.PriemNaRabotu”);
Parametri de înregistrare.Inserare („Vizualizare”, „Imprimare formular”); // poate fi - FillingObject, AdditionalReport, Crearea LinkedObjects...
Parametri de înregistrare.Inserare („Assignment”, Array of Assignments);
Parametri de înregistrare.Inserare („Nume”, „Bună lume”); // numele sub care va fi înregistrată prelucrarea în directorul extern de procesare
Parametri de înregistrare.Insert („Versiune”, „1.0”);
Parametri de înregistrare.Insert („Safe Mode”, TRUE);
Parametri de înregistrare.Inserare („Informații”, „EȘANȚĂ”); // așa va arăta descrierea formularului de tipărire pentru utilizator
CommandTable = GetCommandTable ();
AddCommand (CommandTable, „Hello World”, „Layout”, „CallServerMethod”, True, „PrintMXL”);
Parametri de înregistrare.Insert („Comenzi”, CommandTable);
Parametrii de înregistrare a returnării;
EndFunction

De fapt, va trebui să aruncați o privire în el de fiecare dată când creați o nouă placă de imprimare externă. Dintr-o bucată de cod puteți vedea că o vom lega de documentul „Angajare”, respectiv, îl scrieți pe al dumneavoastră. Formularul tipărit se va numi „Hello World”, iar noi îl schimbăm cu al nostru. Aici, în șablon, va fi convenabil să scrieți o bileberda explicită, astfel încât să fie vizibilă, pentru a nu uita să o remediaț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 al cărții de referință de prelucrare externă. De asemenea, cuvântul „MOTION” este vizibil doar sub forma unei cărți de referință a formularelor tipărite. Apoi, adăugați o comandă, aici numele butonului este trecut celui de-al doilea parametri, 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 cod de serviciu și nu are nimic de-a face cu algoritmul de imprimare. De fapt, autorii BSP ne-au obligat să programăm atât de greu, dacă mai devreme ați început imediat să scrieți funcția „Print”, acum, când scrieți procesare de la zero, și nu după un model, veți petrece timp pe serviciu . Anterior, parametrii de înregistrare erau opționali și erau specificați în aspectul de procesare, acum totul pare mult mai serios. Prima impresie când am văzut asta a fost mișto, există atât de multe posibilități, totul este unificat... dar în practică creez întotdeauna o singură comandă într-un spațiu de lucru și o atașez 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... dar, ei bine, nu e eu să judec.

Pasul patru- nu mai puțin interesant.

Funcția PRINT?

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

Cum se returnează aspectul?

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

Bine

Iată textul acestei proceduri:

Procedura de imprimare (ArrayObjects, PrintForm Collection, PrintObjects, OutputParameters) Export
Dacă Print Control.Trebuie să imprimați Layout (PrintForm Collection, „Layout”) Atunci
Gestionați imprimarea. Ieșiți un document tabelar într-o colecție (colecție de formulare de tipărire,
„Aspect”, „Aspect”,
GenerateTabDocumentPattern (ArrayObjects, PrintObjects));
EndIf;
Sfârșitul procedurii

Acum pentru clarificări. Prima linie a procedurii conține o condiție ușor de neînțeles. Cert este că atunci când este apelată procedura de imprimare, sistemul ne transmite un tabel de valori, care indică ceea ce trebuie să imprimăm. De fapt, funcția PrintManagement.NuzhnoPostatMaket (...) verifică prezența unui rând în tabelul de valori, în care există un rând cu numele layout-ului în coloana „NameVREG”. În practică, în cele mai multe cazuri, chestia este inutilă, pentru că prelucrarea noastră va putea forma o singură placă de imprimare. Acestea. această condiție poate fi omisă și nu va afecta performanța.

Next Print Management.OutputTableDocumentInCollection (...) - doar adaugă aspectul tabelar acolo unde este necesar, astfel încât să poată fi apoi afișat pe ecran. Dacă trebuie să afișați documentul din foaia de calcul în fereastra dvs. (nu în fereastra standard), atunci nu apelați această procedură, ci doar scrieți codul aici.

De asemenea, vreau să adaug că procedura Print se realizează pe client și, dacă este necesar, puteți deschide aici un formular arbitrar pentru a cere utilizatorului informații suplimentare necesare imprimării.

În continuare, FormTabDocumentObject (...) este o funcție pe care trebuie să o scriem în modulul de procesare și care returnează un document foaie de calcul. În 100 din 100 de cazuri, va fi pe server, deoarece trebuie să obținem valoarea atributelor din obiectele enumerate în parametrul „ArrayObjects”.

Pasul cinci- formăm un layout.

Ura, vom ajunge în sfârșit la algoritmul pentru formarea aspectului, primirea datelor etc.

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

Funcția GenerateTabDocumentPattern (ArrayObjects, PrintObjects)
tabDoc = New TabularDocument;
layout = Get Layout ("Layout");

AreaHeat = Layout.GetArea ("Header");
tabDoc. Afișare (areaHap);

Returnarea tabDocs;
EndFunction

Asta e tot, mulțumesc pentru atenție.

Întrebare:

Te rog spune-mi unde 1C ZUP 3 adăugați detalii bancare ale organizației, astfel încât acestea să apară pe certificatele de angajat? De exemplu, în Declarație de venit (forma liberă) din director Angajatii.

Răspuns:

Seminar „Hack-uri de viață pe 1C ZUP 3.1”
Analiza a 15 hack-uri de viață pentru contabilitate în 1s ZUP 3.1:

CHECK-LIST pentru verificarea salariilor în 1C ZUP 3.1
VIDEO - autoverificare lunară a contabilității:

Salarizare în 1C ZUP 3.1
Instrucțiuni pas cu pas pentru începători:

Cert este că în 1C ZUP nu este nevoie să stocați informații despre contul curent al organizației. Nu este folosit în niciun document. Prin urmare, aceste informații nu sunt introduse nicăieri în program și nu există unde să intre în formularul tipărit.

Există două opțiuni. Fie introduceți manual aceste informații în formularul generat de fiecare dată, fie introduceți aceste informații o dată aspectul plăcii de imprimare(secțiunea din meniul Administrare - Tipărire formulare, rapoarte și procesare - Tipărire machete formulare).

Este mai convenabil să utilizați a doua opțiune.

În lista de machete, trebuie să găsiți aspectul formularului de printare necesar (numele aspectului coincide cu numele formularului în sine) și să faceți clic pe comanda Modificare. În fereastra care se deschide, trebuie să faceți corecțiile necesare și să le scrieți.

După salvarea aspectului, aceste modificări vor fi afișate de fiecare dată când acest raport este generat pentru orice angajat.

Pentru a fi primul care află despre noile publicații, abonați-vă la actualizările blogului meu:

Luați în considerare să scrieți cel mai simplu imprimabil în 1s 8,1 - 8,2 pe exemplul configurației Contabilitatea întreprinderii 2.0... Să presupunem că doriți să scrieți un imprimabil extern pentru un document: afișați datele de bază ale documentului, precum și din secțiunea tabelară Produse: nomenclatură, preț, cantitate și cantitate.

Puteți descărca exemplul rezultat prin.

În configurator 1C Întreprinderi 8 creați procesare externă ( Fișier-> Nou-> Procesare externă), setați numele, creați cerințele necesare pentru imprimarea externă ReferenceObject cu tip DocumentLink.Realizarea BunurilorServicii.

Crearea unui aspect al unei plăci de imprimare

Adăuga nou aspect, lăsați tipul de aspect Document foaie de calcul... Creăm trei zone pe aspect: Pălărie, Datași subsol... Acest lucru se poate face prin evidențierea numărului necesar de linii și făcând clic pe meniu Tabel-> Nume-> Atribuire nume (Ctrl + Shift + N).

După aceea, începem să plasăm textul și parametrii în zone. Vom afișa în antet numele formularului de tipărire, 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 unei celule, în fila aspect, setați proprietatea UmplereÎn valoare Parametru.

În zona Date creați parametri pentru afișarea rândurilor secțiunii tabelare ( Nomenclatură, preț etc.), iar în zonă subsol pentru totaluri după cantitate și sumă.

Programare

Să mergem la modulul obiectului imprimabil Actions-> Open Object Module.

Să creăm o funcție de export, care este necesară pentru formularele imprimabile. Sigiliu().

Funcția Print () Export EndFunction

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

TabDoc = nou TabularDocument; Layout = Obține aspect („Layout”); Zona antet = Layout.GetArea ("Header"); DataScope = Layout.GetScope ("Date"); AreaFooter = Layout.GetArea ("Footer");

Completați parametrii pălăriiși afișați-l în document foaie de calcul.

Captions.Parameters.TextHeader = + ReferenceObject.Number; AreaHaps.Parameters.Organization = ReferenceObject.Organization; TabDok.Display (AreaHap);

Pentru a obține rândurile secțiunii tabelare Produse folosim cererea.

Cerere = cerere nouă; Request.SetParameter ("Link", LinkOnObject); Request.Text = „SELECT | Vânzarea de bunuri, servicii, bunuri, nomenclatură, | Vânzarea de bunuri, servicii, bunuri, sumă, | Vânzarea de bunuri, servicii, bunuri, preț, | Vânzări de mărfuri, servicii, mărfuri, cantitate| DE LA | Document.Realizarea de BunuriServicii.Bunuri AS Vânzarea de BunuriServiciiBunuri| UNDE | Implementarea GoodsServicesGoods.Link = & Link ";

Treceți recuzita la parametrul de solicitare ReferenceObject a indica in stare UNDE ca avem nevoie doar de datele documentului din care afisam imprimabilul. Pentru a obține o interogare, mai întâi o executăm și apoi preluăm rândurile.

Selecție = Query.Run ().Selectare ();

Apoi, în buclă, completați parametrii zonei Date pentru fiecare linie de selecție a documentului și afișați-le în document foaie de calcul... De asemenea, în ciclu, calculăm valorile totale cantitateși sume... Nu vom completa fiecare parametru separat, ci vom folosi procedura FillPropertyValues ​​​​((<Приемник>, <Источник>) din context global, copiază valorile proprietății <Источника> în 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 Fetch.Next () Loop FillPropertyValues ​​​​(ScopeData.Parameters, Fetch); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDok.Display (ScopeData); Sfârșitul ciclului;

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

AreaBoard.Parameters.TotalQuantity = TotalQuantity; AreaBoard.Parameters.TotalSum = TotalSum; TabDok.Display (Zona Subsol);

Întoarcerea documentului tabelar completat din funcție Sigiliu().

returnarea TabDoc;

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

5. Conectarea unui document imprimabil la un document

V configurații tipice 1C 8 există un director pentru înregistrarea formularelor externe imprimabile Procesare externă... Pentru a vă conecta, accesați meniul în modul întreprindere Service-> Rapoarte suplimentare și procesare-> Formulare externe imprimabile suplimentare.

Adăugați un nou element al directorului, încărcați imprimabilul de pe disc și selectați tipul de document.

Acum în doc Vanzare de bunuri si servicii va apărea un nou imprimabil.

Înregistrarea automată a imprimabilului

Pentru a evita nevoia de a selecta manual tipul de document la conectarea formularului de printare, puteți configura înregistrare auto... Pentru a face acest lucru, adăugați un aspect nou și denumiți-l AutoRegister_Parameters(numai așa) și în prima ei celulă scriem Documentație.<Наименование документа> (sau Carti de referinta.<Наименование справочника> ).

Acum, când conectăm un imprimabil, ni se va solicita să folosim parametrii de auto-înregistrare.

Acest articol descrie cum să conectați un imprimabil extern la baza 1C folosind exemplul configurației „Trade Management 11.2”

Configurația „Trade Management 11.2” este configurația din formularele „GESTIONATE”!

Instrucțiunea noastră „arată” cum să conectați un formular imprimabil extern în baza de informații 1C cu configurația pe formulare „GESTIONATE”, și anume:

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

Pentru a conecta o placă de imprimare externă în 1C, trebuie să parcurgem 11 pași.

1 - Meniul „NSI și Administrare” (În alte configurații, cum ar fi în Enterprise Accounting 3.0, poate fi numit simplu - „Administrare”). 2 - Alegeț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 în Enterprise Accounting 3.0, este posibil ca acest submeniu să nu apară, așa că treceți direct la pasul următor). 4 - Punem o „bifare” în Utilizarea rapoartelor suplimentare și procesării. 5 - Accesați secțiunea: Rapoarte suplimentare și procesare. (vezi poza de mai jos ↓) ()

6 - Apăsați butonul „Creare”. (vezi poza de mai jos ↓)

În noile versiuni ale 1C (începând din august 2016), programul are încorporat un mecanism de avertizare cu privire la pericolul utilizării procesoarelor externe necunoscute care pot conține „viruși”; în versiunile anterioare ale programului, avertismentul nu va apărea! Dacă a apărut, atunci pentru a conecta o formă de imprimare externă va fi necesar - 7 - apăsați butonul „Continuare”. (vezi poza de mai jos ↓)

8 - Selectați directorul în care se află procesarea. 9 - Îl selectăm (prelucrarea de care avem nevoie). 10 - Apăsați butonul „Deschidere”. Sau, în loc de acțiunile 9 și 10, puteți pur și simplu să faceți dublu clic pe imprimabilul extern de care avem nevoie în fereastra de selecție. (vezi poza de mai jos ↓)

Dacă trebuie să adăugăm o locație pentru procesarea adăugată (De exemplu, aceasta este o formă universală a unui contract de pe site-ul nostru și avem nevoie de comanda pentru a imprima acest formular pentru a fi afișat într-un obiect, care nu este afișat inițial) - 11 - faceți clic pe linia de plasare ("Place in:", poate "Place:") și selectați directoarele și documentele necesare. 12 - Finalizăm pașii de conectare a unui formular de printare extern făcând clic pe butonul „Salvare și închidere”. (vezi poza de mai jos ↓)

Asta e tot! Felicitări! Placa de imprimare externă este conectată! Am făcut totul bine? Sa verificam ...

Inainte de Inregistrare si inchidere, am observat ca acest imprimabil extern este plasat in documentul Vanzare de bunuri si servicii, ceea ce inseamna ca putem deschide orice document de tipul: „Vânzarea de bunuri si servicii”. apăsați butonul „Imprimare” și vedeți - a apărut o fereastră pentru selectarea formularelor imprimabile, printre acestea se numără - 13 - placă de imprimare externă conectată de noi (vezi poza de mai jos ↓)

Acum cu siguranță - totul. Sperăm că acest articol v-a fost de ajutor.

Mergi la Serviciu->Rapoarte și procesări suplimentare->Plăci de imprimare externe suplimentare.

S-a deschis formularul pentru lista cărții de referință cu formulare externe imprimabile. În meniul de sus al listei, faceți clic Adăuga... Apare formularul pentru crearea unui articol de catalog.

Apăsați butonul Deschidere și selectați fișierul cu formularul imprimabil dorit. După aceea, dacă este necesar, setați numele dorit (câmpul Nume).

Dacă imprimabilul conține parametri de auto-înregistrare, va apărea un mesaj despre acest lucru. Apăsați da.Dacă nu este cazul, atunci tu însuți trebuie să indicați la ce document va fi legat acest formular. Pentru a face acest lucru, adăugați o linie la secțiunea tabelară „Afilierea imprimabilului”, unde în câmpul „Reprezentare obiect” selectați tipul de document la care legăm formularul... Deoarece în exemplul nostru acesta este un act de anulare a materialelor, selectăm documentul Cerință-factură.

După aceea, accesați orice document Cerință-bilul de transport, faceți clic pe Imprimare și selectați formularul pe care tocmai l-ați adăugat.

Pentru BP 3.0, ZUP 3.0, UT 11, KA 2.0, ERP 2.0.

Pentru a demonstra cum să adăugați un imprimabil într-o interfață gestionată, voi arăta cum să adăugați un formular de factură externă la un document cu același nume în Contabilitate 3.0.

Mergem la secțiunea corespunzătoare a programului:


Este necesar ca semnul de utilizare a rapoartelor externe și de prelucrare să fie activat, urmați hyperlinkul către lista de obiecte externe:

În lista care se deschide, faceți clic Crea:


În caseta de dialog, selectați fișierul dorit:


Se completează cardul obiectului extern: în plasare vedem tipul obiectului de bază la care va fi atașat formularul și chiar sub numele acestuia:


Să scriem și să închidem forma obiectului extern creat.

Acum să trecem la orice document Factură de plată către cumpărătorși afișați meniul de imprimare:


Top articole similare