Փաստաթղթի իրադարձությունների ընդլայնման ձեռնարկ
Բովանդակություն
Ներածություն
8X համակարգում նախատեսված է հնարավորություն ընդլայնելու համակարգում առկա փաստաթղթերի մշակման գործընթացը ավելացնելով լրացուցիչ ստուգումներ, իրականացնելով դաշտերի ավտոմատ լրացում, ինչպես նաև կատարելով ցանկացած այլ գործողություններ, որոնք պետք է կատարվեն փաստաթղթի ստեղծման, խմբագրման կամ հեռացման ընթացքում։
Ստորև ձեռնարկում նկարագրած է փաստաթղթի համար լրացուցիչ մշակումներ ավելացնելու քայլերը։
Փաստաթղթի ընդլայնման ամբողջական օրինակը տե՛ս՝ “Երկիր” փաստաթղթի ընդլայնման օրինակ էջում։
Տվյալների աղբյուրի ընդլայնման համար անհրաժեշտ է ստեղծել DOCUMENTEXTENDER
նկարագրությունը .as
ֆայլում և C# դասը .cs
ֆայլում, որոնք հետագայում հարկավոր կլինի ներմուծել համակարգ SYSCON-ի միջոցով։
Ընդլայնման ֆայլերի ինչպես նաև DocumentExtender
դասի նկարագրությունը հասանելի է Փաստաթղթի ընդլայնման նկարագրություն բաժնում։
.as ֆայլի ստեղծում
.as
ֆայլը պարունակում է տվյալներ ընդլայնվող փաստաթղթի և ներմուծվող ընդլայնման վերաբերյալ։
DOCUMENTEXTENDER {
NAME = "COUNTRY";
CAPTION = "Երկիր փաստ. ընդլայնում";
CAPTION = "Country doc extension";
CSSOURCE = "CountryEx.cs";
};
Որտեղ՝
NAME
- ընդլայնվող փաստաթղթի ներքին անունը։ Այն պետք է համընկնի գոյություն ունեցող փաստաթղթի ներքին անվան հետ։CAPTION
ևECAPTION
- համակարգում արտացոլվող ընդլայնման հայերեն (ANSI կոդավորմամբ) և անգլերեն անվանումները։CSSOURCE
-.cs
ֆայլի անունը։
.cs ֆայլի ստեղծում
Լրացուցիչ տրամաբանությունը անհրաժեշտ է նկարագրել C#-ով համապատասխան .cs ֆայլում։
.cs ֆայլում հարկավոր է ստեղծել class, որը ժառանգվում է DocumentExtender դասից։
Հարկավոր է նաև ավելացնել [DocumentExtender]
ատրիբուտը։ Օրինակ՝
[DocumentExtender]
public class MyDocExtension : DocumentExtender
Նոր դասում կարելի է կատարել ինյեկցիա սերվերային API-ներին հասանելություն ստանալու համար։
[DocumentExtender]
public class MyDocExtension : DocumentExtender
{
private readonly IParametersService paramService;
public MyDocExtension(IParametersService paramService)
{
this.paramService = paramService;
}
}
Նոր դասը կարող է ընդլայնել DocumentExtender
դասում նկարագրված մեթոդները։
Ամբողջական ցանկը տե՛ս այստեղ։
Մեթոդները ստանում են մշակվող փաստաթղթի օբյեկտը sender
պարամետրում և լրացուցիչ տվյալներ args
պարամետրում:
Ընդլայնված մեթոդներով հնարավոր է մշակման տարբեր փուլերում կատարել լրացված դաշտերի ստուգում, ավտոմատ լրացում, առաջացնել բացառություններ (exceptions) ընդհատելով փաստաթղթի մշակումը, ինչպես նաև կատարել ցանկացած այլ գործողություն, որ հնարավոր է կատարել փաստաթղթի հիմնական իրադարձությունների ընթացքում։
[DocumentExtender]
public class MyDocExtension : DocumentExtender
{
//...
public async override Task PreValidate(Document sender, ValidateEventArgs args)
{
}
public override Task PostAction(Document sender, ActionEventArgs args)
{
}
}
Ֆայլերի ներմուծում
.as և .cs ֆայլերը պատրաստ լինելուն պես անհրաժեշտ է SYSCON-ով համապատասխան .as ֆայլը ներմուծել համակարգ, ինչի արդյունքում .cs ֆայլը նույնպես կներմուծվի։
Նախքան Ներմուծումը տեղադրեք .as
և .cs
ֆայլերը config.as ֆայլում սահմանված BASEFOLDER պարամետրով ճանապարհով, այնուհետև գործարկելով SYSCON ծրագիրը ներմուծեք “Նկարագրությունների ներմուծում” հանգույցի ներքո արտացոլվող ֆայլը։