Ինչպես տպել փաստաթղթերի խումբ 1C-ում: Հրապարակումներ. Հնարավո՞ր է նախադիտել փաստաթուղթը տպելուց առաջ:

Գործընկերներ!

Մենք շարունակում ենք 1C-ում հաշվետվությունների ստեղծման թեման։ Վերջերս մեր հաճախորդը 1C 8.3-ից փաստաթղթեր փոխանցելու խնդիր ունեցավ:

Լրացուցիչ տեղեկությունների մուտքագրում տպագիր ձևի մեջ, համարակալում տպագիր թերթերը՝ նշելով հաշվետվությունը թողարկող ամսաթիվը, ժամը և օգտվողը:

Նախորդ թողարկումում մենք քննարկեցինք նմանատիպ օրինակ 8.2 կոնֆիգուրացիայում: Այժմ մենք կանդրադառնանք տպման պարամետրերին, որոնք թույլ են տալիս այս ամենը անել 8.3 կոնֆիգուրացիայում:

Ավելին, դրա մեծ մասը ավտոմատացված է 8.3-ում:

Այսպիսով, ինչպե՞ս կարող եք վերը նշված տեղեկատվությունը ներառել ձեր տպագրության մեջ: Ի՞նչ է պետք անել այս դեպքում:

Մենք առաջարկում ենք տարբերակների մեր վերանայումը, միգուցե դա նույնպես օգտակար կլինի ձեզ համար:

Տարբերակ 1. Անմիջապես ստեղծված հաշվետվության կամ փաստաթղթի տպագիր ձևից.

Ստեղծեք վճարման տպագիր հաշիվ-ապրանքագրի ձև և զանգահարեք այն Ch. ընտրացանկ – Աղյուսակ – Տպման կարգավորումներ – Վերնագիր և ստորագիր և անհրաժեշտության դեպքում կազմաձևեք:
Սա կատարվում է մեկ անգամ ցանկացած ՁԵՎԱՎՈՐՎԱԾ տպագրական ձևի համար:

Վերնագրի և ստորագրի դաշտերի կարգավորում

Ուշադրություն դարձրեք ձևի վերին ձախ անկյունում գտնվող պատկերակներին.

Դրանք ըստ հերթականության են՝ էջի համարը, էջերի քանակը, ամսաթիվը և ժամը։ Տեղադրեք ձեր մկնիկը վերնագրի կամ ստորագրի ցանկալի վայրում և սեղմեք ցանկալի պատկերակի վրա: Կոճակը սեղմելուց հետո: Լավ, երբ տպագրվի, այս տվյալները կցուցադրվեն ձեր նշած տպագիր ձևով:

Տարբերակ 2. Կազմաձևված է ծրագրից ցանկացած տպագրության համար (հաշվետվություններ, փաստաթղթեր, վկայագրեր):

Եթե ​​դուք չեք ցանկանում ամեն անգամ ձեռքով կարգավորել վերնագրերը և էջատակերը, կարող եք օգտագործել Administration – Header and Footer Settings բաժինը՝ տպագրության համար վերնագրերի և ստորագրերի ընդհանուր տեսքը կարգավորելու համար:

Այն կարծես այսպիսին է.

Տպագիր ձևերով տեղեկատվությունը ցուցադրելու ավելի շատ տարբերակներ կան. ավելացվում են «Զեկույցի անունը» և «Օգտատիրոջ» տվյալները: Սա հենց մեր դեպքն է։

Վերնագրի և ստորագրի համար տվյալների ընտրությունն իրականացվում է այնպես, ինչպես նկարագրված է 1-ին տարբերակում, միայն սրբապատկերների փոխարեն ընտրում ենք «Ժամանակ», «Ամսաթիվ», «Հաղորդման անուն» և այլն տեքստային կոճակները: Բայց էությունը չի փոխվում: Ձևաթղթի անհրաժեշտ վայրերում պահանջվող տեղեկատվությունը նշելուց հետո կարգավորումը պահպանվում է:

Երբ տպագիր ձևը տպվի, բոլոր նշված տվյալները կցուցադրվեն դրանում:

Տարբերակ 3. խմբագրել դասավորությունը հատուկ ռեժիմով

Ինչո՞ւ եմ ես այստեղ դիտարկում այս մեթոդը, որն ունի իր ֆունկցիոնալությունը և որը, խիստ ասած, չի առնչվում քննարկվող թեմային։

Քանի որ հաճախ է պատահում, որ դուք պետք է օգտագործեք այս մեթոդի և տպման պարամետրերի համադրությունը ցանկալի արդյունքի հասնելու համար: Տպագիր ձևերի դասավորության խմբագրումը թույլ է տալիս մեզ նկարել որոշ բաներ, որոնք մեզ անհրաժեշտ են հենց այս տպագիր ձևի դասավորության մեջ:

Դասավորությունները կարող են փոխվել Ադմինիստրացիա – Տպագիր ձևեր, հաշվետվություններ, մշակում – Տպված ձևերի դասավորություններ բաժնում:

Ահա պատվերի հաշիվ-ապրանքագրի դասավորության խմբագրման օրինակ (փաստաթղթային հաշիվ՝ գնորդին վճարելու համար).

Մենք ընտրում ենք դասավորություն՝ մուտքի մոտ նշելով, որ այն կխմբագրենք և վերջում կավելացնենք տեքստային տեղեկություններ։

Օրինակ, այսպես.

Պահպանեք փոփոխությունները և ստեղծեք տպվող ձևը:

Եվ մենք տպում ենք փոփոխություններով։
Բայց նման խմբագրման հնարավորությունները սահմանափակ են։)

Այսպիսով, 3-րդ տարբերակը հարմար է օգտագործել մշտական, անփոփոխ տեղեկատվություն մուտքագրելու համար, մնացած ամեն ինչ կպահանջի ծրագրավորողի կողմից տպագիր ձևի փոփոխություն:

Բայց հաճախ սա բավական է։ 🙂

