Cum să adăugați un cod de bare la formularele imprimabile 1c. Introducerea informațiilor despre codul de bare

Un exemplu de creare a codurilor de bare într-un document de foaie de calcul 1C: Enterprise 8.2 / 8.3 în modul de aplicație gestionată. Mai jos sunt exemple pentru EAN-13, GS1-128, QR Code și alte formate comune de coduri de bare.

Pentru a rula exemplul, trebuie să instalați software-ul StrokeScribe.

Exemplul este destinat doar modului de aplicație gestionată și a fost testat pentru compatibilitate cu versiunile 1C 8.2 / 8.3.

Exemplul necesită instalarea StrokeScribe versiunea 4.2 sau o versiune ulterioară.

Pregătirea unui aspect pentru codul de bare

1. Creați un nou raport în constructorul 1C: Enterprise 8.2 și dați-i un nume Raportați codul de bare(acest nume va fi folosit în modulul de mai jos).

2. Pentru raport Raportați codul de bare creați un aspect al documentului de foaie de calcul sub nume Aspect cod de bare.

3. În aspect, creați o zonă de dimensiune arbitrară cu numele Cod de bare zona.

4. Așezați o poză în zonă (meniul Tabel-> Imagini-> Imagine) cu dimensiunile viitorului cod de bare. Specificați un nume în proprietățile imaginii - Desen cod de bare.

Ca rezultat al tuturor acțiunilor, ar trebui să obțineți un aspect al raportului similar cu cel prezentat în figură:

Modulul de raportare

Funcția & AtServer DockOnServer () TabDoc = New TabularDocument; Layout = Reports.ReportBarcode.Get Layout ("LayoutBarcode"); Area = Layout.GetArea ("AreaBarcode"); // Atenție la coincidența raportului, aspectului și numelor zonelor din modul și din codul de bare de proiectare = GetCOMObject ("", "STROKESCRIBE.StrokeScribeClass.1"); // Ați uitat să instalați StrokeScribe? FileName = GetTemporaryFileName ("wmf"); // Fișier temporar în directorul temporar cu extensia .wmf cod de bare.Alphabet = 25; // Cod de bare COD QR.Text = "123ABCD"; // Date pentru codul de bare = cod de bare.SavePicture (FileName, 7, // 7 = WMF 100) , // Lățimea imaginii codului de bare este de 100); // Înălțimea codului de bare Dacă codul<>0 Apoi // Verificați rezultatul generării codului de bare Raport (șir (cod) + "-" + cod de bare.Descriere eroare); Returnează fals; EndIf; // Asigurați-vă că numele obiectului de desen se potrivește aici și în imaginea de design = Area.Drawings.FigureBarcode; Fig. Dimensiunea imaginii = Dimensiunea imaginii.Proporțional; fig.Line = Linie nouă (LineType of SpreadsheetDocumentPainting.No Line); // Nu ar trebui să existe o ramă de imagine în jurul codului de bare Imagine = Imagine nouă (Nume Fișier); // Încărcați o imagine cu un cod de bare // Specificați același nume de fișier ca în TabDoc SavePicture. Afișare (Zona); DeleteFiles (FileName); // Șterge un fișier temporar cu o imagine Return TabDocs; EndFunction & OnClient ProcedureCommandProcessing (CommandParameter, CommandParameters) TabDok1 = DockOnServer (); Dacă TabDok1<>Fals Apoi TabDok1.Show (); EndIf; Sfârșitul procedurii

Note despre modulul de raportare:

Pentru a finaliza cu succes apelul GetCOMObject () nu uitați să instalați software-ul StrokeScribe. Când funcționează în modul client-server, StrokeScribe trebuie instalat pe server. StrokeScribe nu trebuie să fie instalat pe computerele client.

Apel GetTemporaryFileName () este necesar pentru a obține un nume arbitrar al unui fișier intermediar în care imaginea codului de bare va fi salvată înainte de a o transfera într-un document de foaie de calcul. Fișierul trebuie să existe înainte de apel TabDoc.Withdraw (Regiune)... Fișierul temporar poate fi apoi șters. Dacă intenționați să creați mai multe coduri de bare într-o zonă, atunci trebuie creat un fișier temporar pentru fiecare cod de bare. pentru că Salvează poza salvează codul de bare în format WMF, fișierului i se atribuie extensia corespunzătoare.

