1c հաշվետվություններ և մշակում: Արտաքին մշակման ավելացում տվյալների բազայում

Գնացեք մենյուի վերևում Ծառայություն->->.

Հայտնվում է արտաքին մշակման տեղեկատու գրքի ցանկի ձևը։ Վերևի ընտրացանկում սեղմեք կոճակը Ավելացնել.

Կհայտնվի նոր օբյեկտ ավելացնելու ձև: Մենք սեղմում ենք բաց կոճակը և ընտրում ենք ցանկալի մշակմամբ ֆայլը: Ընտրելուց հետո ցանկալի ֆայլ, անհրաժեշտության դեպքում նշեք բուժման անվանումը (Անվանման դաշտ): Դրանից հետո անհրաժեշտ է սեղմել OK՝ կատարված փոփոխությունները պահպանելու համար։

Դրանից հետո կատալոգի նյութ ստեղծելու պատուհանը փակվում է, և դուք նորից տեղափոխվում եք ցուցակի ձև, որում արդեն կա նոր մշակում։

Այսքանը: Կազմաձևին մշակման ավելացման գործընթացը ավարտված է: Այս մշակումը հետագայում բացելու համար հետևեք հին ուղուն. Ծառայություն->Լրացուցիչ հաշվետվություններ և մշակում->Լրացուցիչ արտաքին բուժում.

BP 3.0, ZUP 3.0, UT 11, ERP 2.0 համար:

Արտաքին բուժում 1C. Enterprise 8-ը մի քանի տեսակի են: Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կցել մշակումը խմբաքանակի փոփոխության և մշակման համար՝ հատուկ օբյեկտներ լրացնելու համար:

Առաջին դեպքի համար ավելացնենք վերամշակում Excel-ից բաժնետոմսերի ցանկը լրացնելու համար։

Գնացեք ծրագրի համապատասխան բաժին.


Անհրաժեշտ է, որ լրացուցիչ հաշվետվությունների օգտագործման և մշակման նշան դրվի, հետևեք արտաքին օբյեկտների ցանկի հիպերհղմանը.

Ցանկում սեղմեք Ստեղծել:


Բացվող երկխոսության վանդակում ընտրեք մշակվող ցանկալի ֆայլը.


Ծրագրում նոր արտաքին օբյեկտի քարտը լրացված է, մնում է միայն կարգավորել կացարան(ծրագրի բաժիններ, որոնցից հասանելի կլինի մշակումը).


Որպես տեղաբաշխում ընտրեք կամայական բաժին (կամ մի քանի).


Մենք գրում և փակում ենք արտաքին օբյեկտի քարտը.


Այժմ եկեք բացենք մշակումը ինտերֆեյսից.


Ցանկը դատարկ է, սեղմեք Անհատականացրեք ցուցակը:


Մենք ընտրում ենք մեր մշակումը.


Այն այժմ հասանելի է ընտրության համար: Մշակումը բացելու համար հարկավոր է սեղմել Կատարել:


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


Ցանկության դեպքում տեղաբաշխման ցանկը կարող է ճշգրտվել ( մի ավելացրեք լրացուցիչ տեղադրություն, այլ հեռացրեք ավելորդը):


Փոփոխությունն ընդունելու համար պետք է գրանցվի նաև արտաքին օբյեկտի քարտը։

Մշակումն օգտագործելու համար պետք է գնալ կոնկրետ բազային օբյեկտ (տեղաբաշխման ցանկից), սեղմել Լրացնելհրամանի վահանակում և ընտրեք հրամանը.

Ուշադրություն.
ITS սկավառակներից բոլոր մշակումները նախատեսված են տեղեկատվական նպատակներով և բացառապես գրանցված ITS օգտվողների համար:

Օբյեկտների ընտրություն և մշակում: (Ունիվերսալ)

Փաստաթղթերում և գրացուցակներում որոնում է առարկաներ, որոնք համապատասխանում են որոշակի պայմաններին: Մշակում է որոնման արդյունքները:

Տեղեկատվական բազայի ծալում: (Ունիվերսալ)

Գլորում է տեղեկատվական անվտանգության բնորոշ կոնֆիգուրացիաները.

  • SCP 3.1.
  • BP 1.6.
  • UT 10.3.

Փոփոխությունների գրանցում փոխանակման համար. (Ունիվերսալ)

Խմբագրում է կառավարվող հավելվածի ռեժիմում փոխանակման օբյեկտների փոփոխությունների գրանցումը: Թույլ է տալիս փոխել ընթացիկ գրանցումը տարբեր հանգույցների վրա: Փոխում է ստացված և ուղարկված հաղորդագրությունների թիվը:

Փոխակերպել օգտվողի գործունեության մատյանը: (Ունիվերսալ)

Փոխակերպում է օգտատիրոջ գործունեության գրանցամատյանը ներկառուցված ծրագրի:

Ամբողջական տեքստային տվյալների որոնում: (Ունիվերսալ)

Ինդեքսավորում և որոնում տվյալների մեջ:

Արժեքների որոնում և փոխարինում: (Ունիվերսալ)

Որոնում և փոխարինում է հղման արժեքները IB օբյեկտներում:

Տեխնոլոգիական գրանցամատյանի ստեղծում: (Ունիվերսալ)

Ստեղծում կամ խմբագրում է տեխնոլոգիական մատյան ֆայլ: Ունի կարողություն կարգավորել աննորմալ ավարտի աղբանոց ստեղծելը, կարգավորել պայմաններն ու իրադարձությունները, որոնց առաջացման դեպքում տեղեկատվությունը կգրվի այս մատյանում:

Quest Console. (Ունիվերսալ)

Հետևում է ֆոնային և պլանավորված աշխատանքներին: Ջնջում է, ստեղծում նորերը։

Արտաքին բուժումների փոխակերպում. (Ունիվերսալ)

Գաղտնի տեղեկատվության փոփոխություն. (Ունիվերսալ)

Տեղեկատվական անվտանգության ընտրովի փոփոխություն կամ մաքրում որոշակի տեղեկատվությունից:

Մանրամասների խմբային փոփոխություն. (Ունիվերսալ)

Փոփոխում է փաստաթղթերի և տեղեկատու գրքերի մանրամասները և աղյուսակային բաժինները:

Օգտագործողների բեռնաթափում և բեռնում: (Ունիվերսալ)

Բեռնաթափում և բեռնում է IB օգտվողներին XML ֆայլի մեջ:

Տվյալների վերբեռնում արտաքին տվյալների բազաներում: (Ունիվերսալ)

Վերբեռնում է տվյալների կառուցվածքները արտաքին DBMS՝ օգտագործելով ADO երկու ռեժիմով.

  • Բեռնել բոլորը
  • Վերբեռնման փոփոխություններ (օգտագործվում է աշխատանքային IS-ի փոփոխությունները համաժամեցնելու համար, IS-ի հետ՝ ստացողի հետ): Այս ռեժիմը օգտագործում է փոխանակման պլանի մեխանիզմներ:

Աջակցում է հետևյալ DBMS-ին.

  • Microsoft SQL
  • IBM DB2
  • Oracle
  • PostgreSQL
  • MySQL

XML տվյալների բեռնաթափում և բեռնում: (Ունիվերսալ)

