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

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

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

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 իրադարձություններից հետո։

PostPostMessage

public virtual Task PrePostMessage(Document sender, PostMessageEventArgs args)

PostMessage իրադարձությունը առաջանում է մի փաստաթղթից մյուն ծրագրային հաղորդագրություն(SendMessage) ուղարկելիս՝ PostMessage մեթոդի կանչից առաջ։

PostPostMessage

public virtual Task PostPostMessage(Document sender, PostMessageEventArgs args)

PostMessage իրադարձությունը առաջանում է մի փաստաթղթից մյուն ծրագրային հաղորդագրություն(SendMessage) ուղարկելիս՝ PostMessage մեթոդի կանչից հետո։

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 իրադարձությունից հետո։