Dacă se dorește, poate fi folosit și un nume de fișier fix, de exemplu: FileName = "c: \ temp \ cod de bare.wmf"... Este de la sine înțeles că folderul "c: \ temp" trebuie să existe și să fie disponibile pentru a crea fișiere.

Misiune cod de bare.Alfabetul = setează formatul codului de bare. Constantele de tip cod de bare sunt disponibile în documentație. Mai jos sunt prezentate exemple de creare a celor mai comune coduri de bare.

Date atribuite cod de bare.Text, depind de formatul codului de bare. De exemplu, EAN-13 nu poate afișa litere și are o lungime fixă, iar CODE 128 nu funcționează cu chirilic. Dacă StrokeScribe nu poate procesa șirul, atunci o valoare diferită de zero va fi scrisă în proprietatea Error. Modulul folosește verificarea simplificată a erorilor - rezultatul tuturor operațiunilor este reunit într-o variabilă cod: cod = cod de bare.SavePicture ().

Apelul SavePicture () salvează imaginea codului de bare într-un fișier temporar. Specificarea lui 7 în al doilea parametru al apelului SavePicture () va crea o imagine vectorială scalabilă WMF. Versiunea comercială a StrokeScribe oferă și formatele JPG, PNG, GIF, BMP24 și EMF. Imaginile raster cu coduri de bare nu sunt recomandate din cauza volumului mare de date și a scalabilității slabe, dar poate fi utilizată dacă clientul subțire nu acceptă WMF.

In constructie Dacă codul<>0 se verifică rezultatul salvării imaginii codului de bare în fișier. Codul va fi diferit de zero chiar dacă este specificat un tip de cod de bare inexistent sau în proprietate Text date trimise care nu sunt afișate după tipul de cod de bare selectat. O explicație textuală a codului de eroare este disponibilă în proprietate ErrorDescription... Rezultatul fiecărei operațiuni cu un obiect cod de bare poate fi controlat în continuare prin verificarea valorii proprietății Error.

Pentru a afișa o mulțime de coduri de bare, este suficient să organizați o atribuire circulară Text =, Alfabetul =(opțional) și apel de metodă Salvează poza... Fiecare apel către SavePicture trebuie să aibă un nume de fișier separat pentru fiecare cod de bare din aceeași zonă înainte de a apela TabDoc.Display ()... După ce zona este afișată, fișierele pot fi șterse.

Mai jos sunt exemple despre cum să creați unele formate comune de coduri de bare. Întrucât unele dintre formate au setări suplimentare, vă recomandăm să faceți referire la paginile orientate către un anumit format de cod de bare (vezi meniul site-ului din stânga) și la documentația privind proprietățile StrokeScribe.

Vă rugăm să rețineți- 1C: Versiunea Enterprise 8.2.12.96, care a fost testată, centrează incorect imaginile WMF, deplasându-le spre dreapta. Prin urmare, nu se recomandă reducerea zonelor goale ale codurilor de bare (proprietățile HBorderSize și QuietZone2D) pentru a evita pierderea unei părți a liniilor codurilor de bare.

Cod de bare.Alfabetul = 3; // Cod de bare EAN13.Text = "123456789012"; cod = cod de bare.SavePicture (FileName, 7, 100, 60);

Cod de bare.Alfabetul = 5; // Cod de bare CODE128.Text = "123ABC" + Simbol (9) + "def"; cod = cod de bare.SavePicture (FileName, 7, 100, 60);

Simbol (9)- funcția de limbă 1C - codifică un caracter de tabulație (ASCII TAB). Toate caracterele care nu pot fi citite sunt afișate ca * în semnătura de sub codul de bare. COD 128 vă permite să setați un text de semnătură arbitrar care va fi afișat sub codul de bare în loc de afișarea standard a datelor codificate:

Cod de bare.Alfabetul = 7; // Cod de bare ITF14.Text = "1234567890123"; cod de bare.ITF14BearerBox = 1; cod = cod de bare.SavePicture (FileName, 7, 100, 30);

Proprietate ITF14BearerBox imprimă ITF-14 cu un chenar dreptunghiular întâlnit în mod obișnuit pe matrițele ondulate. Pentru a scoate un cod de bare cu numai linii orizontale de securitate, specificați ITF14BearerBox = 0.

Exemple detaliate despre crearea șirurilor GS1 pot fi găsite aici. Pentru o listă de formate acceptate de identificatorii GS1, consultați lista de compatibilitate.

Modificați sursa modulului după cum se arată mai jos:

Cod de bare.Alfabetul = 17; // EAN128 GS = Simbol (29); cod de bare.Text = „10” + „1234” + GS + „3301” + „123456” + „17” + „010517”; cod de bare.ITF14BearerBox = 1; cod = cod de bare.SavePicture (FileName, 7, 100, 30);

Cantități mari de date GS1 pot fi stocate în codurile de bare GS1 DATAMATRIX 2D.

Cod de bare.Alfabetul = 8; // Cod de bare DATAMATRIX.Text = "123abcDEF"; cod = cod de bare.SavePicture (FileName, 7, 100, 100);

Pentru a imprima codul aztec, modificați codul sursă al modulului după cum se arată mai jos:

Cod de bare.Alfabetul = 33; // Cod de bare AZTEC.Text = "123ABcd"; cod = cod de bare.SavePicture (FileName, 7, 100, 100);

Exemplul oferit aici este pentru generarea de cod QR pentru aplicații mobile. Majoritatea aplicațiilor de depozit și de birou din Rusia (atunci când sunt recunoscute de scanere specializate) necesită transmiterea directă a textului în pagina de coduri CP1251. Pentru a face acest lucru, instalați UTF8 = 0... Instalare QrECL este dat aici cu titlu de exemplu și este opțional.

Cod de bare.Alfabetul = 25; // QRCODE cod de bare.Text = „Chirilic”; cod de bare.UTF8 = 1; cod de bare.QrECL = 2; cod = cod de bare.SavePicture (FileName, 7, 100, 100);

Versiunea 8.0.16.4.

Dacă, la generarea chitanțelor, mesajul „Componenta 1C: imprimarea codurilor de bare nu este instalată pe acest computer! Puteți găsi informații detaliate despre instalarea componentelor pe site-ul nostru. aceasta înseamnă că trebuie să instalați Componenta 1C: Barcode Printing 1CBarCode.exe

Componenta pentru imprimarea codurilor de bare 1CBarCode.exe este furnizată pe discuri ITS sau puteți descărca 1CBarCode_8.0.16.4.exe de la următorul link.

Instrucțiuni de instalare pentru componenta 1CBarCode.exe:
1. Descărcați fișierul 1CBarCode_8.0.16.4.rar din linkul de mai sus, salvați-l pe computer și dezarhivați fișierul.
2. Faceți clic pe fișier și selectați limba de instalare, faceți clic pe butonul „Ok”.
3. Va apărea fereastra de bun venit și de avertizare la instalare, faceți clic pe butonul „Următorul”.
4. După ce va apărea fereastra acordului de licență, Componente 1C: Imprimare coduri de bare, selectați elementul „Accept termenii acordului de licență” și apăsați butonul „Următorul”
5. Pentru a continua, trebuie să selectați tipul de instalare:
Complet - toate componentele programului vor fi instalate (setate implicit pentru utilizatorii obișnuiți)
Personalizat - selectați componentele de program necesare și folderul în care vor fi instalate. (conceput pentru utilizatori avansați)
6. Confirmați pregătirea instalării programului, faceți clic pe butonul „Instalare”. Pentru a vizualiza sau modifica parametrii de instalare, apăsați butonul „Înapoi” sau butonul „Anulare” pentru a ieși din program.
7. Așteptăm sfârșitul instalării și facem clic pe butonul „Finish”.
La generarea chitanțelor, vor fi emise codurile de bare „Unidimensional” sau „Bidimensional”, în funcție de alegerea din setarea „Politică contabilă (Locuințe și utilități)” (Contabilitate în Locuințe și Utilități - Politică contabilă (Locuințe) - cod de bare)