Բեռնաթափում և բեռնում է տվյալները IB-ում՝ և՛ ամբողջությամբ, և՛ մասամբ: Այն օգտագործվում է նմանատիպ օբյեկտների կազմով կոնֆիգուրացիաների միջև տվյալների փոխանցման համար:

Տվյալների բեռնում աղյուսակային փաստաթղթից: (Ունիվերսալ)

Այն բեռնում է տվյալները գրացուցակներում և աղյուսակային փաստաթղթերից:

Աշխատում է հաստ հաճախորդի մեջ որպես սովորական հավելված:

Հարցման վահանակ: (Ունիվերսալ)

Տրամադրում է հսկայական օգնություն հաշվետվությունների և հարցումներ ստեղծելու հարցում:

Շատ հաճախ, երբ խորհրդակցության ժամանակ բարդ խնդիր է առաջանում, ես առաջարկում եմ իմ հաճախորդներին այն իրականացնել 1C ծրագրում՝ օգտագործելով կամ. արտաքին մշակումկամ արտաքին տպագրական ափսե... Եվ ես հաճախ հանդիպում եմ այն ​​փաստի, որ մարդը պարզապես ծանոթ չէ 1C Enterprise 8-ի ծրագրերի այս հնարավորությանը: Երբեմն նրանք նույնիսկ հայհոյում են ինձ՝ հավատալով, որ իրենց կոնֆիգուրացիաներում նման մշակման մշակումն ու իրականացումը կհանգեցնի անհնարինության: ավտոմատ կերպով թարմացնել ծրագիրը: Որ ծրագիրը թարմացնելու համար պետք է մեծ գումարներ վճարել։

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

Հոդվածում կքննարկվեն լրացուցիչ արտաքին խցանման օբյեկտների հետևյալ տարբերակները.

  • Աղյուսակային հատվածների լրացուցիչ արտաքին մշակում;
  • Լրացուցիչ արտաքին տպագրական թիթեղներ;
  • Լրացուցիչ արտաքին հաշվետվություններ;
  • Լրացուցիչ արտաքին բուժում.

Որոնք են լրացուցիչ արտաքին մշակումը, հաշվետվությունները և տպագրվող ձևերը




Սկզբից ես կցանկանայի ընդհանուր առմամբ խոսել որոնք են այդ արտաքին մշակման, հաշվետվությունների և տպագրության ձևերը... Շատ հաճախ, երբ աշխատում եք տիպիկ կոնֆիգուրացիայի հետ, լինի դա 1C ZUP կամ 1C Enterprise Accounting կամ որևէ այլ կոնֆիգուրացիա, անհրաժեշտություն է առաջանում որոշ գործառույթների, որոնք չեն տրամադրվում 1C-ի մշակողների կողմից: Օրինակ, ձեզ կարող է անհրաժեշտ լինել տպագիր ձև, որը կանոնակարգված չէ, բայց օգտագործվում է կազմակերպության ներքին կարիքների համար։ Կամ պահանջվում է որոշակի ձևով գործընթաց (փոփոխել, ուղղել)հասանելի է տվյալների բազայում: Օրինակ՝ փաստաթղթերում որոշակի հատկանիշ փոխել անհրաժեշտ ժամանակահատվածի համար, ինչը անհարմար է ձեռքով անել մեծ քանակությամբ տեղեկատվության հետ:

Այս դեպքում երկու տարբերակ կա. Առաջին, մենք կարող ենք փոփոխել ինքնին կոնֆիգուրացիան, հենց ծրագիրը։ Դրանից հետո այն կդադարի բնորոշ լինել և կթարմացնի այն ավելի շուտ դրանցով պարզ ուղիներով, որի մասին գրել եմ, չի աշխատի։ Ատիպիկ կոնֆիգուրացիայի թարմացումը ավելի երկար և ավելի լուրջ գործընթաց է, հետևաբար, այս մոտեցմամբ, դուք, ամենայն հավանականությամբ, ստիպված կլինեք ամսական վճարել 1C մասնագետին ծրագրի թարմացման համար: Երկրորդտարբերակ է մշակել կամ խնդրել մշակել արտաքին մշակման կամ տպագիր ձև (զեկույց): Սա, ըստ էության, արտաքին մոդուլ է, որը նույնպես մշակված է 1C ծրագրավորման լեզվով Կոնֆիգուրատորում, բայց փոփոխություններ չի կատարում բնորոշ կազմաձևում: Այն գոյություն ունի ինքնուրույն կոնֆիգուրացիայից անկախ: Դրանք պահելու համար օգտագործվում են հատուկ տեղեկատու գրքեր՝ «Ծառայություն» հիմնական ընտրացանկի կետը -> «Լրացուցիչ հաշվետվություններ և մշակում»:

Լրացուցիչ արտաքին մշակում՝ աղյուսակային հատվածները լրացնելու համար

Սեմինար «Life hacks on 1C ZUP 3.1» սեմինար
1s ZUP 3.1-ում հաշվապահական հաշվառման համար 15 կյանքի հաքերների վերլուծություն.

1C ZUP 3.1-ում աշխատավարձերի ցուցակը ստուգելու համար
ՏԵՍԱՆՅՈՒԹ - ամսական ինքնաստուգումհաշվապահական հաշվառում:

Աշխատավարձը 1C ZUP 3.1-ում
Քայլ առ քայլ հրահանգսկսնակների համար.

Հիմա եկեք տեսնենք, թե չորսից յուրաքանչյուրը ինչ հնարավորություններ ունի արտաքին մոդուլներ... Սկսենք նրանից աղյուսակային հատվածների արտաքին մշակում... Ինձ թվում է, որ փաստաթղթերի աղյուսակային բաժինների այս մշակումը առավելապես ցույց է տալիս, թե ինչպես կարող եք լրջորեն փոփոխել ծրագիրը, մինչդեռ չդիմելով սովորական կոնֆիգուրացիան խմբագրելուն, այլ օգտագործելով միայն արտաքին մշակումը:

Որպեսզի ավելի պարզ լինի, ես կոնկրետ օրինակ բերեմ իմ պրակտիկայից, որում ես օգտագործել եմ աղյուսակային հատվածների արտաքին մշակում... «1C աշխատավարձ և մարդկային ռեսուրսների կառավարում» 2.5 տարբերակի կոնֆիգուրացիայում կա փաստաթուղթ. «Վճարում արձակուրդների և հանգստյան օրերի համար»(այս փաստաթուղթը գրված է մանրամասն): Վ բնորոշ ձևայս փաստաթուղթը հնարավորություն է տալիս աշխատակիցների կողմից ավտոմատ կերպով լրացնել աղյուսակային բաժինը «Տոնական օրերին»:

Հաշվապահը խնդրել է իրականացնել այս փաստաթուղթը լրացնելու հնարավորությունը այն աշխատողների կողմից, որոնց աշխատանքային օրերը ընկել են հանգստյան օրերին՝ ըստ ժամանակացույցի, այսինքն. «Աշխատում ենք հանգստյան օրերին».

