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