Ընդլայնում
Բովանդակություն
Ի՞նչ է ընդլայնումը
8X ծրագրային միջավայրը հնարավոր է ընդլայնել՝ ավելացնելով նոր նկարագրություններ, ինչպես նաև փոփոխել գործող նկարագրությունների վարքը, …։
Ընդլայնման ենթակա է և՛ կիրառությունների սերվերը, և՛ 8X կլիենտը։
Ընդլայնման միջոցով 8x սերվիսում հնարավոր է՝
- ավելացնել նոր նկարագրություններ՝
- փաստաթղթեր,
- տվյալների աղբյուրներ,
- հաշվառումներ,
- տվյալների մշակման հարցումներ (DPR),
- փոփոխել գործող նկարագրությունների վարքը՝ սահմանելով նկարագրությունների ընդլայնումներ՝
- ավելացնել Controller տեսակի դասեր:
Ընդլայնման ավելացման եղանակներ
Ընդլայնումը կարող է ավելացվել երկու եղանակով`
Ընդլայնումների ավելացում SysCon գործիքով ներմուծման միջոցով
- Ստեղծել նկարագրության համար անհրաժեշտ ֆայլերը`
- .as ընդլայնմամբ ֆայլ սկրիպտերում, որը պարունակում է նկարագրության մետատվյալները (ներքին անուն, հայերեն անվանում․․․),
- .cs ընդլայնմամբ ֆայլ, որը պարունակում է սերվերում աշխատող տրամաբանությունը։
- .as ընդլայնմամբ ֆայլում ավելացնել
CSSOURCEդաշտ, որը ցույց է տալիս .cs ֆայլի հարաբերական ճանապարհը .as-ի նկատմամբ։ - .as, .cs ֆայլերի ձևավորումից և լրացումից հետո անհրաժեշտ է .as ընդլայնմամբ ֆայլը ներմուծել տվյալների պահոց
SysConգործիքի միջոցով, որի արդյունքում կներմուծվի նաև .cs ֆայլը։ - Դրանից հետ ծրագիրը (կիրառությունների սերվերը) անհրաժեշտ պահին կբեռնի այդ ֆայլերը, կկոմպիլացնի C# դասը և կաշխատացնի դասի տրամաբանությունը։
Կարևոր
SysCon գործիքով ներմուծվող նկարագրությունները կարող են հղվել կազմակերպության սեփական նկարագրությունները պարունակող պրոյեկտի C# դասերին։
Այս եղանակի առավելություններն են՝
- Փոփոխությունները կատարվում են արագ՝ կիրառությունների սերվերը ճանաչում է փոփոխությունները և սկսում օգտագործել ներմուծումից հետո։
- Հնարավոր է փոփոխել միայն մեկ կամ մի քանի ֆայլերի պարունակություններ և ներմուծել՝ առանց փոփոխելու մնացած ֆայլերը։
- Ֆայլերում փոփոխություններ կատարելուց և ներմուծելուց հետո չկա կիրառությունների սերվերի վերագործարկման անհրաժեշտություն։
Այս եղանակի թերություններն են՝
- Յուրաքանչյուր անգամ նկարագրությանը դիմելիս կատարվում է հարցում տվյալների պահոց, որը ըստ timestamp-ի ստուգում է նկարագրության վերջին փոփոխման ժամանակը և թարմացման դեպքում բեռնում է այն, կոմպիլացնում և գործարկում, հակառակ դեպքում օգտագործում է նախկին կոմպիլացված տարբերակը։
- Նկարագրության յուրաքանչյուր նոր բեռնված տարբերակի համար ստեղծվում է assembly, ինչը հանգեցնում է հիշողության ավելորդ ծանրաբեռնվածության։
- Հնարավոր չէ կազմել այնպիսի C# դասեր, որոնք գտնվում են տարբեր ֆայլերում և հղվում են մեկը մյուսի վրա (Մի ֆայլում գտնվող C# դասերը կարող են հղվել մեկը մյուսի վրա։ Տե՛ս Մեկ ֆայլում մի քանի ընդլայնում ավելացնելու ձեռնարկ)։