Այս ֆայլը վերբեռնվել է գրացուցակ «Աղյուսակային հատվածների արտաքին մշակում»(մենյուի կետ «Ծառայություն» -> «Լրացուցիչ հաշվետվություններ և մշակում» -> «Աղյուսակային բաժինների լրացուցիչ արտաքին մշակում»): Այս գրացուցակի տարր ստեղծելիս նշվել է, թե որ փաստաթղթի վրա է վերաբերում բեռնված մշակումը` «Վճարում կազմակերպության արձակուրդների և հանգստյան օրերի համար», ինչպես նաև աղյուսակային որ բաժնի վրա` «Աշխատակիցներ»: Մեր օրինակում փաստաթուղթն ունի մեկ աղյուսակային բաժին, բայց այլ փաստաթղթերում կարող են լինել դրանցից մի քանիսը, հետևաբար, պահանջվում է հատուկ նշել, թե դրանցից որին է վերաբերում մշակումը:

Այս մշակումը գրացուցակում ավելացնելու արդյունքում «Լրացուցիչ արտաքին մշակում՝ աղյուսակային հատվածները լրացնելու համար»«Վճարում արձակուրդների և հանգստյան օրերի համար» փաստաթղթում կլինի «Լրացնել» կոճակը բացվող ցանկով, որում հնարավոր կլինի սկսել այս մշակումը: Մեր դեպքում «Լրացրեք կիրակիները» կոճակը հասանելի է բացվող ցանկում: Սեղմելով այն՝ գործարկում է մշակվող ալգորիթմը: Այս օրինակում աղյուսակային բաժինը կլցվի աշխատողներով, որոնց աշխատանքային օրերը ընկել են շաբաթ և կիրակի: Խնդրում ենք նկատի ունենալ, որ այս կոճակը նախկինում չի եղել (սքրինշոթը վերևում):

Այս մեխանիզմը թույլ է տալիս լուծել հարցերի շատ լայն շրջանակ՝ առանց ինքնին կոնֆիգուրացիան փոփոխելու: Հետևաբար, ես բավականին հաճախ օգտագործում եմ այս հնարավորությունը հաճախորդների առաջադրանքները իրականացնելու համար:

Լրացուցիչ արտաքին տպագրական թիթեղներ

Սեմինար «Life hacks on 1C ZUP 3.1» սեմինար
1s ZUP 3.1-ում հաշվապահական հաշվառման համար 15 կյանքի հաքերների վերլուծություն.

1C ZUP 3.1-ում աշխատավարձերի ցուցակը ստուգելու համար
ՏԵՍԱՆՅՈՒԹ - հաշվապահական հաշվառման ամսական ինքնաստուգում.

Աշխատավարձը 1C ZUP 3.1-ում
Քայլ առ քայլ հրահանգներ սկսնակների համար.

Այս տարբերակը շատ նման է նախորդին: Դուք, ամենայն հավանականությամբ, տեսել եք և գիտեք, որ գրեթե յուրաքանչյուր փաստաթուղթ և նույնիսկ գրացուցակների որոշ տարրեր ունեն տպվող ձևեր: Նրանք, որպես կանոն, գտնվում են կատալոգի առարկայի կամ փաստաթղթի ձևի ստորին աջ անկյունում: Երբեմն ստանդարտ տպագիր ձևերը բավարար չեն: Օրինակ, կազմակերպությունը կարող է ունենալ աշխատանքային պայմանագրի իր ձևը: Հիշեցնեմ, որ «Աշխատանքային պայմանագիր» ստանդարտ տպագիր ձևը ներառված է «Աշխատակիցներ» տեղեկատուի ձևում։

Դուք կարող եք ավելացնել ձեր սեփականը տեղեկատուի այս տպագիր ձևերին: Դրա համար ստեղծվում է արտաքին տպագիր «.epf» ընդլայնմամբ: Այնուհետև դրա համար ստեղծվում է գրացուցակի տարր: «Լրացուցիչ արտաքին տպագրական թիթեղներ»(մենյուի տարր «Ծառայություն» -> «Լրացուցիչ հաշվետվություններ և մշակում») և «.epf» ընդլայնմամբ ֆայլ ավելացվել է տեղեկատուի այս տարրին: Անհրաժեշտ է նաև նշել, թե որ փաստաթղթի կամ տեղեկանքի համար է ավելացված մշակումը։

Արդյունքում «Աշխատակիցներ» գրացուցակի տարրերի տպագիր ձևաթղթերում կհայտնվի մեկ այլ ձև՝ «Աշխատանքային պայմանագիր (ՍՊԸ Ալֆա)», որը նախկինում գոյություն չուներ։ Եվ նա տեսքըիսկ տվյալների լրացումը սահմանում է ծրագրավորողը «.epf» ֆայլում:

Փաստաթղթերի և տեղեկատու գրքերի համար անհրաժեշտ տպագրվող ձևերը ավելացնելու այս ունակությունը նույնպես շատ հաճախ պահանջարկ ունի և, իմ կարծիքով, 1C Enterprise հարթակի ծրագրերի բավականին հարմար գործառույթ է:

Լրացուցիչ արտաքին հաշվետվություններ

Այս դեպքում դուք կարող եք զարգանալ արտաքին հաշվետվություն... Դա «.erf» ֆայլ է: Հենց այս ֆայլը կորոշի հաշվետվության տեսքը, կոնֆիգուրացիայի ինչպիսի տվյալներ կօգտագործի այն և ինչ կազմաձևման տվյալներ կպահանջվի օգտագործողից (օրինակ՝ ժամանակաշրջան, ընտրություն ըստ աշխատողի կամ բաժանմունքի): Ֆայլը ստեղծվել է 1C կոնֆիգուրատորում 1C ծրագրավորման լեզվով:

Արտաքին հաշվետվությունը կարող է պահվել որպես կազմաձևման մաս՝ օգտագործելով «Լրացուցիչ արտաքին հաշվետվություններ» հղումը (մենյուի կետ «Ծառայություն» -> «Լրացուցիչ հաշվետվություններ և մշակում»): Դրանք կապված չեն կոնկրետ փաստաթղթի կամ տեղեկատու գրքի հետ, այս տեղեկատվությունը պարտադիր չէ:

Պահպանման այս տարբերակով հաշվետվությունը գործարկվում է նույն գրացուցակից (կրկնակի սեղմումով):

Կարող եք նաև գործարկել արտաքին հաշվետվություն՝ օգտագործելով «Ֆայլ» -> «Բացել» ընտրացանկի տարրը: Այս տարբերակը կարող է օգտագործվել, եթե ձեզ համար ավելի հարմար է արտաքին հաշվետվությունները պահել ոչ թե ծրագրի շրջանակներում, այլ պարզապես համակարգչային թղթապանակներում:

Լրացուցիչ արտաքին բուժում

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

օրինակ, վճարման համար քաղվածքների բեռնաթափման մշակում աշխատավարձերը... Չնայած ZUP-ում ստանդարտ մշակման առկայությանը (կարդացեք դրա մասին), երբեմն այն կարող է հարմար չլինել որոշակի բանկի համար, և մշակվում է արտաքին մշակում, որը փոխակերպում և բեռնաթափում է տեղեկատվությունը անհրաժեշտ ձևաչափով:

Ես կտամ ևս մեկ օրինակամբողջովին unpretentious, բայց բավականին պահանջված վերամշակում. Եթե ​​տարվա ընթացքում 1C ZUP-ում չեք պահում «Անձնական եկամտահարկի փոխանցում բյուջե» փաստաթուղթը, ապա տարվա համար 2-անձնական եկամտահարկ ձևավորելիս յուրաքանչյուր աշխատակցի համար «Թվարկված» դաշտը կլինի զրո, որը. սովորաբար իրականում սխալ է: Ամբողջ տարվա համար «Անձնական եկամտահարկի փոխանցում բյուջե» փաստաթուղթը մուտքագրելը կարող է բավականին հոգնեցուցիչ լինել՝ հաշվի առնելով բուն փաստաթղթի առանձնահատկությունները: Բայց դուք կարող եք կատարել արտաքին մշակում, որը ստեղծված 2-NDFL-ում պարզապես կլրացնի «Թվարկված» դաշտը յուրաքանչյուր աշխատակցի համար՝ հիմնվելով «Հաշվարկված» դաշտի արժեքների վրա: Սովորաբար հաշվապահներին իսկապես դուր է գալիս այս տարբերակը:

Արտաքին մշակումն ունի պահեստավորման և գործարկման ճիշտ նույն երկու տարբերակները. կամ օգտագործեք հղումը «Լրացուցիչ արտաքին բուժում»(մենյուի տարր «Գործիքներ» -> «Լրացուցիչ հաշվետվություններ և մշակում»), կամ ընտրացանկի հիմնական տարրը «Ֆայլ» -> «Բացել»:

Այսքանն է այսօրվա համար:

Նոր հրապարակումների մասին առաջինը իմանալու համար բաժանորդագրվեք իմ բլոգի թարմացումներին.

Մտածեք 1c 8-ում արտաքին հաշվետվություն ստեղծելու մասին՝ առանց տվյալների կազմման համակարգ օգտագործելու: Արտաքին հաշվետվություն ստեղծելու համար մենք կօգտագործենք Accounting 2.0 կոնֆիգուրացիան, նախնական տվյալները. «Գրել հաշվետվություն 62 հաշվի վերաբերյալ հաշվառումորում նշված ժամանակահատվածի շրջանառությունները կցուցադրվեն համատեքստում Կողմնակիցներև Կապալառուի պայմանագրեր.

1. Ստեղծեք հաշվետվություն

Նախևառաջ, մենք կստեղծենք արտաքին հաշվետվության ֆայլ, դրա համար մենք գնում ենք 1c 8 ռեժիմում Կոնֆիգուրատոր, գնացեք մենյու Ֆայլ -> Նորկամ սեղմեք պատկերակի վրա նոր փաստաթուղթ.

Ցանկում ընտրեք նյութը Արտաքին հաշվետվություն... Արտաքին զեկույցը ստեղծելուց հետո տվեք այն Անուն (օրինակ Ամենապարզ զեկույցը) և պահիր այն սկավառակի վրա: Մենք նաև կավելացնենք երկու հենարան. Ժամանակաշրջանի սկիզբև Ժամանակաշրջանի ավարտտիպ ամսաթիվը, մեզ պետք կգան, որպեսզի սահմանափակեն տվյալների նմուշառման ժամանակային ընդմիջումը հաշվետվություն ստեղծելիս:

2. Արտաքին զեկույցի դասավորության ստեղծում

1c 8-ում հաշվետվություն ստեղծելու համար ձեզ հարկավոր է դասավորություն, սա տվյալների ցուցադրման ձևանմուշ է, որում բոլորը ցանկալի պարամետրեր, գծված են աղյուսակներ և այլն։ Եկեք ավելացնենք նոր դասավորություն, դրա համար հաշվետվության մետատվյալների ծառում ընտրեք տարրը Դասավորություններև սեղմեք կոճակը Ավելացնել, ստեղծելիս ընտրում ենք դասավորության տեսակը Աղյուսակային փաստաթուղթ.

Մեր դասավորությունը կունենա 4 տարածք.

  • Վերնագիր - այս տարածքում մենք կցուցադրենք հաշվետվության անվանումը, այն ժամանակահատվածը, որի համար այն ստեղծվել է և աղյուսակի վերնագիրը.
  • DataContractor - այս ոլորտում մենք կցուցադրենք տվյալները աղյուսակում գտնվող գործընկերոջ մասին.
  • Կապալառուի պայմանագրի տվյալները - այս ոլորտում մենք աղյուսակում կցուցադրենք կոնտրագենտի պայմանագրի վերաբերյալ տվյալները.
  • Նկուղ - այս տարածքում մենք կցուցադրենք եկամուտների և ծախսերի դաշտերի ամբողջ հաշվետվության հանրագումարները:

Եկեք սկսենք ստեղծել դասավորության տարածքները: Դասավորության մեջ տարածք ստեղծելու համար ընտրեք անհրաժեշտ թվով տողեր և սեղմեք Սեղանի ընտրացանկ -> Անուններ -> Նշանակել անուն(Կամ Ctrl + Shift + N): Դեպի տարածք Գլխարկգրեք հաշվետվության անվանումը. Շրջանառություն 62 հաշիվ, եկեք նկարենք գործիքով Սահմաններհաշվետվության վերնագիր, ինչպես նաև սահմանել պարամետրերը Ժամանակաշրջանի սկիզբև Ժամանակաշրջանի ավարտ... Օգտագործելով պարամետրերը, դուք կարող եք ցուցադրել անհրաժեշտ տվյալները զեկույցում, մենք դրանով կզբաղվենք զարգացման հաջորդ փուլում, մասնավորապես, զեկույցի ծրագրային կոդը գրելիս: Դասավորության մեջ պարամետր ստեղծելու համար ընտրեք ցանկալի բջիջը, մեջը գրեք պարամետրի անունը (առանց բացատների), աջ սեղմեք դրա վրա, բացվող մենյուում ընտրեք տարրը. Հատկություններ... Էջանիշի բջիջների հատկություններում Դասավորությունընտրեք լցոնումը Պարամետր.

Դրանից հետո բջիջի պարամետրի անունը կփակվի անկյունային փակագծերում (»<>«). Արդյունքում տարածքը Գլխարկպետք է այսպիսի տեսք ունենա.

-ի տարածքում Data Contractorգործիքի միջոցով մենք կստեղծենք կոնտրագենտի անվանումը, ինչպես նաև 62 հաշիվների եկամուտների և ծախսերի ցուցադրման պարամետրեր. ՍահմաններՏարածքը դասավորենք սեղանի շարքի տեսքով։

-ի տարածքում Data Contractor պայմանագիրՊայմանագրի անվանումը ցուցադրելու, ինչպես նաև 62 հաշվի մուտքերի ու ծախսերի համար պարամետրեր կստեղծենք՝ օգտագործելով Borders գործիքը, տարածքը կդասավորենք աղյուսակի տողի տեսքով։ Եկեք պարամետրի դիմաց մի փոքր նահանջ անենք Կապալառուի պայմանագիր(Դա կարելի է անել՝ բաժանելով և միաձուլելով բջիջները: Աջ սեղմելով բջիջի վրա -> Համատեղելկամ Կոտրել բջիջը), դա անհրաժեշտ է, որպեսզի հաշվետվության մեջ երևա, որ պայմանագրով նախատեսված տողը հիերարխիայում ավելի ցածր է, քան կոնտրագենտի համար նախատեսված տողը:

-ի տարածքում ՆկուղԵկեք պարամետրեր ստեղծենք մուտքերի և ծախսերի հանրագումարների համար:

Արդյունքում, մենք պետք է ստանանք այսպիսի դասավորություն.

3. Հաշվետվության ձևի ստեղծում

Տվյալների ելքի համար՝ սահմանելով ձևավորման ժամանակահատվածը և կոճակները Ձևավորելմեր հաշվետվության ձևը կպահանջվի: Ձև ստեղծելու համար գտնեք տարրը արտաքին հաշվետվության մետատվյալների ծառում Ձևաթղթերև սեղմեք կոճակը Ավելացնել... Ձևաստեղծի առաջին էջում որևէ փոփոխություն պետք չէ կատարել, պարզապես անհրաժեշտ է սեղմել կոճակը Հետագա.

Վրա հաջորդ էջըկոնստրուկտոր, մենք ընտրում ենք երկու հասանելի հենարանները ( Ժամանակաշրջանի սկիզբ, Ժամանակաշրջանի ավարտ) ձևաթղթի վրա տեղադրելու համար:

Արդյունքում մենք ստանում ենք հետևյալ ձևը.

Բայց այս ձևով դա մեզ չի համապատասխանում, մենք դրանում որոշակի փոփոխություններ կանենք.

  • Քաշեք կոճակը Ձևավորելհաշվետվության ներքևի վահանակից մինչև վերև (սա ավելի հարմար կլինի օգտագործողի համար);
  • Ձգեք ձևը ուղղահայաց և հորիզոնական;
  • Դասավորեք դաշտերը Ժամանակաշրջանի սկիզբև Ժամանակաշրջանի ավարտհորիզոնական;
  • Ձևին ավելացրեք հսկիչ տարր Աղյուսակային փաստաթղթի դաշտը (մեր զեկույցը կցուցադրվի դրանում), անուն տվեք TabDoc;
  • Եկեք ստեղծենք կետ ընտրելու կոճակ (երբ սեղմեք այն, կցուցադրվի անհրաժեշտ ժամկետի հարմար ընտրությամբ երկխոսություն): Մենք դեռ չենք գրի դրա ծրագրային կոդը, ուստի պարզապես կոճակը կտեղադրենք կետի դաշտերի կողքին։

Արդյունքում մեր ձևը կունենա հետևյալ տեսքը.

4. Ծրագրավորում

Հաշվետվության ձևը ստեղծելուց հետո սկսենք ծրագրավորումը։ Սկզբից մենք կստեղծենք ժամանակաշրջանի ընտրության երկխոսության ցուցադրման ընթացակարգ (նախորդ քայլում մենք արդեն ստեղծել ենք դրա կոճակը): Աջ սեղմեք կոճակի վրա և ընտրեք ցանկի տարրը Հատկություններ, կոճակի հատկություններում անցեք ներդիր Իրադարձություններ, որտեղ, օգտագործելով խոշորացույցի պատկերակով կոճակը, ստեղծեք ընթացակարգ Կոճակ 1 Սեղմեքձևի մոդուլում:

Դուք կարող եք անցնել ձևի և դրա մոդուլի միջև՝ օգտագործելով ձևի ներքևի ներդիրները

Ժամանակաշրջանի ընտրության ձևը զանգահարելու համար մենք կօգտագործենք ստանդարտ ընթացակարգը Հաշվապահություն 2.0ընդհանուր մոդուլից WorkingWith Dialogs - HandlerSettingPeriodPressing, դրա մեջ պետք է փոխանցեք հաշվետվության մանրամասները՝ որպես պարամետրեր Ժամանակաշրջանի սկիզբև Ժամանակաշրջանի ավարտ.

Ընթացակարգը Կոճակ 1 Սեղմեք (տարր) WorkingWith Dialogues.HandlerPeriodSettingPressing (PeriodBeginning, PeriodEnd); Ընթացակարգի ավարտը

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

TabDoc = Form Elements.TabDoc;

Ստացեք արտաքին զեկույցի դասավորությունը՝ օգտագործելով գործառույթը Ստացեք դասավորություն (<ИмяМакета>) , մենք կփոխանցենք դասավորության անվանումը պարամետրին, և եթե այդպիսի դասավորություն կա, ապա ֆունկցիան կգտնի այն։

Layout = Ստանալ Layout («Layout»);

Դասավորությունը ստանալուց հետո մենք կստեղծենք փոփոխականներ դրա յուրաքանչյուր տարածքի համար, մենք դրա համար կօգտագործենք դասավորության մեթոդը: GetArea (<ИмяОбласти>) .

AreaHeat = Layout.GetArea ("Header"); ScopeDataContractor = Layout.GetScope ( «Data Contractor»); ScopeDataContract = Layout.GetScope ("ContractData"); AreaFooter = Layout.GetArea ("Footer");

Եկեք մաքրենք աղյուսակի փաստաթղթի դաշտը: Դա անհրաժեշտ է, որպեսզի հաշվետվության յուրաքանչյուր նոր սերնդի հետ հին տվյալները ջնջվեն:

TabDoc.Clear ();

Այժմ, երբ փոփոխականների սկզբնավորումն ավարտված է, եկեք անցնենք դասավորության տարածքների հերթափոխով լրացմանը և ցուցադրմանը: Սկսենք գլխարկից: Եթե ​​հիշում եք, այս ոլորտում երկու պարամետր ենք ստեղծել. Ժամանակաշրջանի սկիզբև Ժամանակաշրջանի ավարտ, մենք այնտեղ կփոխանցենք հաշվետվության ստեղծման ժամանակաշրջանի արժեքները, դրա համար կօգտագործենք գույքը Պարամետրերդասավորության տարածքը.

AreaHead.Parameters.PeriodStart = PeriodStart; AreaHead.Parameters.EndPeriod = EndPeriod;

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

TabDok.Display (AreaHap);

Հաջորդիվ մենք հարցում կգրենք տվյալների բազա, որով կվերցնենք հաշվի շրջանառությունները 62 հաշվապահական հաշվառման գրանցամատյանից Ինքնապահովվող... Եկեք սահմանենք փոփոխական, որում կտեղակայվի մեր հարցումը։

Request = նոր հարցում;

Նախքան հարցման տեքստը գրելը, եկեք նրան փոխանցենք պահանջվող պարամետրերը։ Քանի որ մենք հաշիվ-ապրանքագրի հարցում ենք գրում 62 հաշվապահություն, ապա առաջին հերթին դրա համար կստեղծենք պարամետր

Request.SetParameter ("Account62", Account Plans. Self-supporting.FindByCode ("62"));

Անհրաժեշտ է նաև հաշվետվության ստեղծման ժամկետը փոխանցել հարցումին: Մի մոռացեք, որ ձևավորման ժամանակահատվածի համար մենք ունենք հաշվետվության հատուկ մանրամասներ և դրանք փոխանցում ենք որպես պարամետրեր։

Request.SetParameter («PeriodBeginning», PeriodBeginning); Request.SetParameter («EndPeriod», EndPeriod);

