Բովանդակություն

Ներածություն

Գոյություն ունեցող փաստաթղթերի մշակման գործընթացում լրացուցիչ ստուգումներ իրականացնելու, դաշտերի ավտոմատ լրացման և այլ սեփական տրամաբանություն ավելացնելու համար նկարագրվում է փաստաթղթի ընդլայնում։ Փաստաթղթի ընդլայնումը իրանից ներկայացնում է վիրտուալ մեթոդների բազմություն, որոնք կանչվում են փաստաթղթի հիմնական իրադարձություններից առաջ և հետո։

8X համակարգում փաստաթղթի ընդլայնում նկարագրելու համար հարկավոր է ունենալ

  • .as ընդլայնմամբ ֆայլ սկրիպտերում DOCUMENTEXTENDER նկարագրությամբ, որը պարունակում է մետատվյալներ ընդլայնման մասին,
  • .cs ընդլայնմամբ ֆայլ, որը պարունակում է սերվերում աշխատող տրամաբանությունը։

.as և .cs ընդլայնմամբ ֆայլերը լրացնելուց հետո անհրաժեշտ է .as ընդլայնմամբ ֆայլը ներմուծել համակարգ SYSCON գործիքի միջոցով, որի արդյունքում կներմուծվի նաև .cs ընդլայնմամբ ֆայլը։

DOCUMENTEXTENDER նկարագրություն

DOCUMENTEXTENDER {
  NAME = ...;
  CAPTION = ...;
  ECAPTION = ...;
  CSSOURCE = ...;
};

Հատկություններ

NAME

Ընդլայնվող փաստաթղթի ներքին անունը։

CAPTION

Ընդլայնման հայերեն անվանումը ANSI կոդավորմամբ։

ECAPTION

Ընդլայնման անգլերեն անվանումը։

CSSOURCE

Ընդլայնող C# ֆայլի հարաբերական ճանապարհը .as ֆայլի նկատմամբ։

Օրինակներ՝

  • Եթե extend.as և extend.cs ֆայլերը գտնվում են նույն թղթապանակում, ապա կգրվի CSSOURCE = "extend.cs";։
  • Եթե extend.as գտվում է “C:\WorkingDir\Scripts\App\extend.as” հասցեում, իսկ extend.cs-ը՝ “C:\WorkingDir\SubFolder1\SubFolder2\extend.as” հասցեում, ապա CSSOURCE = "..\..\SubFolder1\SubFolder2\extend.cs";։
  • Կամ կլինի գրել ամբողջական ճանապարհը, ինչը խրախուսելի չէ CSSOURCE = "C:\WoringDir\SubFolder1\SubFolder2\extend.cs";

DocumentExtender դաս

Փաստաթղթի ընդլայնման համար անհրաժեշտ է սահմանել դաս, որը ժառանգում է DocumentExtender դասը և ունի DocumentExtender ատրիբուտը։

Օրինակ

[DocumentExtender]
public class DocExtenders : DocumentExtender

Մեթոդներ

BeforeCommitDelete

public virtual Task BeforeCommitDelete(Document sender, BeforeCommitDeleteEventArgs args);

BeforeCommitDelete իրադարձությունը առաջանում է տվյալների պահոցից փաստաթղթի հեռացումից անմիջապես հետո տրանզակցիայի մեջ։

PreAction

public virtual Task PreAction(Document sender, ActionEventArgs args);

PreAction իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) տրանզակցիայի մեջ` Action իրադարձությունից առաջ։

PostAction

public virtual Task PostAction(Document sender, ActionEventArgs args);

PostAction իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) տրանզակցիայի մեջ` Action իրադարձությունից հետո։

PreAfterCommit

public virtual Task PreAfterCommit(Document sender, AfterCommitEventArgs args);

PreAfterCommit իրադարձությունը առաջանում է փաստաթղթի տվյալների պահոցում գրանցումից հետո մեծ տրանզակցիայի մեջ՝ BeforeCommit իրադարձությունից հետո և AfterCommit իրադարձությունից առաջ։

PostAfterCommit

public virtual Task PostAfterCommit(Document sender, AfterCommitEventArgs args);

PostAfterCommit իրադարձությունը առաջանում է փաստաթղթի տվյալների պահոցում գրանցումից հետո մեծ տրանզակցիայի մեջ՝ BeforeCommit, AfterCommit իրադարձություններից հետո։

PreAfterCreate

public virtual Task PreAfterCreate(Document sender, AfterCreateEventArgs args);

PreAfterCreate իրադարձությունը առաջանում է փաստաթուղթը ստեղծելուց` AfterCreate իրադարձությունից առաջ։

PostAfterCreate

public virtual Task PostAfterCreate(Document sender, AfterCreateEventArgs args);

PostAfterCreate իրադարձությունը առաջանում է փաստաթուղթը ստեղծելուց` AfterCreate իրադարձությունից հետո։