SysCon-ով ֆայլերի ներմուծում և դինամիկ կոմպիլյացիա
Ընդլայնումների ավելացում .NET գրադարանների տեղադրման միջոցով
- Ստեղծել .cs ընդլայնմամբ ֆայլ, որը պարունակում է նկարագրության սերվերում աշխատող տրամաբանությունը:
- ՀԾ-Բանկի հիմնական լուծման ֆայլում (ArmSoft.AS8X.Bank.sln) նախապես ստեղծված Class Library տիպի պրոյեկտում անհրաժեշտ է ավելացնել վերևում նշված ֆայլը։
- Կոմպիլյացնել պրոյեկտը, որի արդյունքում ձևավորվում է .dll ընդլայնմամբ ֆայլ:
- appsettings.json կոնֆիգուրացիոն ֆայլի Extensions բաժնում լրացնել առաջացած ընդլայնող dll-ի մասին ինֆորմացիան (անուն, գտնվելու ճանապարհ…) և dll-ը տեղադրել Extensions բաժնի
Locationդաշտում նշված հասցեում։
Կարևոր
Ընդլայնման C# դասի համապատասխան ատրիբուտում անհրաժեշտ է նշել այն նկարագրության ներքին անունը, որը ընդլայնվում է:
Օրինակ
[DocumentExtender("Cadres")]
public class CadresExtended : DocumentExtender
Տե՛ս նաև
- Կազմակերպության սեփական նկարագրությունները և ընդլայնումները պարունակող պրոյեկտի ստեղծում
- Կազմակերպության սեփական նկարագրությունները և ընդլայնումները պարունակող պրոյեկտի կարգավորում:
Այս եղանակի առավելություններն են՝
- Պրոյեկում ավելացված C# դասերը կարող են հղվել մեկը մյուսի վրա։
- Պրոյեկտին հնարավոր է միացնել աշխատանքի համար անհրաժեշտ գրադարաններ (Library-ներ)։
- Նկարագրություններին դիմելիս չեն կատարվում լրացուցիչ հարցումներ տվյալների պահոց և չեն ստեղծվում լրացուցիչ assembly-ներ յուրաքանչյուր նկարագրության համար։
Այս եղանակի թերություններն են՝
- Պրոյեկտի դասերում փոփոխություններ կատարելուց հետո անհրաժեշտ է կրկին կոմպիլացնել պրոյեկտը, արդյունքում ձևավորված .dll ընդլայնմամբ ֆայլը տեղադրելով appsettings.json-ի Extensions բաժնի
Locationդաշտում նշված հասցեում։ Արդյունքում առաջանում է կիրառությունների սերվերի վերագործարկման անհրաժեշտություն։
dll-ը տեղադրված ծրագրի կողքին
Տարբերակի փոփոխումից հետո անհրաժեշտ քայլեր
ՀԾ-Բանկ համակարգի նոր տարբերակի կամ ենթատարբերակի տեղադրումից առաջ անհրաժեշտ է՝
- get անել տարբերակի համապատասխան ՀԾ-Բանկի հիմնական լուծման կոդը։
- Ավելացնել կազմակերպության սեփական նկարագրությունները և ընդլայնումները պարունակող պրոյեկտը։
- Build անել պրոյեկտը, սխալների առկայության դեպքում ուղղել դրանք և կրկին build անել։
- appsettings.json կոնֆիգուրացիոն ֆայլի Extensions բաժնում լրացնել առաջացած ընդլայնող dll-ի մասին ինֆորմացիան (անուն, գտնվելու ճանապարհ…) և dll-ը տեղադրել Extensions բաժնի
Locationդաշտում նշված հասցեում։