Սկսենք գրել հարցման տեքստը, մենք դա կանենք՝ օգտագործելով հարցումների կոնստրուկտորը։ Շատերի մեջ ուսումնական նյութերգրեք, որ դուք պետք է կարողանաք հարցում գրել և՛ ձեռքով, և՛ կոնստրուկտորի միջոցով, բայց գործնականում դա այդպես չէ: 1C ծրագրավորողի կողմից անընդհատ առնչվող խնդիրներում առաջնահերթությունը կոդ արագ և արդյունավետ գրելն է, իսկ տվյալների բազայի հարցում ձեռքով գրելիս դա գրեթե անհնար է հասնել, դուք շատ թանկ ժամանակ կծախսեք՝ փորձելով ճիշտ վերարտադրեք հարցումների բոլոր կառուցվածքները, գտեք տառասխալները, որոնք արել եք գրելիս և այլն: Հետևաբար, մի վատնեք ձեր ժամանակը ձեռքով հարցումներ գրելու վրա, այլ օգտագործեք հարցումների կոնստրուկտորը: Դա կխնայի ձեր ժամանակը և հատուկ ջանքերգրել բարդ հարցումներ. Հարցման տեքստը գրելը սկսելու համար ծածկագրում գրեք.

Request.Text = "";

Դրանից հետո կուրսորը դրեք չակերտների միջև, սեղմեք մկնիկի աջ կոճակը և ընտրեք տարրը Կոնստրուկտորխնդրանք. Հարցման դիզայների պատուհանը կբացվի:

Այժմ մենք պետք է ընտրենք մեզ անհրաժեշտ 1C 8 տվյալների բազայի աղյուսակը։Մեզ անհրաժեշտ է վիրտուալ աղյուսակ Շրջանառություններհաշվապահական գրանցամատյան Ինքնապահովվող... Եկեք գտնենք այն կոնստրուկտորի պատուհանի ձախ կողմում

Տեղափոխենք տարածք Սեղաններև եկեք լրացնենք պարամետրերը: Բոլոր վիրտուալ հարցումների աղյուսակների համար կա պարամետրերի հատուկ հավաքածու, որը թույլ է տալիս ընտրել ցանկալի տվյալները հիմնական աղյուսակից (մեր դեպքում՝ հիմնական աղյուսակը Հաշվապահական գրանցում Ինքնապահովվող): Եկեք բացենք վիրտուալ աղյուսակի պարամետրերի պատուհանը:

Լրացնենք այն ժամանակահատվածի պարամետրերը, որոնք մենք փոխանցել ենք հարցումին։ Հարցման տեքստում պարամետր օգտագործելու համար գրեք նշանը նրա անվան առաջ ամպերսանդ (&)

Մնում է լրացնել բուխ հաշվեհամարի պայմանը։ հաշվառում. Դա անելու համար մենք վիրտուալ աղյուսակի պարամետրերում կգտնենք գիծը Հաշվի վիճակըև գրիր այնտեղ

Հաշիվը ՀԻԵՐԱՐԽԻԱՅՈՒՄ (& Account62)

Կարող եք նաև օգտագործել կոնստրուկտորը պայմանները կազմելու համար՝ սեղմելով երեք կետով կոճակը:

Վիրտուալ սեղանի վրա այլևս պայմաններ պարտադրելու կարիք չկա, ուստի սեղմեք կոճակը լավվիրտուալ աղյուսակի պարամետրերի պատուհանում: Հաջորդը, դուք պետք է ընտրեք մեզ անհրաժեշտ դաշտերը աղյուսակից Ինքնապահովվող.Շրջանառություններ(այսինքն: Կոնտրագենտ, Կոնտրագենտ պայմանագիր, Եկամուտ և Ծախս): Մեր ընտրած աղյուսակում առկա դաշտերի ցանկը տեսնելու համար սեղմեք նրա անվան կողքին գտնվող «+» նշանը: Դրանից հետո անհրաժեշտ դաշտերը քաշեք դեպի հարցման դիզայների ամենաաջ հատվածը, որը կոչվում է Դաշտեր: Եթե ​​բացենք հաշվապահական հաշվառման պլանը, ապա կտեսնենք, որ դա հաշվի համար է 62 վերլուծություն համար Կողմնակիցը Subconto1-ն էև ըստ Կապալառուի պայմանագիր - Subconto2.

Ուստի վիրտուալ աղյուսակի դաշտերից ընտրում ենք Subconto1և Subconto2... Քանի որ եկամուտն ու ծախսը մեզ անհրաժեշտ են ըստ գումարի, ընտրում ենք նաև դաշտերը Շրջանառության գումարըDtև Շրջանառության գումարըKt

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

Քանի որ մեր հաշվետվության մեջ տվյալները կցուցադրվեն հիերարխիկ կերպով (Կողմնակիցը գտնվում է առաջին մակարդակում, իսկ նրա բոլոր պայմանագրերը գտնվում են երկրորդում), մենք կտեղադրենք տվյալների ելքը հիերարխիայում՝ օգտագործելով Totals-ը: Եկեք գնանք կոնստրուկտորում գտնվող էջանիշին Արդյունքներ... Խմբավորման դաշտերում հաջորդաբար քաշեք Կոնտրակուսակցականև Կապալառուի պայմանագիր, և եզրափակչում Գալիսև Սպառումը.

Սա ավարտում է աշխատանքը հարցման կոնստրուկտորում, սեղմեք կոճակը լավև մենք տեսնում ենք, որ մեր հարցման տեքստը հայտնվել է ծրագրի կոդում։

Request.Text = «SELECT | Ինքնապահովվող շրջանառություններ. Subkonto1 AS a Counterparty, | Self-supportingTurnover.Subkonto2 AS A Կապալառուի պայմանագիր, | Self-supportingTurnover.AmountTurnoverDt AS անդորրագիր, | Self-supportingTurnover.AmountTurnoverKt AS Consumption|ԻՑ | Հաշվապահական հաշվառման մատյան. Ինքնապահովվող. Շրջանառություններ (և ժամանակաշրջանի սկիզբ և ժամանակաշրջանի ավարտ, Հաշիվը ՀԻԵՐԱՐԽԻԱՅՈՒՄ (& Հաշիվ62),) ՈՐՊԵՍ ինքնասպասարկման շրջանառություն|ԱՐԴՅՈՒՆՔՆԵՐԸ | ԳՈՒՄԱՐ (Ժամանում), | ԳՈՒՄԱՐ (Սպառում) |Ծրագրային | Կողմնակից, | Կապալառուի պայմանագիր»;

Հարցումը գրելուց հետո եկեք սկսենք լրացնել տարածքները Data Contractor, DataAgreementContractorև Նկուղ... Մենք այս բոլոր տարածքները լրացնելու ենք հարցումը կատարելիս ստացված տվյալներով։ Քանի որ մեր հարցումը պարունակում է խմբավորումներ ( Կոնտրակուսակցականև Կապալառուի պայմանագիր) դրանից ընտրեք տվյալները հետևյալ կերպ.

SelectContractor = Query.Run () Ընտրել (QueryResultIndo.OnGroups);

Այսպիսով, մենք կստանանք գրառումներ բոլոր կոնտրագենտների համար:

Նախքան նմուշի տվյալները անցնելը օղակի միջոցով, մենք սկզբնավորում ենք այն փոփոխականները, որոնք նախատեսված են հաշվետվության ընդհանուր գումարները հաշվարկելու համար.