Versiunea 8.0.16.4.

Dacă, la generarea chitanțelor, mesajul „Componenta 1C: imprimarea codurilor de bare nu este instalată pe acest computer! Puteți găsi informații detaliate despre instalarea componentelor pe site-ul nostru. aceasta înseamnă că trebuie să instalați Componenta 1C: Barcode Printing 1CBarCode.exe

Componenta pentru imprimarea codurilor de bare 1CBarCode.exe este furnizată pe discuri ITS sau puteți descărca 1CBarCode_8.0.16.4.exe de la următorul link.

Instrucțiuni de instalare pentru componenta 1CBarCode.exe:
1. Descărcați fișierul 1CBarCode_8.0.16.4.rar din linkul de mai sus, salvați-l pe computer și dezarhivați fișierul.
2. Faceți clic pe fișier și selectați limba de instalare, faceți clic pe butonul „Ok”.
3. Va apărea fereastra de bun venit și de avertizare la instalare, faceți clic pe butonul „Următorul”.
4. După ce va apărea fereastra acordului de licență, Componente 1C: Imprimare coduri de bare, selectați elementul „Accept termenii acordului de licență” și apăsați butonul „Următorul”
5. Pentru a continua, trebuie să selectați tipul de instalare:
Complet - toate componentele programului vor fi instalate (setate implicit pentru utilizatorii obișnuiți)
Personalizat - selectați componentele de program necesare și folderul în care vor fi instalate. (conceput pentru utilizatori avansați)
6. Confirmați pregătirea instalării programului, faceți clic pe butonul „Instalare”. Pentru a vizualiza sau modifica parametrii de instalare, apăsați butonul „Înapoi” sau butonul „Anulare” pentru a ieși din program.
7. Așteptăm sfârșitul instalării și facem clic pe butonul „Finish”.
La generarea chitanțelor, vor fi emise codurile de bare „Unidimensional” sau „Bidimensional”, în funcție de alegerea din setarea „Politică contabilă (Locuințe și utilități)” (Contabilitate în Locuințe și Utilități - Politică contabilă (Locuințe) - cod de bare)

Uneori, ca parte a codurilor de bare ale documentelor sau etichetelor, este necesar să se afișeze un cod de bare arbitrar pe formularul de printare 1C 8.2 (8.3).

Cum să faceți acest lucru, vom analiza mai jos.

Pentru a scoate un cod de bare neapărat (cu excepția configurațiilor bazate pe BSP 2 și mai sus), componenta trebuie instalată. Îl puteți găsi pe discul ITS sau pe portalul utilizatorului 1C.

Inserarea unui cod de bare pe un formular de printare 1C

Primul pas este crearea unui nou obiect - un desen. Pentru a face acest lucru, în aspect, faceți clic pe Tabel - Imagini - Inserați obiect ... Sistemul vă va oferi să selectați tipul de obiect:

Obțineți gratuit tutoriale video 267 1C:

Trebuie să alegi Element de control1C.V8.Tipărește coduri de bare... Să numim obiectul-imagine „Cod de bare”. Pentru ieșirea programatică într-un formular tipărit, puteți utiliza următorul cod:

CodeType = GetValue ofBarcodeTypeForEU (PlansViewsCharacteristics .Types ofBarcodes. Code39); IfCodeType = - 1 Apoi GeneralPurpose. Raportați erori ( „Pentru formatul codului de bare”"" + Planuri de Caracteristici ale speciilor. Tipuri de coduri de bare. EAN13 + "" „nu există un tip corespunzător în EI”„1C: imprimarea codurilor de bare”". | Poziția va fi omisă"); EndIf; Regiune. Desene. Cod de bare. Un obiect. CodeType = CodeType; Regiune. Desene. Cod de bare. Un obiect. Mesaj =? (EmptyString (""), Cod de bare, ""); Regiune. Desene. Cod de bare. Un obiect. TextCode = Cod de bare;