PreAfterLoad

public virtual Task PreAfterLoad(Document sender, AfterLoadEventArgs args);

PreAfterLoad իրադարձությունը առաջանում է փաստաթղթի բեռնումից անմիջապես հետո` AfterLoad իրադարձությունից առաջ։

PostAfterLoad

public virtual Task PostAfterLoad(Document sender, AfterLoadEventArgs args);

PostAfterLoad իրադարձությունը առաջանում է փաստաթղթի բեռնումից անմիջապես հետո` AfterLoad իրադարձությունից հետո։

PreBeforeCommit

public virtual Task PreBeforeCommit(Document sender, BeforeCommitEventArgs args);

PreBeforeCommit իրադարձությունը առաջանում է փաստաթղթի տվյալների պահոցում գրանցումից անմիջապես հետո տրանզակցիայի մեջ՝ BeforeCommit իրադարձությունից առաջ։

PostBeforeCommit

public virtual Task PostBeforeCommit(Document sender, BeforeCommitEventArgs args);

PostBeforeCommit իրադարձությունը առաջանում է փաստաթղթի տվյալների պահոցում գրանցումից անմիջապես հետո տրանզակցիայի մեջ՝ BeforeCommit իրադարձությունից հետո։

PreBeforeCopy

public virtual Task PreBeforeCopy(Document sender, BeforeCopyEventArgs args);

PreBeforeCopy իրադարձությունը առաջանում է փաստաթուղթը պատճենման ժամանակ` BeforeCopy իրադարձությունից հետո։

PostBeforeCopy

public virtual Task PostBeforeCopy(Document sender, BeforeCopyEventArgs args);

PostBeforeCopy իրադարձությունը առաջանում է փաստաթուղթը պատճենման ժամանակ` BeforeCopy իրադարձությունից հետո։

PreDelete

public virtual Task PreDelete(Document sender, DeleteEventArgs args);

PreDelete իրադարձությունը առաջանում է փաստաթուղթը ջնջելու ժամանակ տրանզակցիայի մեջ` Delete իրադարձությունից առաջ։

PostDelete

public virtual Task PostDelete(Document sender, DeleteEventArgs args);

PostDelete իրադարձությունը առաջանում է փաստաթուղթը ջնջելու ժամանակ տրանզակցիայի մեջ` Delete իրադարձությունից հետո։

PreFolders

public virtual Task PreFolders(Document sender, FoldersEventArgs args);

PreFolders իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) տրանզակցիայի մեջ` Folders իրադարձությունից առաջ։

PostFolders

public virtual Task PostFolders(Document sender, FoldersEventArgs args);

PostFolders իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) տրանզակցիայի մեջ` Folders իրադարձությունից հետո։

PostLoadGrids

public virtual Task PostLoadGrids(Document sender, LoadGridsEventArgs args);

PostLoadGrids իրադարձությունը առաջանում է փաստաթղթի աղյուսակների բեռնման ժամանակ՝ LoadGrids իրադարձությունից հետո։

PreOnConfirmDocumentChangeRequest

public virtual Task PreOnConfirmDocumentChangeRequest(Document sender, ConfirmDocumentChangeRequestEventArgs args);

PreOnConfirmDocumentChangeRequest իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) փաստաթղթի փոփոխման հայտի բացման ընթացքում տրանզակցիայի մեջ` Validate իրադարձությունից հետո և OnConfirmDocumentChangeRequest իրադարձությունից առաջ։

PostOnConfirmDocumentChangeRequest

public virtual Task PostOnConfirmDocumentChangeRequest(Document sender, ConfirmDocumentChangeRequestEventArgs args);

PreOnConfirmDocumentChangeRequest իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) փաստաթղթի փոփոխման հայտի բացման ընթացքում տրանզակցիայի մեջ` Validate, OnConfirmDocumentChangeRequest իրադարձություններից հետո։

PostStoreGrid

public virtual Task PostStoreGrid(Document sender, StoreGridsEventArgs args);

PostStoreGrid իրադարձությունը առաջանում է փաստաթղթի աղյուսակի պահպանման ժամանակ` StoreGrids իրադարձությունից հետո։

PreValidate

public virtual Task PreValidate(Document sender, ValidateEventArgs args);

PreValidate իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) տրանզակցիայի մեջ` Validate իրադարձությունից առաջ։

PostValidate

public virtual Task PostValidate(Document sender, ValidateEventArgs args);

PostValidate իրադարձությունը առաջանում է փաստաթղթի պահպանման ժամանակ (Store) տրանզակցիայի մեջ` Validate իրադարձությունից հետո։