Ընդհանուր եկամուտ = 0; Ընդհանուր սպառում = 0;

Որպեսզի հաշվետվության տվյալները ցուցադրվեն հիերարխիայով (և տարածվի «+»-ի երկայնքով), մենք կսահմանենք աղյուսակի փաստաթղթի տողերի ավտոմատ խմբավորման սկիզբը.

TabDoc.StartAutoGroupLines ();

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

whileSelectionContractor.Next () Cycle EndCycle;

Ցիկլի սկզբում պարամետրերը սահմանեք զրո Գալիսև Սպառումըտարածքներ Data Contractor... Ինչի համար է դա? Պատկերացրեք մի իրավիճակ, որը վերաբերում է գործընկերոջը Քեռի Վասյա, եկամուտը 10, իսկ ծախսը՝ 5, իսկ դրա համար՝ հաջորդ կոնտրագենտը Քեռի Պետյաչկա ոչ եկամուտ, ոչ ծախս, այս դեպքում, եթե չվերակայենք պարամետրերը Գալիսև Սպառումը, այնուհետև՝ ըստ կոնտրագենտի Քեռի Պետյակստանա եկամուտ 5, ծախս՝ 10։

ScopeDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0;

Դրանից հետո մենք լրացնում ենք տարածքը Data Contractorնմուշ ապրանքի տվյալները

FillPropertyValues ​​(ScopeDataContractor.Parameters, SelectionContractor);

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

TabDok.Withdraw (ScopeDataContractor, 1);

Հիմա այս կոնտրագենտի համար մենք ընտրություն կկատարենք նրա պայմանագրերի համաձայն։

SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On Groupings);

Մենք կիրականացնենք անցումը օղակի միջոցով Ից մինչեւ.

Մինչ SelectionContractor Agreement.Next () Ցիկլի ավարտը Ցիկլի;

Կոնտրագենտների պայմանագրերի ցիկլում մենք կվերակայենք պարամետրերը Գալիսև Սպառումը, լրացրեք տարածքը Տվյալների համաձայնագիրընտրվածից և ցուցադրել այն աղյուսակային փաստաթղթում գրառումների երկրորդ մակարդակում:

ScopeDataContract.Parameters.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Լրացրեք Property Values-ը (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2);

Նաև այս ցիկլում մենք ընթացիկ արժեքները ավելացնում ենք փոփոխականներին՝ եկամտի և ծախսերի ընդհանուր արժեքները հաշվարկելու համար:

TotalIncome = TotalIncome + SelectionContractor Agreement.Income; TotalExpense = TotalExpense + SampleContractor Agreement.Expense;

Սա ավարտում է տարածքի տվյալների ելքը Data Contractor, DataAgreementContractorավարտված է, մնում է ավարտել աղյուսակի փաստաթղթի տողերի ավտոխմբավորումը:

TabDoc.FinishAutoGroupLines ();

Ամբողջովին օղակներ, որոնք պատասխանատու են տարածքում տվյալների ելքի համար Data Contractorև DataAgreementContractorնայեք այսպես.

TabDoc.StartAutoGroupLines (); Մինչ SampleContractor.Next () Cycle RegionDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0; FillPropertyValues ​​(ScopeDataContractor.Parameters, SelectionContractor); TabDok.Withdraw (ScopeDataContractor, 1); SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On Groupings); Մինչ SelectionDogovKontragenta.Sleduyuschiy () Ցիկլի ScopeDataDogov.Parametry.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Լրացրեք Property Values-ը (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2); TotalIncome = TotalIncome + SelectionContractor Agreement.Income; TotalExpense = TotalExpense + SampleContractor Agreement.Expense; Ցիկլի ավարտ; Ցիկլի ավարտ; TabDoc.FinishAutoGroupLines ();

Մնում է ընդհանուր գումարները դուրս բերել տարածք Նկուղև ցուցադրել տարածքն ինքնին Աղյուսակային փաստաթուղթ.

AreaBoard.Parameters.TotalIncoming = TotalIncoming; AreaBoard.Parameters.TotalExpense = TotalExpense; TabDok.Display (Տարածքային նկուղ);

Սա ավարտում է 1C 8-ի համար արտաքին հաշվետվություն գրելու գործընթացը՝ առանց ACS-ի օգտագործման: Այժմ այն ​​կարող է ստեղծվել 1C: Enterprise 8 ռեժիմում և ավելացնել գրացուցակում Արտաքին մշակումՀոդվածում դիտարկված հաշվետվության ֆայլը կարող եք ներբեռնել ըստ.

Դիտեք տեսանյութ կառավարվող հավելվածի համար արտաքին տպագրելի ստեղծելու մասին.