1C համակարգում ծրագրավորման վերաբերյալ ուսումնական նյութերի մեծ մասը նկարագրում է օբյեկտի վրա հիմնված տպագիր ձևերի ձևավորումը «Աղյուսակային փաստաթուղթ»սահմանափակվում են ավարտված ձևը էկրանին ցուցադրելով: Օգտատերերի համար շատ ավելի կարևոր է, թե փաստաթուղթը տպելիս ինչպիսի տեսք կունենա: Այստեղ, բացի լավ մշակված դասավորությունից, դեր են խաղում նաև տպագրական պարամետրերը:

Գրեթե բոլոր պարամետրերը, որոնք հասանելի են տպման կարգավորումների երկխոսություններում (տպիչի կարգավորումներ, էջի հատկություններ) կարող են ուղղակիորեն նշվել աղյուսակային փաստաթուղթ ստեղծելիս:

Դիտարկենք աղյուսակային փաստաթղթի հատկությունները և մեթոդները, որոնք կապված են տպագրական պարամետրերի հետ (տրված օրինակներում «TabDoc»-ը «Spreadsheet Document» տեսակի օբյեկտ է):

Սեփականություն «Տպիչի անունը»Թույլ է տալիս նշել այլ տպիչ, քան լռելյայն տպագրության համար: Անունը պետք է համապատասխանի համակարգում կազմաձևված տպիչի անվանը.

TabDoc. Տպիչի անունը = «HP LaserJet 3050 Series PCL 6»;

Փաստաթղթերի փաթեթ տպելիս կարող եք ժամանակ խնայել՝ սահմանելով համադրման տարբերակը.

TabDoc. ParseByCopies = ճշմարիտ;

Պատճենների քանակը կարելի է նշել հետևյալ կերպ.

TabDoc. Դեպքերի քանակը= 5 ;

Իհարկե, դուք կարող եք սահմանել դաշտերը.

TabDoc. FieldLeft = 20; //Ձախ լուսանցքը 20 մմ է, մյուս լուսանցքները 10 մմ են (կանխադրված)

Էջի ևս մի քանի հատկություններ.

TabDoc. Կողմնորոշման Էջ= Կողմնորոշման Էջ. Լանդշաֆտ;
TabDoc. ՕրինակներԷջում= 2 ; //թերթի վրա կլինի 2 էջ
TabDoc. Autoscale = ճշմարիտ; //նման է «էջի լայնությունը» սանդղակի կարգավորումներին

Անհրաժեշտության դեպքում դուք կարող եք նշել որոշակի մասշտաբային արժեք տոկոսներով (հատկություն «Տպման մասշտաբ»).

Սեփականություն «Էջի չափը»թույլ է տալիս սահմանել էջի ստանդարտ ձևաչափեր - « A 3», «A4», «A 5» (տարբերակների ամբողջական ցանկը հասանելի է 1C օգնությունում):

TabDoc. PageSize = "A3" ; // A տառը պետք է լինի անգլերեն

Ոչ ստանդարտ թղթի չափսերի համար (Պատվիրված) կարող եք նշել էջի բարձրությունը և լայնությունը (մմ).

TabDoc. PageSize = "Պատվիրված" ; //ոչ ստանդարտ չափս
TabDoc. Էջի բարձրություն = 350 ;
TabDoc. Էջի լայնությունը = 350;

Նաև աղյուսակային փաստաթղթում կարող եք վերահսկել վերնագրերի և ստորագրերի ելքը և դրանց բովանդակությունը: Դա արվում է հատկությունների օգտագործմամբ «Էջի վերնագիր»Եվ «Foter»:Օրինակ:

TabDoc. Էջի վերնագիր. Արդյունք = ճշմարիտ; //վերնագիրը կտպվի
TabDoc. HeaderSizeTop= 7 ; // ոտնաթաթի չափը 7 մմ (կանխադրված 10 մմ)
TabDoc. Էջի վերնագիր. Ուղղահայաց դիրք= Ուղղահայաց դիրք. Գագաթ ;
TabDoc. Էջի վերնագիր. Գլխավոր էջ= 2 ; //ստորատակը ցուցադրվում է երկրորդ էջից
FontFooter=Նոր տառատեսակ ("Courier New", 8,True);
TabDoc. Էջի վերնագիր. Տառատեսակ = FontFooter; //շեղ տառատեսակ
TabDoc. Էջի վերնագիր. TextInCenter = «Էջի վերնագիր»;
TabDoc. Էջի վերնագիր. TextRight = «[&PagesTotal]-ի էջի[&Էջի համարը]»; //էջադրում
TabDoc. Էջի վերնագիր. TextLeft = "[&Date]" ; //Ընթացիկ ամսաթիվ

Ստեղծված փաստաթուղթն ուղարկվում է տպագրության՝ օգտագործելով մեթոդը "Տիպ()".Զանգի երկու հնարավոր տարբերակ կա.

1) Անմիջապես տպիչին.

TabDoc. Տպել (.NotUse);
TabDoc. Տպել (ճշմարիտ);

2) Տպելուց առաջ կցուցադրվի տպման երկխոսություն.

TabDoc. Տպել ( DialogUsageModePrint. Օգտագործեք);
TabDoc. Տպել (կեղծ);

Բացի այդ, դուք կարող եք վերահսկել, թե ինչպես է փաստաթուղթը բաժանվում էջերի: Դուք կարող եք գնահատել փաստաթղթի էջերի քանակը՝ հիմնվելով տպիչի ընթացիկ կարգավորումների վրա.

TabDoc. Էջերի քանակը();

Օգտագործելով մեթոդներ «CheckOutput ()»Եվ «CheckAttach()»Դուք կարող եք որոշել, թե արդյոք աղյուսակային փաստաթուղթը կամ աղյուսակի փաստաթղթերի տարածքների զանգվածը կտեղավորվի էջի վրա բարձրությամբ և լայնությամբ՝ տպիչի ընթացիկ կարգավորումներում:

Պետք է հաշվի առնել, որ վերջին երեք մեթոդների շահագործումը կախված է տեղադրված տպիչից: Եթե ​​մեթոդը չի կարողանում գտնել այն, բացառություն է արվում:

Մեթոդները թույլ են տալիս հարկադրել էջերի ընդմիջումների տեղադրումը«OutputVerticalPageSeparator()»Եվ «OutputHorizontalPageSeparator()».

Այսպիսով, դուք կարող եք վերահսկել էջ առ էջ տպագրությունը և վերահսկել էջի լրացումը.

Եթե ​​ոչ TabDoc: Check Output ( Արդյունքների տարածքների զանգված) Հետո
TabDoc. OutputHorizontalPage Separator();
վերջԵթե;

1C:Enterprise 8.2 հարթակի կարևոր բնութագիրը հատկությունների և մեթոդների խիստ տարանջատումն է ըստ կատարման համատեքստի: Թեև վերը նշված բոլոր հատկությունները հասանելի են ցանկացած համատեքստում, թվարկված մեթոդները հասանելի չեն thin client-ում: Բացառություն է «Print()» մեթոդը, որի հասանելիությունը հասկանալի պատճառներով սահմանափակվում է հաճախորդի մասով: Սա նշանակում է, որ աղյուսակի փաստաթղթի ձևավորումը պետք է տեղի ունենա սերվերում, և այն պետք է ուղարկվի տպագրության՝ հաճախորդի ընթացակարգով:

1C: Հաշվապահություն 8 ծրագիրը թույլ է տալիս ստեղծել նույն տեսակի փաստաթղթերի խմբային տպագրություն: Նման անհրաժեշտություն կարող է առաջանալ տարբեր դեպքերում. ամսվա վերջում, երբ անհրաժեշտ է տրամադրել մեծ թվով ծառայությունների մատուցման վկայագրեր և հաշիվ-ապրանքագրեր. մայր ընկերության և ներկայացուցչությունների և մասնաճյուղերի համար աշխատավարձի ֆոնդից հարկերի վճարման հանձնարարականներ տպելիս և այլն: Այս բոլոր դեպքերում անհրաժեշտ է ծրագրում կատարել որոշակի կարգավորումներ։ «1C» ընկերության մեթոդիստները օրինակ են օգտագործում, որպեսզի պատմեն, թե ինչպես դա անել:

«1C:Enterprise 8»-ի հնարավոր սպասարկման գործառույթներից մեկը գրացուցակների և փաստաթղթերի խմբային մշակումն է, որը հասանելի է «Ծառայություն» ցանկում։ Դրա օգնությամբ, մասնավորապես, կարող եք ստեղծել փաստաթղթերի խմբային տպագրություն: Դիտարկենք փաստաթղթերի խմբային տպագրության ստեղծման կարգը՝ օգտագործելով կոնկրետ օրինակ:

Նշում:
Խորհրդատվական ծառայություններ մատուցող բիզնեսը հաճախորդներին հաշիվ-ապրանքագրեր է թողարկում ամսվա վերջին: Հաճախորդներին պետք է տրամադրվեն տպագիր հաշիվ-ապրանքագրեր: Հաշվապահը պետք է տպի հաճախորդներին տրված բոլոր հաշիվ-ապրանքագրերը 01/05/2008-ից 31/05/2008 ներառյալ ընկած ժամանակահատվածի համար:

Հաճախորդներին տրված բոլոր հաշիվ-ապրանքագրերը տպելու համար «Ծառայություն» ընտրացանկում ընտրեք «Տեղեկատու գրքերի և փաստաթղթերի խմբային մշակում»: «Ընտրության օբյեկտներ» ներդիրում «Օբյեկտի տեսակ» դաշտում ընտրեք «Փաստաթղթեր»: Այժմ դուք պետք է նշեք, թե որ փաստաթղթերը կօգտագործվեն ընտրության համար: Նոր տարր ավելացնելիս կբացվի պատուհան՝ փաստաթղթերի ցանկով, որում ընտրում ենք «Տրված ապրանքագիր» փաստաթուղթը (տե՛ս նկ. 1):

Բրինձ. 1

Այժմ եկեք գնանք «Ընտրություն» ներդիրին: Մենք պետք է ընտրենք 01.05.2008-ից մինչև 31.05.2008 ժամանակահատվածի համար թողարկված հաշիվ-ապրանքագրերը և ցուցակից բացառենք կանխավճարները: Օգտագործելով կոճակը (կամ Տեղադրել ստեղնը) ընտրության պատուհանում, մենք ավելացնում ենք ընտրության անհրաժեշտ պայմանները - տես նկ. 2.


Բրինձ. 2

Երբ սեղմում եք «Ընտրել» կոճակը, կընտրվեն նշված պայմաններին համապատասխանող հաշիվ-ապրանքագրեր: Ընտրված հաշիվ-ապրանքագրերի ցանկը ավտոմատ կերպով կստեղծվի «Գրքերի և փաստաթղթերի խմբային մշակում» ձևի «Վերամշակում» ներդիրում: Գործողությունների ցանկից ընտրեք «Տպել փաստաթղթերը» (տես նկ. 3):


Բրինձ. 3

Հաջորդը, ընտրեք «Տպել նախադիտմամբ» կամ «Տպել առանց նախադիտման»: Ընտրված փաստաթղթերի գրանցամատյանը տպելու համար ընտրեք համապատասխան արժեքը՝ «Փաստաթղթերի գրանցամատյան»:

Այժմ սեղմեք «Գործարկել» կոճակը «Ուզու՞մ եք տպել փաստաթղթեր» հարցին: Մենք պատասխանում ենք «Այո»:

Այս դեպքում, եթե ընտրվի «Տպել առանց նախադիտման», փաստաթղթերի տպման ընթացակարգը անմիջապես կսկսվի: Եթե ​​ընտրեք «Տպել նախադիտմամբ», էկրանին կցուցադրվեն բոլոր ընտրված հաշիվ-ապրանքագրերի տպելի ձևերը: Այս դեպքում փաստաթղթերը դիտելուց հետո պետք է սկսել տպման ընթացակարգը ծրագրի հիմնական մենյուից (մենյու «Ֆայլ» -> «Տպել»): Եթե ​​ընտրված է «Փաստաթղթերի ռեգիստր» արժեքը, էկրանին կցուցադրվի նաև ռեգիստրի տպագիր ձևը ընտրված ապրանքագրերի ցանկով, որը կարող է տպվել ծրագրի հիմնական ընտրացանկից (մենյու «Ֆայլ» -> «Տպել» »):

«Տեղեկատվական գրքերի և փաստաթղթերի խմբային մշակում»-ում ներդրված ալգորիթմը ունիվերսալ է և կարող է օգտագործվել ոչ միայն փաստաթղթերի խմբակային տպագրության համար:

Տեղեկատվական գրքույկների/փաստաթղթերի խմբի հետ մշակումն օգտագործելիս հասանելի են հետևյալ գործողությունները՝ ամսաթիվ փոխել, փաստաթղթի տեղադրում, ջնջման նշան, հարկային գրանցման հատկանիշ, պատասխանատու անձ, մեկնաբանություններ: Այս մշակումը կարող է օգտագործվել, օրինակ, փաստաթղթերի աղյուսակային մասի մանրամասները, փաստաթղթերի ամսաթվերը խմբավորելու համար:

Յուրաքանչյուր 1C էլեկտրոնային փաստաթուղթ կարող է տպվել թղթի վրա, և դա արվում է 1C տպագիր ձևերի միջոցով: Տպագրվող նյութերը կազմված են անվանակոչված բլոկներից, ինչպիսիք են՝ Header, Row և Footer:

Ինչպես պատրաստել տպագիր ձև, արդեն պարզ է: Ինչպես կոտրել այն բլոկների մեջ - նույնպես: Բայց ինչպե՞ս է այս ամբողջի տպագրությունը տեղի ունենում 1C-ում: Եվ հատկապես, ինչպե՞ս ցուցադրել ոչ միայն դասավորության տեքստը, այլ էլեկտրոնային փաստաթղթի բովանդակությունը:

Սա այն է, ինչ մենք կանդրադառնանք հենց հիմա:

1C-ում տպագրության դասավորության պատրաստում

Սկզբից դուք պետք է սկսեք ամենապարզ բանից և լրացնեք 1C-ում տպագրության դասավորությունը ստատիկ տեքստով և աղյուսակի տողերով: Ի վերջո, ինչ-որ մեկը պետք է անի այս ձանձրալի գործը:

Մենք տեղադրում ենք ստատիկ տեքստ տպագրության համար 1C-ում

Լավ տեղ սկսելու համար կլինի տեղադրել մեր տպագրության անունը: Ընտրեք մի քանի բջիջ անընդմեջ և ընտրեք ցանկի տարրը Աղյուսակ/Միաձուլում: Արդյունքում մի քանի բջիջ կմիավորվեն մեկի մեջ:

Այժմ այս բջիջում մենք կգրենք փաստաթղթի անվանումը։ Քանի որ սա վերնագիր է, մենք, ըստ երևույթին, ցանկանում ենք այն դարձնել թավ, մեծ տառատեսակով (տես նկարը) և տեղադրել այն մեջտեղում:

Տպագրության համար դասավորության դիզայնը տեղադրում ենք 1C-ում

Մենք ունենք անվանված տարածք String: Դրանում, երբ տպագրվում է 1C-ով, կցուցադրվի Ապրանքներ փաստաթղթի աղյուսակի յուրաքանչյուր տող: Մենք, հավանաբար, կցանկանայի՞նք, որ աղյուսակը 1C-ով տպագրվելիս լիներ սեղանի տեսք: Ապա դուք պետք է սահմաններ գծեք դրա համար:

Դա անելու համար ընտրեք տողերի բջիջները և վահանակի վրա ընտրեք Սահմաններ կոճակը: Մենք ընտրեցինք Border Everywhere տարբերակը. այն միանգամից գծում է բջիջների եզրագծերը բոլոր կողմերից: Եթե ​​Ձեզ անհրաժեշտ է սահմանափակվել միայն մեկ կողմով, ապա պետք է ընտրել համապատասխան կոճակը:

Ապահովելու համար, որ սահմանները գծելու համար օգտագործվող գծերը չեն համապատասխանում ստանդարտներին, ընտրեք բջիջները և սեղմեք աջը: Բացվող ընտրացանկում ընտրեք Հատկություններ:

Հատկությունների սովորական պատուհանում կարող եք ընտրել սահմաններ գծելու համար գծերի տեսակը և գույնը:

1C-ում տեղադրում ենք նկարներ և այլ թիթեղներ տպագրության համար

Շատերը հարցնում են՝ ինչպե՞ս տեղադրել տեքստից բացի այլ բան 1C տպագիր ձևի վրա: Օրինակ՝ նկար.

Եվ դա շատ պարզ է. Ավելին, ես անմիջապես կասեմ, որ շտրիխ կոդը (եթե անհրաժեշտ է տպել) նույնպես նկար է:

Եկեք կուրսորը տեղադրենք ցանկացած բջիջի վրա: Ընտրեք Աղյուսակ/Նկարներ ցանկը: Սա մի ամբողջ ենթամենյու է, որը թույլ է տալիս 1C-ում տպագրության դասավորության մեջ տեղադրել ոչ միայն նկար կամ գծված առարկա, այլև 1C-ից դուրս գտնվող առարկաներ, որոնք գրանցված են համակարգչում COM դասի միջոցով (օրինակ՝ բացվող ցուցակը վերահսկողություն):

Նրանց համար, ովքեր հետաքրքրված են դասավորության վրա 1C-ով տպագրության համար բարդ ձևավորումներ ստեղծելով, նայեք նաև բացվող ընտրացանկին՝ Աղյուսակ/Տպման կարգավորումներ: Այստեղ դուք կարող եք սահմանել կրկնվող տարածքը յուրաքանչյուր էջի, վերնագրի և ստորագրի և տպման տարածքի վրա:

Ինչպես տեղադրել էլեկտրոնային փաստաթղթի բովանդակությունը 1C-ում տպելիս

1C-ում տպելիս էլեկտրոնային փաստաթղթի բովանդակությունը դասավորության վրա տեղադրելու համար օգտագործվում է փոխարինման մեթոդը: Այն բաղկացած է երկու մասից.

Առաջին մաս. Դասավորության վրա անհրաժեշտ է տեղադրել պարամետրեր, որոնցում դուք կփոխարինեք արժեքները 1C-ում տպելիս:

Եկեք կուրսորը դնենք խցում: Մուտքագրենք պարամետրի անունը (մեկ բառով՝ առանց բացատների կամ այլ աղբի)։ Հաջորդը, եկեք մտնենք այս բջիջի հատկությունների մեջ (ինչպես նշվեց վերևում) և ընտրենք Լրացում = Պարամետր:

Մաս երկրորդ. Արժեքների փոխարինումը կատարվում է ոչ թե այն ժամանակ, երբ դուք ծրագրավորում եք կոնֆիգուրատորում, այլ փաստաթուղթը 1C-ում տպելու պահին: Համապատասխանաբար, օգտագործելով ծրագրավորումը, դուք պետք է նշեք 1C-ին, թե ինչ պետք է փոխարինվի այս պարամետրում:

Դա արվում է հետևյալ կերպ.

Layout = GetLayout ("LayoutName");
regionSomething = Layout.GetArea("AreaName");
regionSomething.Parameters.ParameterName = "Ինչ եմ ուզում փոխարինել տվյալների բազայից";

Ինչպես տեսնում եք, մենք պարզապես ստանում ենք դասավորությունը ըստ անունով, այնուհետև դրա տարածքներից մեկը, այնուհետև մենք պարզապես մուտք ենք գործում պարամետրը իր անունով:

Բնականաբար, արժեքը կարող է լինել կամ տող կամ թիվ, կամ փաստաթղթում նշված արժեքը:

Ինչպես տպել դասավորությունը 1C-ում

Դասավորությունը պատրաստ լինելուց հետո ժամանակն է մտածել տպագրության գործընթացը 1C-ում ծրագրավորելու մասին:

1C-ում տպագրությունը սովորաբար ծրագրավորվում է մի քանի ընթացակարգերով, որոնք տեղակայված են փաստաթղթի օբյեկտի մոդուլում: .

Print() պրոցեդուրան սովորաբար նշվում է Export և վերահսկում է փաստաթղթի տպումը 1C-ում՝ օգտագործելով LayoutName պարամետրը, որը փոխանցում է այն, ինչ կցանկանայիք տպել:

Յուրաքանչյուր դասավորության տարբերակի համար կատարվում է PrintLayoutName() պրոցեդուրան, որը սահմանում է կոնկրետ դասավորության տպագրությունը։ Դա այն է, ինչ մենք հիմա կանդրադառնանք:

Ծրագրավորման տպագրությունը 1C-ում բաղկացած է երեք կետից.

Նախքան 1C-ում էլեկտրոնային փաստաթուղթ տպելը, մենք պետք է տվյալների բազայից պահանջենք դրա տվյալները: Ակնհայտ է, որ փաստաթուղթ տպելու համար օգտատերը սովորաբար «մտնում» է այն (բացում է դրա ձևը) և սեղմում Տպել կոճակը: Հետևաբար, տպագրության գործընթացում կարելի էր պարզապես անվանել փաստաթղթի մանրամասները (ինչ է սա - քննարկված է այստեղ):

Այնուամենայնիվ, սա համարվում է տգեղ, ոչ համընդհանուր և այլն: Օրինակ, հանկարծ կկիրառվի փաստաթղթերի զանգվածային տպագրության մշակում (որքա՞ն հաճախ է դա օգտագործվում): Հետևաբար, տպագրության գործընթացում սովորական է տվյալների բազայի հարցում կատարելը, որը պահանջում է փաստաթղթերի տվյալներ: Օրինակ, այսպես.

Request = Նոր հարցում;
Query.Text = «Ընտրել
Ամսաթիվը,
Թիվ,
Կազմակերպություն
ԻՑ
Document.DocumentName
ՈՐՏԵՂ
Հղում = &DocumentForPrint";
Request.SetParameter ("DocumentForPrint", Link);
Ընտրել = Query.Run().Select();
Selection.Next();

Կետ 2. Լրացնելով տպագրության դասավորությունը 1C-ում

1C-ում տպագրությունը կատարվում է աղյուսակային փաստաթղթում: Սա հատուկ 1C օբյեկտ է, որը թույլ է տալիս ցուցադրել աղյուսակներ, ինչպես Excel-ը, էկրանին և տպագիր տարբերակով: Բնականաբար, տպագրվում է դասավորությունը, ավելի ճիշտ՝ դրա տարածքները մեկ առ մեկ։

Համապատասխանաբար, մենք նախ պետք է ստանանք աղյուսակային փաստաթուղթ, ապա դասավորություն: Տարածքները մեկ առ մեկ տպում ենք՝ լրացնելով դասավորության պարամետրերը։

TabDoc = Նոր TabularDocument;
Layout = GetLayout ("LayoutName"); //կամ GetGeneralLayout ("")

areaHeader = Layout.GetArea ("Header");
TabDoc.Output (regionCap);

regionRow = Layout.GetArea («Տող»);
ԸնտրելովDocumentLines.Next() հանգույց
regionLine.Parameters.Product = SelectionDocumentLines.Product;
TabDoc.Output (regionString);
End Cycle;

areaCap = Layout.GetArea ("Footer");
TabDoc.Output (regionFootroom);

Կետ 2. Փաստաթղթի տպում 1C-ով

Վերջին կետը ստացված փաստաթուղթը էկրանին կամ տպիչին դուրս բերելն է: Տիպիկ կոնֆիգուրացիաներում դրա համար օգտագործվում է ստանդարտ ընթացակարգ (յուրաքանչյուրը կարող է ունենալ իր սեփականը), օրինակ՝ Universal Mechanisms.PrintDocument():

Այլ դեպքերում կարող եք պարզապես օգտագործել TabularDocument օբյեկտի ստանդարտ գործառույթները՝ TabDoc.Show() կամ TabDoc.Print():

Գաղտնիք չէ, որ թեև մեր օրերում ավելի ու ավելի շատ ընկերություններ են անցնում էլեկտրոնային փաստաթղթերի կառավարման, «Առանց թղթի, դու...» հին ասացվածքը չի կորցնում իր արդիականությունը: Պատահում է, որ ինչ-ինչ պատճառներով տեսչական մարմինները հետաքրքրված են առաջին հերթին թղթային փաստաթղթերով: Հետևաբար, եթե դուք ակտիվորեն օգտագործում եք 1C: Accounting կամ Enterprise ծրագիրը ֆինանսական վերահսկողության համար, կարևոր է իմանալ, թե ինչպես տպել ծրագրի միջոցով ստեղծված էլեկտրոնային փաստաթուղթը:

1C-ում տպագիր ձևաթղթերը թույլ են տալիս էլեկտրոնային փաստաթուղթը վերածել տպագիր տարբերակի:

Դրա համար մշակողը տրամադրել է հիանալի գործիք՝ Print Designer: Նրա օգնությամբ դուք կարող եք ստեղծել փաստաթղթեր, որոնցում կարող եք նշել ձեզ անհրաժեշտ ցանկացած տվյալ, և ոչ միայն մի քանի ստանդարտ ձևեր: Սա հատկապես վերաբերում է այն փաստաթղթերին, որոնք չունեն խիստ կանոնակարգված ձև, որը հնարավոր չէ փոխել ոչ մի դեպքում: Սա, մասնավորապես, կարող է ներառել աշխատանքի ավարտի ակտ, որոշ հաշիվ-ապրանքագրեր կամ վճարումներ:

Այս ուղեցույցում մենք առաջարկում ենք հասկանալ Print Designer-ի հնարավորությունները, դիտարկել, թե ինչ տեսակի տպագրական ձևեր կարող են լինել և ինչպես են դրանք տարբերվում միմյանցից: Մենք նաև օրինակով ցույց կտանք, թե ինչպես կարելի է տպել ստեղծված ձևը։

Նախ, արժե հասկանալ, թե ինչ է, ընդհանուր առմամբ, տպագիր ձևը 1C 8-ում: Սա 1C աղյուսակի ձևանմուշ է (ինչպես Excel-ը), որում նշված են որոշ փոփոխական տողեր, որոնք լրացված են ծրագրի տվյալների հետ փաստաթուղթ կազմելիս:

Տպագրական ձևերը լինում են երկու տեսակի.

  • Ներքին (ներկառուցված): Դրանք պահվում են ծրագրի կազմաձևում, ուստի ավելի լավ է չփոխել դրանք, քանի որ ավելի ուշ թարմացման ընթացքում կարող են խնդիրներ առաջանալ:
  • Արտաքին - պահվում է ծրագրի կարգավորումներից առանձին: Եվ նրանց օգնությամբ դուք կարող եք ստեղծել և պատրաստել գրեթե ցանկացած բարդության փաստաթուղթ տպելու համար՝ առանց ազդելու 1C 8 ծրագրի կազմաձևման վրա:

Ինչպե՞ս ընտրել արդեն պատրաստված դասավորությունները: Մուտքային կամ ելքային գործողություն կատարելուց հետո, օրինակ՝ ավարտված աշխատանքի հաշվետվություն գրելուց հետո, փաստաթղթերը տպելու համար սեղմում եք «Տպել» կոճակը: Ցանկը ցուցադրում է տպագրվող ձևերի ցանկը, որոնք արդեն լրացված են կատարված գործարքի և ձեր ընկերության մասին մուտքագրված տվյալներով: Սեղմելով ձեզ անհրաժեշտ փաստաթղթի տեսակը, դուք բացում եք նախադիտման պատուհանը, որպեսզի կարողանաք համոզվել, որ ձեր լրացված տվյալները ճիշտ են: Տպել կոճակը փաստաթուղթը տպում է տպիչի վրա:

Հիմունքների հետ կապված, եկեք պարզենք, թե որտեղ են պահվում ձեր բոլոր տպագրվող նյութերը: Անցնենք հաջորդ հարցին.

Որտե՞ղ են պահվում տպագիր ձևաթղթերը:

Դուք կարող եք դիտել ներկառուցված տպագիր ձևերը ինչպես կոնֆիգուրատորի, այնպես էլ սովորական ձեռնարկության ռեժիմում: Առաջին դեպքում ծրագիրը գործարկելու ժամանակ անհրաժեշտ է սեղմել մեկնարկի պատուհանի համապատասխան կոճակը։ Դուք կտեսնեք ծրագրի ընտրացանկը, կգտնեք «Ապրանքների և ծառայությունների վաճառք» մասնաճյուղը, որը պարունակում է «Layouts» կետը: Այն հաճախ պարունակում է ընդամենը երկու կետ՝ «Ինվոյս» և «Ակտ»: Որտե՞ղ են բոլորն այդ դեպքում, քանի որ ցուցակը շատ ավելի ընդարձակ է: Նրանք պարզապես թաքնվում են մեկ այլ տեղ: Դուք պետք է բացեք «General» - «General Layouts» մասնաճյուղը, գրեթե բոլոր դասավորությունները պահվում են դրանում:

Երկրորդ դեպքում, դուք պետք է գնաք «Կառավարում» - «Տպել ձևերը, հաշվետվությունները և մշակումը» - «Տպագիր ձևերի դասավորությունը» մենյուի բաժինը: Այն կցուցադրի փաստաթղթերի բոլոր դասավորությունները: Հատկանշական է, որ դրանք կարող են խմբագրվել նույն մենյուում։

Ինչ վերաբերում է արտաքին ձևերին, ապա նախ պետք է դրանք ստեղծել կազմաձևողի ռեժիմով, կամ ներբեռնելով պատրաստի ֆայլ, այնուհետև միացնել դրանք «Կառավարում» ցանկին՝ «Տպագրված ձևեր, հաշվետվություններ և մշակում» - «Լրացուցիչ հաշվետվություններ և վերամշակում»: Այս մասին կխոսենք մի փոքր ուշ:

Պարզ ձևի ստեղծում՝ օգտագործելով ներկառուցված Print Designer

Նման տպագիր ձևը չի ենթադրում խորը խմբագրման հնարավորություն, քանի որ դա կհանգեցնի ծրագրի կազմաձևման փոփոխություն, ինչպես նաև այն թարմացնելու հետագա դժվարություններ: Այնուամենայնիվ, եթե դուք լիովին գոհ եք ստանդարտ ձևից կամ ցանկանում եք խորանալ արտաքին ձևի ստեղծման բարդությունների մեջ, այս մեթոդը լիովին հարմար է ձեզ համար:

  1. Նախ, գործարկեք Կազմաձևիչի ռեժիմ, գտեք ձեզ անհրաժեշտ փաստաթուղթը, օրինակ՝ Ապրանքների և ծառայությունների վաճառք, փաստաթղթի հատկություններում անցեք Գործողություններ - Դիզայներներ - Տպման դիզայներ:
  2. Երբ ձեզ հուշում են աշխատանքային տարբերակ, ընտրեք Կանոնավոր ձևեր:
  3. Նոր դասավորությանը անուն տվեք, օրինակ՝ «Տպել հաշիվ-ապրանքագիր»:
  4. Ընտրեք այն մանրամասները, որոնք ցանկանում եք տեսնել փաստաթղթի վերնագրում: Ավելին, դրանք պետք է ընտրվեն այն հերթականությամբ, որով կցուցադրվեն։ Ընտրելու համար անհրաժեշտ է կուրսորով նշել ձախ սյունակում գտնվող տարրը և սեղմել էկրանի մեջտեղի սլաքը, որպեսզի մանրամասները հայտնվեն աջ սյունակում։
  5. Նշեք մանրամասները, որոնք կցուցադրվեն աղյուսակի բաժնում: Մանրամասների ընտրությունը կատարվում է նույն սկզբունքով, ինչ նախորդ պարբերությունում:
  6. Նույն կերպ ընտրեք փաստաթղթի ստորին հատվածի մանրամասները։
  7. Ստեղծման վերջին փուլում ընտրեք, թե արդյոք ցանկանում եք տպել անմիջապես առանց նախադիտման, արդյոք Ձեզ անհրաժեշտ է պաշտպանել աղյուսակը, այնուհետև հաստատել ձևի ստեղծումը OK կոճակով:

Արտաքին տպագրության ձևի ստեղծում

Print Designer-ի միջոցով ստեղծված ձևերը կարելի է համեմատել տեսողական ծրագրաշարի խմբագրիչի հետ, երբ դուք ձեռքով չեք մուտքագրում ամբողջ կոդը, այլ միայն այն կազմում եք առաջարկվող տարրերից: Արտաքին ձևը ձեռքով գրված ծրագրային կոդով ֆայլ է, որը նկարագրում է էկրանին տվյալների ցուցադրման կարգը։ Սա այն է, ինչը թույլ է տալիս խմբագրել տպագիր ձևը, ինչպես ցանկանում եք, նշելով բացարձակապես ցանկացած տվյալներ ցանկացած հաջորդականությամբ:

Լրացուցիչ առավելությունն այն է, որ նույնիսկ եթե դուք չեք հասկանում կամ պարզապես չեք ցանկանում հասկանալ 1C 8 ծրագրավորման բարդությունները, կարող եք այս ընթացակարգը վստահել մասնագետներին: Նրանք կկարողանան ձեզ համար պատրաստել անհրաժեշտ ձևը և տրամադրել այն որպես պատրաստի ֆայլ, որը կարող եք ակտիվացնել միայն կոճակի մի քանի սեղմումով։

Հիմա եկեք ավելի շատ խոսենք ինքնին ընթացակարգի մասին: Դիտարկենք «Վաճառք (ակտեր, հաշիվ-ապրանքագրեր)» փաստաթղթի համար «Invoice» դասավորության ստեղծման օրինակը:

  1. Բացեք 1C 8 ծրագիրը Configurator ռեժիմում:
  2. Սեղմեք Ֆայլ - Նոր - Արտաքին մշակում, անուն տվեք (այն չպետք է պարունակի բացատներ), այնուհետև սեղմեք Գործողություններ - Բացեք օբյեկտի մոդուլը:
  3. Բացվող մուտքագրման դաշտում մուտքագրեք հետևյալ կոդը (արժեքները, որոնք կարող են փոխվել ձեր սեփականի, ընդգծված են դեղինով).

Գործառույթը InformationOnExternalProcessing() Export
Գրանցման պարամետրեր = Նոր կառուցվածք;
ArrayDestinations = Նոր զանգված;
Array of Assignments.Add("Document.Sales of Goods and Services"); //Նշեք այն փաստաթուղթը, որի համար մենք արտաքին տպում ենք կատարում: ձեւը
Registration Parameters.Insert("View", "PrintForm"); //գուցե - PrintableForm, լրացնող օբյեկտ, լրացուցիչ հաշվետվություն, հարակից օբյեկտների ստեղծում...
Registration Parameters.Insert("Destination", Array of Destination);
Registration Parameters.Insert(«Անուն», «Ապրանքների վաճառքի պատվեր»); //անունը, որով մշակումը կգրանցվի արտաքին մշակման գրացուցակում
Registration Parameters.Insert("SafeMode", FALSE);
Registration Parameters.Insert("Version", "1.0");
Registration Options.Insert("Information", "This printable form was created as a sample");
CommandTable = GetCommandTable ();
AddCommand(CommandTable, «External Order», «ExternalOrder», «CallServerMethod», True, «MXL Print»);
Registration Parameters.Insert("Commands", CommandTable);
ReturnRegistrationParameters;
EndFunction // Տեղեկություն արտաքին մշակման մասին()
GetTableCommand () ֆունկցիա
Հրամաններ = New ValueTable;
Commands.Columns.Add("View", New TypeDescription("Row"));//ինչպիսին կլինի տպագրական ձևի նկարագրությունը օգտագործողի համար
Commands.Columns.Add("Identifier", New TypeDescription("String")); //տպման ձևի դասավորության անվանումը
Commands.Columns.Add («Օգտագործում», NewTypeDescription («Տող»)); // Call ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modifier", NewTypeDescription("Row"));
Վերադարձի թիմ;
EndFunction
Ընթացակարգ AddCommand (CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
NewCommand.View = View;
NewCommand.Identifier = Identifier;
NewCommand.Use = Օգտագործել;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Փոփոխիչ;
Ընթացակարգի ավարտը

  1. Պահպանեք դասավորությունը տպագրության համար որպես ֆայլ ձեր կոշտ սկավառակի ցանկացած թղթապանակում, անվանեք այն համապատասխան կերպով:

Նույն փաստաթղթում տեղադրեք ծրագրի ընտրացանկից տպագրությունը սկսելու կարգը (դեղինով ընդգծված հրամանները պետք է համապատասխանեն տողին).

Ավելացնել հրաման (Հրամանների աղյուսակ, «Արտաքին պատվեր», «Արտաքին պատվեր»):
Ընթացակարգ տպագրություն (օբյեկտների զանգված, տպագրության ձևերի հավաքածու, տպման օբյեկտներ, ելքային պարամետրեր) Արտահանում
Print Management. Output TabularDocumentIntoCollection(
Տպագրական ձևաթղթերի հավաքածու,
«Արտաքին պատվեր»
«Արտաքին պատվեր»
GeneratePrintForm (ArrayofObjects, PrintObjects);
EndProcedure // Տպել()

  1. Տեղադրեք տպագիր ձևը լրացնելու դասավորությունը՝ ներքևի ձախ անկյունում կտտացնելով արտաքին ձևի անվան վրա և ընտրելով «Դասավորություններ» - «Ավելացնել» - «Աղյուսակի փաստաթուղթ», անվանեք այն: Դրանից հետո լրացրեք աղյուսակը անհրաժեշտ տվյալներով։ Օրինակ:
    • Արտադրանքի No [Realization Number] պատվեր [Realization Date]-ից - սեղմեք աջ - Properties - Layout - Filling - Template:
    • Ստեղծեք այն սյունակները, որոնք ցանկանում եք հայտնվել ձեր փաստաթղթում:
    • Ընտրեք մուտքագրված բջիջները, սեղմեք Աղյուսակ - Անուններ - Նշանակեք անուն - մուտքագրեք անունը «Վերնագիր»:
    • Պատճենեք տողը աղյուսակի վերնագրերով, ընտրեք դրանք, սեղմեք աջով - Հատկություններ - Դասավորություն - Լրացում - Պարամետր:
    • Ընտրեք տող և անվանեք այն, օրինակ, «StringTCH»:
    • Ստեղծեք ստորագիր. գրեք Total, այն բջիջը, որում պետք է ցուցադրվի ընդհանուր գումարը, անվանեք այն TotalTotal, հատկությունների մեջ ընտրեք «Պարամետրեր»:
    • Նշեք պատասխանատու անձին, իսկ ազգանունը ցուցադրելու բջջի հատկություններում նշեք «Պարամետրեր»:
    • Ընտրեք ներքևի տողերը և անվանեք միջակայքը «Footer»:
  2. Այժմ մուտքագրման պատուհանում մուտքագրեք տպագիր ձևի ստեղծման գործառույթը.

Գործառույթ GeneratePrintForm (LinkToDocument, PrintObjects)
TabularDocument = Նոր TabularDocument;
TabularDocument.Name of Print Parameters = “PRINT_PARAMETERS_Invoice for Payment to VRTU”;
Processing Layout = GetLayout ("Payment InvoiceExternal");
//լրացնել վերնագիրը
AreaHeader = ProcessingLayout.GetArea("Header");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//ել վերնագիրը աղյուսակի փաստաթղթում
TabularDocument.Output(HeaderArea);
//լրացրեք PM տողերը
RowArea = ProcessingLayout.GetArea ("ROW");
Document Link.Products Cycle-ից յուրաքանչյուր ընթացիկ տողի համար
FillPropertyValues ​​(RowArea.Parameters, CurrentRow);
TabularDocument.Output (RowArea);
End Cycle;
//լցնել նկուղը
AreaFooter = ProcessingLayout.GetArea ("Footer");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Quantity");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total(«Գումար»);
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
// էջատակը դուրս բերեք աղյուսակի փաստաթղթին
TabularDocument.Output (AreaFooter);
TabularDocument.AutoScale = True;
վերադարձ TabularDocument;
EndFunction

  1. Պահպանեք ձեր փոփոխությունները փաստաթղթում:
  2. Այժմ դուք պետք է ակտիվացնեք ստեղծված ձևը: Սրա համար:
    • Գնացեք «Կառավարում» - «Տպագիր ձևեր, հաշվետվություններ և մշակում» - «Լրացուցիչ հաշվետվություններ և մշակում»:
    • Կտտացրեք «Ստեղծել» կոճակը, ընտրեք արտաքին ձևի ֆայլը Explorer-ում, հաստատեք ձեր մուտքը «Պահպանել և փակել» կոճակը:
  3. Ստուգելու համար անցեք Sales - Sales (ակտեր, հաշիվ-ապրանքագրեր), սեղմեք «Տպել» կոճակը, ընտրեք ձեր ձևը և ստուգեք, որ այն ճիշտ է լրացված:
  4. Անհրաժեշտության դեպքում տպեք փաստաթուղթը:

Եզրակացություն

Մենք դիտեցինք տպագրվող ձևի ստեղծման օրինակ՝ Print Designer-ի և արտաքին ձևեր ստեղծելու գործիքի միջոցով: Հուսով ենք, որ ամեն ինչ կստացվի ձեզ մոտ: Ձեր հարցերը թողեք մեկնաբանություններում։