Գործընկերներ!
Մենք շարունակում ենք 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.
![](https://i1.wp.com/buh.ru/images/external2/doc_1277_2.gif)
Բրինձ. 2
Երբ սեղմում եք «Ընտրել» կոճակը, կընտրվեն նշված պայմաններին համապատասխանող հաշիվ-ապրանքագրեր: Ընտրված հաշիվ-ապրանքագրերի ցանկը ավտոմատ կերպով կստեղծվի «Գրքերի և փաստաթղթերի խմբային մշակում» ձևի «Վերամշակում» ներդիրում: Գործողությունների ցանկից ընտրեք «Տպել փաստաթղթերը» (տես նկ. 3):
![](https://i2.wp.com/buh.ru/images/external2/doc_1277_3.gif)
Բրինձ. 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
Նման տպագիր ձևը չի ենթադրում խորը խմբագրման հնարավորություն, քանի որ դա կհանգեցնի ծրագրի կազմաձևման փոփոխություն, ինչպես նաև այն թարմացնելու հետագա դժվարություններ: Այնուամենայնիվ, եթե դուք լիովին գոհ եք ստանդարտ ձևից կամ ցանկանում եք խորանալ արտաքին ձևի ստեղծման բարդությունների մեջ, այս մեթոդը լիովին հարմար է ձեզ համար:
- Նախ, գործարկեք Կազմաձևիչի ռեժիմ, գտեք ձեզ անհրաժեշտ փաստաթուղթը, օրինակ՝ Ապրանքների և ծառայությունների վաճառք, փաստաթղթի հատկություններում անցեք Գործողություններ - Դիզայներներ - Տպման դիզայներ:
- Երբ ձեզ հուշում են աշխատանքային տարբերակ, ընտրեք Կանոնավոր ձևեր:
- Նոր դասավորությանը անուն տվեք, օրինակ՝ «Տպել հաշիվ-ապրանքագիր»:
- Ընտրեք այն մանրամասները, որոնք ցանկանում եք տեսնել փաստաթղթի վերնագրում: Ավելին, դրանք պետք է ընտրվեն այն հերթականությամբ, որով կցուցադրվեն։ Ընտրելու համար անհրաժեշտ է կուրսորով նշել ձախ սյունակում գտնվող տարրը և սեղմել էկրանի մեջտեղի սլաքը, որպեսզի մանրամասները հայտնվեն աջ սյունակում։
- Նշեք մանրամասները, որոնք կցուցադրվեն աղյուսակի բաժնում: Մանրամասների ընտրությունը կատարվում է նույն սկզբունքով, ինչ նախորդ պարբերությունում:
- Նույն կերպ ընտրեք փաստաթղթի ստորին հատվածի մանրամասները։
- Ստեղծման վերջին փուլում ընտրեք, թե արդյոք ցանկանում եք տպել անմիջապես առանց նախադիտման, արդյոք Ձեզ անհրաժեշտ է պաշտպանել աղյուսակը, այնուհետև հաստատել ձևի ստեղծումը OK կոճակով:
Արտաքին տպագրության ձևի ստեղծում
Print Designer-ի միջոցով ստեղծված ձևերը կարելի է համեմատել տեսողական ծրագրաշարի խմբագրիչի հետ, երբ դուք ձեռքով չեք մուտքագրում ամբողջ կոդը, այլ միայն այն կազմում եք առաջարկվող տարրերից: Արտաքին ձևը ձեռքով գրված ծրագրային կոդով ֆայլ է, որը նկարագրում է էկրանին տվյալների ցուցադրման կարգը։ Սա այն է, ինչը թույլ է տալիս խմբագրել տպագիր ձևը, ինչպես ցանկանում եք, նշելով բացարձակապես ցանկացած տվյալներ ցանկացած հաջորդականությամբ:
Լրացուցիչ առավելությունն այն է, որ նույնիսկ եթե դուք չեք հասկանում կամ պարզապես չեք ցանկանում հասկանալ 1C 8 ծրագրավորման բարդությունները, կարող եք այս ընթացակարգը վստահել մասնագետներին: Նրանք կկարողանան ձեզ համար պատրաստել անհրաժեշտ ձևը և տրամադրել այն որպես պատրաստի ֆայլ, որը կարող եք ակտիվացնել միայն կոճակի մի քանի սեղմումով։
Հիմա եկեք ավելի շատ խոսենք ինքնին ընթացակարգի մասին: Դիտարկենք «Վաճառք (ակտեր, հաշիվ-ապրանքագրեր)» փաստաթղթի համար «Invoice» դասավորության ստեղծման օրինակը:
- Բացեք 1C 8 ծրագիրը Configurator ռեժիմում:
- Սեղմեք Ֆայլ - Նոր - Արտաքին մշակում, անուն տվեք (այն չպետք է պարունակի բացատներ), այնուհետև սեղմեք Գործողություններ - Բացեք օբյեկտի մոդուլը:
- Բացվող մուտքագրման դաշտում մուտքագրեք հետևյալ կոդը (արժեքները, որոնք կարող են փոխվել ձեր սեփականի, ընդգծված են դեղինով).
Գործառույթը 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 = Փոփոխիչ;
Ընթացակարգի ավարտը
- Պահպանեք դասավորությունը տպագրության համար որպես ֆայլ ձեր կոշտ սկավառակի ցանկացած թղթապանակում, անվանեք այն համապատասխան կերպով:
Նույն փաստաթղթում տեղադրեք ծրագրի ընտրացանկից տպագրությունը սկսելու կարգը (դեղինով ընդգծված հրամանները պետք է համապատասխանեն տողին).
Ավելացնել հրաման (Հրամանների աղյուսակ, «Արտաքին պատվեր», «Արտաքին պատվեր»):
Ընթացակարգ տպագրություն (օբյեկտների զանգված, տպագրության ձևերի հավաքածու, տպման օբյեկտներ, ելքային պարամետրեր) Արտահանում
Print Management. Output TabularDocumentIntoCollection(
Տպագրական ձևաթղթերի հավաքածու,
«Արտաքին պատվեր»
«Արտաքին պատվեր»
GeneratePrintForm (ArrayofObjects, PrintObjects);
EndProcedure // Տպել()
- Տեղադրեք տպագիր ձևը լրացնելու դասավորությունը՝ ներքևի ձախ անկյունում կտտացնելով արտաքին ձևի անվան վրա և ընտրելով «Դասավորություններ» - «Ավելացնել» - «Աղյուսակի փաստաթուղթ», անվանեք այն: Դրանից հետո լրացրեք աղյուսակը անհրաժեշտ տվյալներով։ Օրինակ:
- Արտադրանքի No [Realization Number] պատվեր [Realization Date]-ից - սեղմեք աջ - Properties - Layout - Filling - Template:
- Ստեղծեք այն սյունակները, որոնք ցանկանում եք հայտնվել ձեր փաստաթղթում:
- Ընտրեք մուտքագրված բջիջները, սեղմեք Աղյուսակ - Անուններ - Նշանակեք անուն - մուտքագրեք անունը «Վերնագիր»:
- Պատճենեք տողը աղյուսակի վերնագրերով, ընտրեք դրանք, սեղմեք աջով - Հատկություններ - Դասավորություն - Լրացում - Պարամետր:
- Ընտրեք տող և անվանեք այն, օրինակ, «StringTCH»:
- Ստեղծեք ստորագիր. գրեք Total, այն բջիջը, որում պետք է ցուցադրվի ընդհանուր գումարը, անվանեք այն TotalTotal, հատկությունների մեջ ընտրեք «Պարամետրեր»:
- Նշեք պատասխանատու անձին, իսկ ազգանունը ցուցադրելու բջջի հատկություններում նշեք «Պարամետրեր»:
- Ընտրեք ներքևի տողերը և անվանեք միջակայքը «Footer»:
- Այժմ մուտքագրման պատուհանում մուտքագրեք տպագիր ձևի ստեղծման գործառույթը.
Գործառույթ 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
- Պահպանեք ձեր փոփոխությունները փաստաթղթում:
- Այժմ դուք պետք է ակտիվացնեք ստեղծված ձևը: Սրա համար:
- Գնացեք «Կառավարում» - «Տպագիր ձևեր, հաշվետվություններ և մշակում» - «Լրացուցիչ հաշվետվություններ և մշակում»:
- Կտտացրեք «Ստեղծել» կոճակը, ընտրեք արտաքին ձևի ֆայլը Explorer-ում, հաստատեք ձեր մուտքը «Պահպանել և փակել» կոճակը:
- Ստուգելու համար անցեք Sales - Sales (ակտեր, հաշիվ-ապրանքագրեր), սեղմեք «Տպել» կոճակը, ընտրեք ձեր ձևը և ստուգեք, որ այն ճիշտ է լրացված:
- Անհրաժեշտության դեպքում տպեք փաստաթուղթը:
Եզրակացություն
Մենք դիտեցինք տպագրվող ձևի ստեղծման օրինակ՝ Print Designer-ի և արտաքին ձևեր ստեղծելու գործիքի միջոցով: Հուսով ենք, որ ամեն ինչ կստացվի ձեզ մոտ: Ձեր հարցերը թողեք մեկնաբանություններում։