1C-ի համար արտաքին մշակումները, հաշվետվությունները, տպագիր ձևերը միացնելու համար մշակվել է Enterprise պլատֆորմ 8.2 նոր ստանդարտաշխատել կառավարվող հավելվածում (ստանդարտ ենթահամակարգից ստանդարտ գրադարաններ 8.2): Կային «չիպսեր», որոնք նախկինում չկային, մասնավորապես.

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

    Մեկ մշակումը կարող է պարունակել միանգամից մի քանի գործողությունների (հրամանների) ցուցակ, այսինքն. կարող եք կատարել մեկ վերամշակում, որտեղ կլինեն միանգամից մի քանի մենյու՝ տպագրություն և բեռնափոխադրում, վաճառքի անդորրագրի տպում, երաշխիքային քարտի տպում։ (Հեղինակի նշում. ավելի վաղ, հին ստանդարտով, նման բաներ անելու համար պետք էր ամեն ինչ անել միանգամից (նույնիսկ եթե պետք չէր) և պետք չէր փակել, կամ նկարել սեփական ձևը. որոնք կային անհրաժեշտ կոճակներ՝ անհրաժեշտ գործողությունը ընտրելու համար)

    Դուք կարող եք մուտքագրել և լրացնել օբյեկտները, որոնք հիմնված են միանգամից մի քանի օբյեկտների, այլ ոչ թե մեկի վրա

    Դուք կարող եք պլանավորել սերվերի հրամանների կատարումը (սերվերի վրա):

    Դուք կարող եք սահմանել «Ապահով» կամ «Անապահով» ռեժիմը, այսինքն. սկսել մշակումը` հաշվի առնելով իրավունքների սահմանափակումը կամ անտեսել դրանք (ինչպես լրիվ իրավունքներով)

    Դուք կարող եք սահմանել օգտագործման ռեժիմը. Մի օգտագործեք, վրիպազերծեք, օգտագործեք: «Մի օգտագործիր» - չի օգտագործվում, «Վրիպազերծում» - տեսանելի է միայն ադմինիստրատորներին, «Օգտագործել աշխատանքում»:

    Դուք կարող եք ներառել օգտագործումը օբյեկտի ձևերում և ցուցակի տեսքով

    Դուք կարող եք վերամշակումը կամ հաշվետվությունը կապել բոլոր օբյեկտներին միանգամից:

    Կարող է հարմարեցվել արագ մուտքարտաքին մշակման հատուկ հրամաններին:

    Կարելի է նշել, թե միջերեսի որ բաժիններում պետք է հայտնվեն լրացուցիչ մշակումներ և հաշվետվություններ:

Այսպիսով, ի՞նչ կարելի է միացնել ստանդարտ կոնֆիգուրացիաներին:

Պլատֆորմի տեսանկյունից կարող եք միացնել.

  • արտաքին մշակում («epf» ընդլայնմամբ ֆայլեր);
  • արտաքին հաշվետվություններ (ֆայլեր «erf» ընդլայնմամբ):

Կիրառման տարածքի (կազմաձևման) տեսանկյունից դուք կարող եք միացնել արտաքին մշակումը և հաշվետվությունները *:

  • Լրացուցիչ վերամշակում
    • Պարզապես լրացուցիչ մշակում: Հնարավոր է հարմարեցնել
  • Լրացուցիչ հաշվետվություն
    • Ընդամենը լրացուցիչ հաշվետվություն
  • Լրացնելով օբյեկտը
    • Օբյեկտների (փաստաթուղթ) լրացման սեփական կոճակներ, նախկինում կար միայն աղյուսակային հատվածը լրացնելու կոճակներ։
  • Տպագրվող ձև
    • Լրացուցիչ տպագրվող («Լրացուցիչ տպելի» կոճակը ավելացված է)
  • Հաշվետվություն
    • Օբյեկտներին կցված հաշվետվություն (տեղեկատուներ և փաստաթղթեր):
  • Կապակցված օբյեկտների ստեղծում
    • Ձեր մուտքագրումը հիմնված է («Ստեղծել առնչվող օբյեկտներ ...» կոճակը ավելացվել է «Ներածման հիման վրա» ընտրացանկի տարրին)

* Խմբագրության օրինակով «Փոքր ընկերության կառավարում, խմբ. 1.2"

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

Սկսենք բոլոր տեսակի մշակման և հաշվետվությունների ընդհանուր պահանջներից: Խցանվող արտաքին մշակում կամ հաշվետվություն ստեղծելու համար անհրաժեշտ է օբյեկտի մոդուլում հայտարարել ExternalProcessing Information () արտահանման ֆունկցիան, որը պետք է լրացնի վարքագիծը նկարագրող կառուցվածքը։ Այս ֆունկցիայի օրինակ.

Արտաքին մշակման տեղեկատվության () ֆունկցիա Արտահանում
RegistrationData = Նոր կառուցվածք;
Գրանցման Տվյալներ Տեղադրեք («Անուն», «Արտաքին մշակման օգտագործման օրինակ 8.2»);
RegistrationData.Insert («SafeMode», True);
Գրանցման տվյալներ. Տեղադրեք («Տարբերակ», «1.0»);

// Լրացուցիչ մշակում
// Լրացուցիչ հաշվետվություն
// FillingObject
//Զեկույց
// PrintForm
// Ստեղծեք LinkedObjects
RegistrationData.Insert («View», «AdditionalProcessing»);

RegistrationData.Insert («Տեղեկատվություն», «Մշակումը կատարվում է արտաքին պրոցեսորների միացման նոր ստանդարտի համաձայն 8.2. Մշակման օրինակ» «Hello Word» «»);

///////////// հրամաններ /////////////////////////
tzCommand = New ValuesTable;
tzComand.Columns.Add («Identifier»);
tzComand.Columns.Add («Դիտել»);
tzComand.Columns.Add («Փոփոխիչ»);
tzKomand.Kolonki.Add ("ShowNotification");
tzComand.Columns.Add («Օգտագործում»);


CommandString.Identifier = "1";
lineCommand.View = "հրաման" "Hello Word" "(FormOpening)";

CommandString.Usage = "Ձևի բացում";

CommandString = tzCommand.Add ();
CommandString.Identifier = "2";
CommandString.View = "հրաման" "Hello Word" "(CallClientMethod)";
CommandString.ShowNotification = True;
CommandString.Usage = "CallClientMethod";

CommandString = tzCommand.Add ();
CommandString.Identifier = "3";
CommandString.View = "հրաման" "Hello Word" "(CallServerMethod)";
CommandString.ShowNotification = True;
CommandString.Usage = "CallServerMethod";

RegistrationData.Insert («Հրամաններ», tzKomand);

////////////// նպատակը (որ օբյեկտներում է այն օգտագործվում) ///////////////////////
// ձևաթղթեր տպելու, կապակցված օբյեկտների լրացման, մուտքագրման համար
// Assignment Array = Նոր զանգված;
//AssignmentArray.Add("Document.*"); // բոլոր փաստաթղթերը նշանակված են
//AssignmentArray.Add("Document.AvailableReport");
//ArrayAssignments.Add("Document.OrderBuyer");
//RegistrationData.Insert ("Assignment", AssignmentArray);

Վերադարձի գրանցման տվյալները;

EndFunction

Այսպիսով, ինչպես տեսնում եք, ֆունկցիան լրացնում է RegistrationData կառուցվածքը, որն ունի հետևյալ տարրերը (պարամետրերը).

    Անունը - բուժման կարճ անվանումը

    Տարբերակ - տեղեկատվություն մշակման տարբերակի մասին

    Անվտանգ ռեժիմ- պատասխանատու է այն բանի համար, թե արդյոք մշակումը պետք է իրականացվի՝ հաշվի առնելով օգտագործողի իրավունքները: Եթե ​​արժեքը սահմանեք «False», ապա մշակումը կամ հաշվետվությունը կկատարվի առանց իրավունքների սահմանափակումների (ինչպես լրիվ իրավունքների տակ): Այս հատկությունը հայտնվել է 8.2-ում, որտեղ արտաքին գործընթացներ և հաշվետվություններ ստեղծելիս ռեժիմը նշվում է որպես երկրորդ պարամետր:

    Դիտել - մշակման կամ հաշվետվության տեսակը: Հոդվածի սկզբում ես թվարկեցի հնարավոր արժեքները, իսկ կոդում տեղադրելու հնարավոր արժեքները նշված են մեկնաբանությունում

  • Հրամաններ - արժեքների աղյուսակ, որը թվարկում է օգտագործված հրամանները: Արժեքների աղյուսակի սյունակներ.
    • Նույնացուցիչ - ցանկացած տող (հրամանի նույնացուցիչ)
    • Դիտել - հրամանի նկարագրություն
    • Փոփոխիչ - տող (օգտագործվում է լրացուցիչ տպագրվող ձևերի համար)
    • ShowNotification - ծանուցման պատուհան կհայտնվի կատարումից առաջ և հետո (առանց ձևի հաճախորդի և սերվերի հրամանների համար)
    • Օգտագործում - մշակման մեկնարկի ռեժիմ.
      • Ձևաթղթի բացում - կբացվի մշակման ձևը
      • ClientMethod զանգ - զանգահարեք հաճախորդի արտահանման մեթոդի ձևը
      • ServerMethod Call - կանչել արտահանման մեթոդը մշակման մոդուլից

Կախված մշակման կամ հաշվետվության տեսակից, ինչպես նաև «Օգտագործել» հրամանի գործարկման ռեժիմից, կոչվում են ձևի մոդուլում, օբյեկտի մոդուլում սահմանված մեթոդները։ Անցած պարամետրերի ցանկը նույնպես տարբեր է. Կցվում են զանգերի և մշակման բոլոր տեսակների օգտագործման օրինակներ: