Փաստաթղթի նկարագրություն
Բովանդակություն
- Ներածություն
- Օրինակներ
- DOCUMENT նկարագրություն
- Document դաս
- Հատկություններ
- Archived
- CancellationToken
- CopiedFrom
- CreatorSUID
- CreationDate
- Description
- DocumentChangeRequest
- DocumentLog
- Deleting
- ExistsInDB
- Grids
- GridsInitialized
- GridsLoaded
- GridsLoading
- IsCancellationSupported
- IsLogged
- indexer
- InitialSnapshot
- ISN
- IsNew
- IsUIOrigin
- LastFixedState
- LogTransactions
- NestedTransactionReport
- Origin
- Progress
- Properties
- ShowProgress
- Snapshots
- State
- StoreMode
- StoredFacts
- StoreSnapshot
- TemplateSubstitutionIsExtended
- TimeStamp
- Մեթոդներ
- Action
- AddParent
- AfterCommit
- AfterCreate
- AfterLoad
- ApplySnapshot
- BeforeCommit
- BeforeCopy
- BeforeImportProcessing
- Body
- BuildEmbeddedUIRequest
- DefaultComment
- DefineLimits
- Delete
- DeserializeComplexObjects
- ExistsGrid
- ExistsRekvizit
- Folders
- GetCheckValue
- GetFieldType
- GetImage
- GetMemo
- GetNextTrans
- GetParents
- Grid
- InitGrids
- DoLoadGrids
- LoadGrids
- LoadImagesAndMemos
- LoadParents
- OnConfirmDocumentChangeRequest
- OnRefuse
- OnRejectDocumentChangeRequest
- PostMessage
- RefreshTimeStamp
- SendMessage
- SerializeComplexObjects
- SetCheckValue
- SetDefaultValuesForFields
- SetDefaultValuesForFields
- SetImage
- SetMemo
- Store
- StoreGrids
- StoreValuesHistory
- TakeSnapshot
- TemplateSubstitution
- TemplateSubstitutionEx
- Validate
- WriteLog
Ներածություն
public class Document : DocumentBase
Document դասը հիմք է հանդիսանում է փաստաթղթերի սահմանման համար։
Բոլոր փաստաթղթերը ունեն Document
ատրիբուտը և ժառանգ են հանդիսանում այս դասից, որը տրամադրում է վիրտուալ մեթոդներ սեփական սերվերային տրամաբանության սահմանման համար և հատկություններ փաստաթղթի մետատվյալների ստացման համար։
8X համակարգում փաստաթուղթ նկարագրելու համար հարկավոր է ունենալ
- .as ընդլայնմամբ ֆայլ սկրիպտերում DOCUMENT նկարագրությամբ։
Այն անհրաժեշտ է ներմուծել տվյալների բազա
Syscon
գործիքի միջոցով։ - .cs ընդլայնմամբ ֆայլ, որը պարունակում է սերվերում աշխատող տրամաբանությունը։
.as և c# ֆայլերի նկարագրման ամբողջական օրինակ
Օրինակներ
- Փաստաթղթի նկարագրման ձեռնարկ
- IDocumentService դաս
- Փաստաթղթի օգտագործման օրինակներ
- Փաստաթղթի ընդլայնման բազային դաս
- Փաստաթղթի ընդլայնման նկարագրման ձեռնարկ
DOCUMENT նկարագրություն
.as ընդլայնմամբ ֆայլ անհրաժեշտ է ավելացնել DOCUMENT նկարագրություն, որը պարունակում է փաստաթղթի մետատվյալները և դաշտերի, աղյուսակների, մեմոների նկարագրությունները և 8X-ին յուրահատուկ են հատկությունները, ինչպիսին են`
ALLOWSTOREINSERVICE
-ը, որը թույլատրում է փաստաթղթի գրանցումը 8X սերվիսում,PROCESSINGMODE
-ը, որը սահմանում է փաստաթղթի հիմնական գործողություններից (Store, Delete, Load, Create) որոնք են կատարվում 8X սերվիսում։
DOCUMENT նկարագրությանը ծանոթանալու համար տե՛ս:
Document դաս
Փաստաթղթի համար անհրաժեշտ է սահմանել դաս, որը ժառանգում է Document
դասը և ունի փաստաթղթի ներքին անունը պարունակող Document
ատրիբուտը։
Օրինակ
[Document("TemplGrp")]
public class TemplateGroups : Document
Հատկություններ
Archived
public bool Archived { get; internal set; }
Ցույց է տալիս փաստաթղթի արխիվացված լինելը։
CancellationToken
public CancellationToken CancellationToken { get; internal set; }
Փաստաթղթի գրանցման ժամանակ դադարեցման տոկեն։
Փաստաթղթի գրանցման ժամանակ կանչվող մեթոդներում (Validate, Action…) տալիս է հնարավորություն ստուգելու արդյոք UI-ում փաստաթղթի գրանցումը ընդատված է “Դադարեցնել” կոճակի միջոցով , թե ոչ։
CopiedFrom
public int CopiedFrom { get; internal set; } = -1;
Վերադարձնում է այն փաստաթղթի isn-ը, որից պատճենվել է տվյալ փաստաթուղթը։
CreatorSUID
public short CreatorSUID { get; internal set; }
Վերադարձնում է փաստաթուղթը ստեղծողի ներքին համարը (user id):
CreationDate
public DateTime CreationDate { get; internal set; }
Վերադարձնում է փաստաթղթի ստեղծման ամսաթիվը/ժամանակը։
Description
public DocumentDescription Description { get; internal set; }
Վերադարձնում է փաստաթղթի նկարագրությունը, որը պարունակում է փաստաթղթի աղյուսակների, դաշտերի, մեմոների, նկարների հատկությունները։
DocumentChangeRequest
public DocumentChangeRequest DocumentChangeRequest { get; internal set; }
Վերադարձնում է փաստաթղթի փոփոխման հայտը գրանցման իրադարձություններում (Validate, Action), երբ փոփոխման հայտը հաստատվում է։
DocumentLog
public DocumentLog DocumentLog { get; internal set; } = new DocumentLog();
Նախատեսված է փաստաթղթի լոգերի ժամանակավոր պահպանման համար, որոնք գրանցվում են փաստաթղթի պատմությունում փաստաթղթի գրանցման ժամանակ։
Deleting
public bool Deleting { get; internal set; }
Ցույց է տալիս, արդյոք փաստաթուղթը հեռացման ընթացքում է IDocumentService դասի Delete, DeleteAll մեթոդների միջոցով։
ExistsInDB
public bool ExistsInDB { get; internal set; }
Ցույց է տալիս փաստաթղթի գրանցված լինելը տվյալների պահոցում։
Grids
public IReadOnlyDictionary<string, IGrid> Grids { get; private set; }
Վերադարձնում է փաստաթղթի աղյուսակների բազմությունը, որտեղ բանալին աղյուսակի ներքին անունն է, իսկ արժեքը՝ աղյուսակը IGrid ինտերֆեյսով։
GridsInitialized
public bool GridsInitialized { get; protected internal set; }
Ցույց է տալիս փաստաթղթի աղյուսակների ձևավորված լինելը։
GridsLoaded
public bool GridsLoaded { get; protected internal set; }
Ցույց է տալիս փաստաթղթի աղյուսակների բեռնված լինելը։ Տե՛ս IDocumentService.Load։
GridsLoading
public bool GridsLoading { get; internal set; } = false;
Ցույց է տալիս փաստաթղթի աղյուսակները գտնվում են բեռնման պրոցեսում թե ոչ։ Այս հատկանիշը էական է աղյուսակների բեռնման սեփական մշակման դեպքում։ Տե՛ս DoLoadGrids։
IsCancellationSupported
public virtual bool IsCancellationSupported { get { return true; } }
Այս մշակվող հատկության միջոցով հնարավոր է թույլատրել կամ արգելել UI-ից փաստաթղթի գրանցման դադարեցման (cancellation) հնարավորությունը։
IsLogged
public bool IsLogged { get; set; }
Ցույց է տալիս, արդյոք փաստաթղթի լոգերը գրանցվել են փաստաթղթի պատմություն-ում WriteLog մեթոդի միջոցով։
indexer
public object this[string name] { get; set; }
Վերադարձնում կամ նշանակում է փաստաթղթի տրված ներքին անունով դաշտի արժեքը։
Պարամետրեր
name
- Փաստաթղթի դաշտի ներքին անունը։
InitialSnapshot
public DocumentSnapshot InitialSnapshot { get; private set; }
Snapshots-ից վերադարձնում է "InitialSnapshot"
բանալիով փաստաթղթի քեշավորված պատկերը։
ISN
public int ISN { get; internal set; }
Վերադարձնում է փաստաթղթի ներքին նույնականացման համարը (isn-ը):
IsNew
public bool IsNew { get; internal set; }
Վերադարձնում է փաստաթղթի նոր կամ սևագիր լինելու հայտանիշը։
IsUIOrigin
public bool IsUIOrigin
Ցույց է տալիս փաստաթղթի պատուհանը երևում է UI-ում, թե ոչ։
LastFixedState
public short LastFixedState { get; internal set; } = 0;
Վերադարձնում է փաստաթղթի տվյալների պահոցում գրանցված վերջին վիճակը։
LogTransactions
public bool LogTransactions { get; set; }
Վերադարձնում կամ նշանակում է փաստաթղթի պատմության մեջ հաշվառումների գրանցման վերաբերյալ ավտոմատ լոգավորում կատարելու հայտանիշը։
NestedTransactionReport
public StorageInfo NestedTransactionReport { get; internal set; }
Վերադարձնում է DocumentService.NestedTransaction
մեթոդի կատարման արդյունքում առաջացած սխալները պարունակող TextReport-ի տեղակայման թղթապանակի և ֆայլի անունները։
Origin
public DocumentOrigin Origin { get; internal set; }
Վերադարձնում է փաստաթուղթը ստեղծման աղբյուրը:
Progress
public DocumentExecutionProgress Progress { get; private set; }
Վերադարձնում է փաստաթղթի կատարման պրոգրեսը։
Այս օբյեկտի միջոցով հնարավոր է կառավարել գրանցման փուլերը, UI-ում ցույց տալ այդ փուլերը և UI-ում ցույց տալ հաղորդագրության պատուհան (MessageBox):
Տե՛ս օգտագործման օրինակը։
Properties
public Dictionary<string, object> Properties { get; set; }
Այս հատկությունը օգտագործվում է 8X-ից 4X օբյեկտներ փոխանցելու կամ 4X-ից 8X եկող օբյեկտների պահպանման համար։
4X-ից 8X եկած բարդ օբյեկտները օգտագործելու համար անհրաժեշտ է դրանք բերել c#-ական տիպերի DeserializeComplexObjects մեթոդի միջոցով։
8X-ից 4X գնացող բարդ օբյեկտներն էլ անհրաժեշտ է բերել 4X-ի կողմից աջակցվող տիպերի SerializeComplexObjects մեթոդի միջոցով։
ShowProgress
public virtual bool ShowProgress { get { return false; } }
Ցույց է տալիս փաստաթղթի գրանցումը/հեռացումը UI-ում անհրաժեշտ է կատարել պրոգրեսի պատուհանով թե ոչ։
Snapshots
public Dictionary<string, DocumentSnapshot> Snapshots { get; internal set; } = new(StringComparer.InvariantCultureIgnoreCase);
Վերադարձնում է փաստաթղթի DocumentSnapshot
տիպի քեշավորված պատկերների բազմությունը։
State
public short State { get; set; }
Վերադարձնում կամ նշանակում է փաստաթղթի վիճակը:
Ի տարբերություն LastFixedState հատկության, State հատկությունը վերադարձնում է փաստաթղթի ընթացիկ վիճակը, որը կարող է նաև տվյալների պահոցում գրանցված չլինել։
StoreMode
public StoreMode StoreMode { get; internal set; }
Վերադարձնում է տվյալների պահոցում փաստաթղթի գրանցման ռեժիմը գրանցման մեթոդների ընթացքում։
StoredFacts
public List<Fact> StoredFacts { get; internal set; }
Վերադարձնում է փաստաթղթի ժամանակավոր պահված հաշվառումների գրառումների ցուցակը, որոնք ավելանում են DocumentService.StoreFact մեթոդով։
IDBService.TransDeferred հատկության true
արժեքի դեպքում հաշվառումները պահվում են ժամանակավոր այս հատկությունում և գրանցվում տվյալների պահոցում IDocumentService.Store մեթոդով փաստաթուղթը գրանցելիս, հակառակ դեպքում գրանցվում են տվյալների պահոցում անմիջապես։
StoreSnapshot
public DocumentSnapshot StoreSnapshot { get; private set; }
Snapshots-ից վերադարձնում է "StoreSnapshot"
բանալիով փաստաթղթի քեշավորված պատկերը։
TemplateSubstitutionIsExtended
public virtual bool TemplateSubstitutionIsExtended { get; }
Այս հատկության true
արժեքի դեպքում փաստաթղթի տպելու ձևանմուշի լրացվող արժեքների հաշվարկի համար անհրաժեշտ է մշակել TemplateSubstitutionEx մեթոդի միջոցով՝ TemplateSubstitution-ի փոխարեն։
Այս մեթոդի մշակման դեպքում տպելու ձևանմուշում արժեքները ավելանում են տիպիզացված ձևով, ոչ թե object տիպով։
TimeStamp
public byte[] TimeStamp { get; internal set; }
Վերադարձնում է փաստաթղթի վերջին փոփոխման ամսաթիվը և ժամանակը` որպես byte տիպի զանգված:
Մեթոդներ
Action
public virtual Task Action(ActionEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Store ֆունկցիայով փաստաթուղթը տվյալների պահոցում գրանցելուց առաջ։
Հաշվառումների ստեղծումը և տվյալների պահոցում գրանցումը հարկավոր է կատարել այս մեթոդում IDocumentService.StoreFact մեթոդով։
Հանդիսանում է 4x համակարգում նկարագրված Action իրադարձության համարժեքը:
AddParent
public Task AddParent(int isn)
Ավելացնում է տրված isn-ով փաստաթուղթը փաստաթղթի ծնող փաստաթղթերի ցուցակում։
Ծնող փաստաթղթերի ցուցակը գրանցում է տվյալների պահոցի DOCP աղյուսակում IDocumentService.Store ֆունկցիայով փաստաթուղթը տվյալների պահոցում գրանցելուց:
Պարամետրեր
isn
- Ծնող փաստաթղթի ներքին նույնականացման համարը։
AfterCommit
public virtual Task AfterCommit(AfterCommitEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Load ֆունկցիայով փաստաթուղթը տվյալների պահոցից բեռնելուց անմիջապես հետո։
Հանդիսանում է 4x համակարգում նկարագրված AfterCommit
իրադարձության համարժեքը:
AfterCreate
public virtual Task AfterCreate(AfterCreateEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Create ֆունկցիայով փաստաթղթի օբյեկտը ստեղծելուց հետո։
Փաստաթղթի ներմուծման ժամանակ մեթոդը չի կանչվում։
Հանդիսանում է 4x համակարգում նկարագրված AfterCreate իրադարձության համարժեքը:
AfterLoad
public virtual Task AfterLoad(AfterLoadEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Load ֆունկցիայով փաստաթուղթը տվյալների պահոցից բեռնելուց անմիջապես հետո։
Մեթոդում սովորաբար փաստաթղթի դաշտերին տրվում են ժամանակավոր արժեքներ։
Հանդիսանում է 4x համակարգում նկարագրված AfterLoad իրադարձության համարժեքը:
ApplySnapshot
public void ApplySnapshot(DocumentSnapshot snapshot)
snapshot
պարամետրում եղած փաստաթղթի քեշավորված պատկերի արժեքները վերագրում է փաստաթղթի դաշտերին և աղյուսակներին։
Պարամետրեր
snapshot
- Փաստաթղթի վրա կիրառվող քեշավորված պատկեր օբյեկտ։
BeforeCommit
public virtual Task BeforeCommit(BeforeCommitEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Store ֆունկցիայով փաստաթուղթը տվյալների պահոցում գրանցելուց տրանզակցիան փակելուց առաջ։
Մեթոդում իմաստ չունի փոխել փաստաթղթի հատկությունները, գեներացնել հաշվառումները և այլն, քանի որ փաստաթուղթը արդեն գրանցվել է տվյալների պահոցում։
Հանդիսանում է 4x համակարգում նկարագրված BeforeCommit իրադարձության համարժեքը:
BeforeCopy
public virtual Task BeforeCopy(BeforeCopyEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Copy ֆունկցիայով փաստաթղթի պատճեն օբյեկտը ստեղծելուց հետո։
Հանդիսանում է 4x համակարգում նկարագրված BeforeCopy իրադարձության համարժեքը:
BeforeImportProcessing
public virtual Task BeforeImportProcessing(BeforeImportProcessingEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից փաստաթղթերի ներմուծման ժամանակ փաստաթղթի օբյեկտի ստեղծելուց հետո։
Հանդիսանում է 4x համակարգում նկարագրված BeforeImport իրադարձության համարժեքը:
Body
public string Body()
Վերադարձնում է փաստաթղթի սերիալիզացված դաշտերի բազմությունը որպես տեքստ, ինչպես գրված է ներմուծման .as ընդլայնմամբ ֆայլում կամ DOCS աղյուսակի fBODY
սյունում։
Ներառված չեն փաստաթղթի աղյուսակները, նկարները և մեծ տեքստային դաշտերը (մեմո)։
BuildEmbeddedUIRequest
public void BuildEmbeddedUIRequest<T>(T uiRequestExecutionProgress) where T : IUIRequestExecutionProgress;
DPR-ում (կամ այլ հերթագրվող պրոցեսում) փաստաթղթերի գրանցման/հեռացման ընթացքում առաջացող հաղորդագրությունները UI-ում ցուցադրելու համար անհրաժեշտ է DPR-ի Execute մեթոդում մինչև փաստաթղթի Store/Delete գործողությունները կանչել BuildEmbeddedUIRequest մեթոդը փոխանցելով DPR.Progress-ը։
Պարամետրեր
uiRequestExecutionProgress
- DPR-ի կատարման պրոգրեսը։
DefaultComment
public virtual Task DefaultComment(DefaultCommentEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից փաստաթղթի թղթապանակի տարր ստեղծելուց մեկնաբանություն լրացնելու համար։
Հանդիսանում է 4x համակարգում նկարագրված DefaultComment իրադարձության համարժեքը:
DefineLimits
public void DefineLimits(string accountingType, int isn, DateTime date, decimal upperLimit, decimal lowerLimit)
Սահմանում է հաշվառման վերին և ստորին սահմանաչափերը։
Պարամետրեր
accountingType
- Հաշվառման կոդը։isn
- Հաշվառվող օբյեկտի ներքին նույնականացման համար։date
- Վերին և ստորին սահմանաչափերի նշանակման ամսաթիվը։upperLimit
- Սահմանվող վերին սահմանաչափը։lowerLimit
- Սահմանվող ստորին սահմանաչափը։
Delete
public virtual Task Delete(DeleteEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Delete ֆունկցիայով փաստաթղթի ջնջելուց առաջ։
Նախատեսված է ջնջելուց առաջ ստուգումներ կատարելու և կապակցված տվյալներ ջնջելու համար։
Հանդիսանում է 4x համակարգում նկարագրված Delete իրադարձության համարժեքը:
DeserializeComplexObjects
public virtual Task DeserializeComplexObjects(DeserializeComplexObjectsEventArgs args)
Մեթոդը անհրաժեշտ է մշակել այն դեպքում, երբ 4X-ական փաստաթղթի Properties հատկությունով եկած բարդ օբյեկտները անհրաժեշտ է բերել համապատասխան c#-ական տիպերի 8X-ում։
Օրինակ
public override async Task DeserializeComplexObjects(DeserializeComplexObjectsEventArgs args)
{
foreach (var key in args.ComplexObjectsJson.Keys)
{
if (key.StartsWith("StmKey"))
{
this.Properties.Add(key, await this.DocumentService.DeserializeRequestBody(args.Deserialize<DocumentModel>(key)));
}
}
}
ExistsGrid
public bool ExistsGrid(string grid)
Ստուգում է տրված ներքին անունով աղյուսակի առկայությունը փաստաթղթի նկարագրության մեջ։
Պարամետրեր
grid
- Աղյուսակի ներքին անունը։
ExistsRekvizit
public bool ExistsRekvizit(string rekv)
Ստուգում է տրված ներքին անունով դաշտի առկայությունը փաստաթղթի նկարագրության մեջ։
Պարամետրեր
rekv
- Դաշտի ներքին անունը։
Folders
public virtual Task Folders(FoldersEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Store ֆունկցիայով փաստաթուղթը տվյալների պահոցում գրանցելուց առաջ։ Կանչվում է նաև փաստաթղթերի ինդեքսավորման ժամանակ։
Թղթապանակների, ծառերի տարրերի ստեղծումը և տվյալների պահոցումը գրանցումը հարկավոր է կատարել այս մեթոդում՝ կանչելով համապատասխանաբար IDocumentService.StoreInFolder և IDocumentService.StoreInTree մեթոդները։
Հանդիսանում է 4x համակարգում նկարագրված Folders իրադարձության համարժեքը:
GetCheckValue
public bool GetCheckValue(string fieldName)
Վերադարձնում է փաստաթղթի նշված ներքին անունով դաշտի տիպի ստուգման հայտանիշը:
false
արժեքի դեպքում դաշտի լրացման կամ ցուցադրման ժամանակ չի ստուգվում արժեքի առկայությունը ծառում կամ թղթապանակում։
true
արժեքի դեպքում դաշտի արժեքը պետք է գոյություն ունենա դաշտի համակարգային տիպում նկարագրված ծառում կամ թղթապանակում։
Պարամետրեր
fieldName
- Դաշտի ներքին անունը։
GetFieldType
public FieldType GetFieldType(string fieldName)
Վերադարձնում է փաստաթղթի տրված ներքին անունով դաշտի համակարգային տիպը։
Պարամետրեր
fieldName
- Դաշտի ներքին անունը։
GetImage
public byte[] GetImage(string name)
Վերադարձնում է փաստաթղթի տրված ներքին անունով նկար դաշտը՝ որպես byte տիպի զանգված։
Պարամետրեր
name
- Նկարի ներքին անունը։
GetMemo
public string GetMemo(string name)
Վերադարձնում է փաստաթղթի տրված ներքին անունով մեծ տեքստային դաշտի (մեմոյի) արժեքը։
Պարամետրեր
name
- Մեմոյի ներքին անունը։
GetNextTrans
public int GetNextTrans()
Վերադարձնում է փաստաթղթի տրանզակցիայի հերթական նոր համարը։
Մի քանի գրանցվող հաշվառում խմբավորելու համար օգտագործվում է Trans հատկությունը, որին տրվում է մեկ տրանզակցիայի համար։ Նոր համար ստացվում է այս ֆունկցիայի միջոցով։
GetParents
public Task<List<int>> GetParents()
Վերադարձնում է փաստաթղթի ծնող փաստաթղթերի isn-ների ցուցակը։
Քեշում առկայության դեպքում վերադարձնում է քեշից, հակառակ դեպքում բեռնում տվյալների պահոցից։
Grid
public IGrid Grid(string name)
Վերադարձնում է փաստաթղթի տրված ներքին անունով աղյուսակը։
IGrid-ի տակից կարող է լինել չտիպիզացված կամ տիպիզացված աղյուսակ` կախված նրանից, թե CodeGen գործիքի միջոցով աղյուսակերը ձևավորվել են տիպիզացված թե չտիպիզացված ձևով։
Պարամետրեր
fieldName
- Աղյուսակի ներքին անունը։
InitGrids
protected void InitGrids()
Ձևավորում է փաստաթղթի աղյուսակները՝ առանց տվյալների բեռնելու։
DoLoadGrids
protected virtual Task DoLoadGrids(LoadGridsEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Load մեթոդի միջոցով փաստաթուղթը բեռնելիս։
Նախատեսված է DOCSG աղյուսակում չպահվող փաստաթղթի աղյուսակների բեռնման տրամաբանության սահմանման համար։
Մեթոդը չմշակելու դեպքում բեռնվելու են DOCSG աղյուսակում պահվող փաստաթղթի աղյուսակները։
Պարամետրեր
args
- LoadGridsEventArgs տիպի օբյեկտ, որը պարունակում է GridLoadMode տիպի օբյեկտ, որը սահմանում է փաստաթղթի աղյուսակների բեռնման ռեժիմը։
LoadGrids
public Task LoadGrids(LoadGridsEventArgs args)
Բեռնում է փաստաթղթի աղյուսակները, եթե մինչ այդ բեռնված չէին IDocumentService.Load մեթդով:
Պարամետրեր
args
- LoadGridsEventArgs տիպի օբյեկտ, որը պարունակում է GridLoadMode տիպի օբյեկտ, որը սահմանում է փաստաթղթի աղյուսակների բեռնման ռեժիմը։
LoadImagesAndMemos
public Task LoadImagesAndMemos(ArchiveInfo archiveInfo = null)
Բեռնում է փաստաթղթի նկարները և մեծ տեքստային դաշտերը (մեմոներ) տվյալների պահոցից` մինչև այս բեռնված չլինելու դեպքում։
Պարամետրեր
archiveInfo
- ArchiveInfo դասի օբյեկտ, որը պարունակում է արխիվացված փաստաթուղթը պարունակող տվյալների պահոցի անունը և IDBService դասի օբյեկտ՝ այդ պահոցի հետ Sql միացում ապահովելու համար։ null արժեքի դեպքում նկարները և մեմոները բեռնում է հիմնական տվյալների պահոցից։
LoadParents
public Task LoadParents()
Բեռնում է փաստաթղթի ծնող փաստաթղթերի isn-ների ցուցակը տվյալների պահոցից` անկախ այն փաստից մինչև այդ բեռնված էին թե ոչ։
OnConfirmDocumentChangeRequest
public virtual Task OnConfirmDocumentChangeRequest(ConfirmDocumentChangeRequestEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից փաստաթղթի փոփոխման հայտը IDocumentChangeRequestService.Confirm
մեթոդով հաստատելիս։
Հանդիսանում է 4x համակարգում նկարագրված ONCONFIRMDCR
իրադարձության համարժեքը:
OnRefuse
public virtual Task OnRefuse(RefuseEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Delete մեթոդի միջոցով փաստաթղթի ջնջելուց առաջ, եթե մեթոդի callDelete
պարամետրի արժեքը false
է։
Այս մեթոդի մշակման դեպքում իմաստ չունի մշակել Delete մեթոդը, քանի որ մեթոդը չի կանչվելու միջուկի կողմից։
Հանդիսանում է 4x համակարգում նկարագրված OnRefuseDoc
իրադարձության համարժեքը:
OnRejectDocumentChangeRequest
public virtual Task OnRejectDocumentChangeRequest(RejectDocumentChangeRequestEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից փաստաթղթի փոփոխման հայտը IDocumentChangeRequestService.Reject
մեթոդով մերժելիս։
Հանդիսանում է 4x համակարգում նկարագրված ONCONFIRMDCR
իրադարձության համարժեքը:
PostMessage
public virtual Task PostMessage(PostMessageEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից, երբ կից փաստաթղթից այս փաստաթղթին ուղարկվում է ծրագրային հաղորդագրություն SendMessage ֆունկցիայի միջոցով, դրանից հետո այս փաստաթուղթը գրանցվում է տվյալների պահոցում։
Հանդիսանում է 4x համակարգում նկարագրված PostMessage իրադարձության համարժեքը:
RefreshTimeStamp
public Task RefreshTimeStamp()
Բեռնում է փաստաթղթի վերջին փոփոխման ամսաթիվը/ժամանակը տվյալների պահոցից և այն թարմացնում հիշողության մեջ՝ վերագրելով TimeStamp հատկությանը։
SendMessage
public Task SendMessage(string message,
int isn = -1,
string messageForDocLog = "",
bool raiseErrorIfDocNotExists = true,
bool raiseErrorIfParentNotExists = true)
Ուղարկում է հաղորդագրություն այլ փաստաթղթի (կամ ծնող փաստաթղթերին) աշխատացնելով PostMessage ֆունկցիան:
Հաղորդագրություն ստանալուց հետո ստացող փաստաթղթի պատմության
մեջ գրանցվում է հաղորդագրության տեքստը և ստացող փաստաթուղթը գրանցվում է տվյալների պահոցում StoreMode հատկությանը տալով ContinueProcessing
արժեքը։
Պարամետրեր
message
- Ուղարկվող հաղորդագրության տեքստը։isn
- Հաղորդագրությունը ստացող փաստաթղթի ներքին նույնականացման համարը։ Եթե պարամետրը փոխանցված չէ, ապա հաղորդագրությունը կուղարկվի ընթացիկ փաստաթղթի ծնող փաստաթղթերին, եթե այդպիսիք առկա են։messageForDocLog
- Ստացող փաստաթղթի պատմության մեջ գրանցվող տեքստը։ Եթե պարամետրը փոխանցված չէ, ապա պատմության մեջ կգրանցվիmessage
պարամետրի արժեքը։raiseErrorIfDocNotExists
- Ստացող փաստաթղթի բացակայության դեպքում սխալի գեներացում։ Լռությամբ արժեքը true է։raiseErrorIfParentNotExists
- Ստացող ծնող փաստաթղթերի բացակայության դեպքում սխալի գեներացում։ Լռությամբ արժեքը true է։
SerializeComplexObjects
public virtual Task SerializeComplexObjects(SerializeComplexObjectsEventArgs args)
Մեթոդը անհրաժեշտ է մշակել այն դեպքում, երբ 8X-ական փաստաթղթի Properties հատկությունում եկած բարդ օբյեկտները անհրաժեշտ է բերել 4X-ական տիպերի՝ 4X-ում օգտագործելու համար։
SetCheckValue
public void SetCheckValue(string fieldName, bool value)
Նշանակում է փաստաթղթի նշված ներքին անունով դաշտի համակարգային տիպի ստուգման հայտանիշը:
Պարամետրեր
fieldName
- Դաշտի ներքին անունը։value
- Սահմանում է դաշտի համակարգային տիպում նշված ծառում կամ թղթապանակում դաշտի արժեքի առկայությունը։false
արժեքի դեպքում դաշտի լրացման կամ ցուցադրման ժամանակ չի ստուգվելու արժեքի առկայությունը ծառում կամ թղթապանակում,true
արժեքի դեպքում դաշտի արժեքը պետք է գոյություն ունենա դաշտի համակարգային տիպում նկարագրված ծառում կամ թղթապանակում։
SetDefaultValuesForFields
public void SetDefaultValuesForFields(IList<string> fields)
Վերագրում է լռությամբ արժեքներ փաստաթղթի տրված դաշտերին։
Պարամետրեր
fields
- Փաստաթղթի դաշտերի ներքին անունների ցուցակ։
SetDefaultValuesForFields
public void SetDefaultValuesForFields(params string[] fields)
Վերագրում է լռությամբ արժեքներ փաստաթղթի տրված դաշտերին։
Պարամետրեր
fields
- Փաստաթղթի դաշտերի ներքին անունների ցուցակ։
SetImage
public void SetImage(string name, byte[] value)
Արժեքավորում է փաստաթղթի տրված ներքին անունով նկար դաշտը։
Պարամետրեր
name
- Նկարի ներքին անունը։value
- Վերագրվող արժեքը։
SetMemo
public void SetMemo(string name, string value)
Արժեքավորում է փաստաթղթի տրված ներքին անունով մեծ տեքստային դաշտը (մեմո)։
Պարամետրեր
name
- Մեմոյի ներքին անունը։value
- Վերագրվող արժեքը։
Store
public Task Store(DocumentCheckLevel checkLevel = DocumentCheckLevel.None, string logComment = "")
Կատարում է պարտադիր ստուգումներ և գրանցում փաստաթուղթը տվյալների պահոցում։
Պարամետրեր
checkLevel
- Փաստաթղթի գրանցման եղանակ, որը որոշում է թե ինչ ստանդարտ ստուգումներ և մշակիչներ (Action, Validate) կարող են անջատվել կամ միացվել փաստաթղթի գրանցման ընթացքում, ինչպես նաև, թե ինչ լրացուցիչ մշակիչներ պետք է գործարկվեն։logComment
- Փաստաթղթի պատմության մեջ գրվող տեքստը։
StoreGrids
public virtual Task StoreGrids(StoreGridsEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից փաստաթուղթը IDocumentService.Store մեթոդի միջոցով տվյալների պահոցում գրանցելուց։
Մեթոդի գերբեռնումը նախատեսված է փաստաթղթի ցանկալի աղյուսակները DOCSG աղյուսակի մեջ չպահպանելու և այլ տեղերում պահպանելու համար։
Այլ տեղում պահպանված աղյուսակները հարկավոր է ավելացնել args.IgnoreGrids
ցուցակում։
args.IgnoreGrids.AddRange([Grid("CLIENTS"), Grid("STMDATES")]);
Մշակման դեպքում ծրագրավորողը պետք է ապահովի աղյուսակի ճիշտ բեռնումը մշակելով DoLoadGrids մեթոդը։
Հանդիսանում է 4x համակարգում նկարագրված StoreGrid իրադարձության համարժեքը:
StoreValuesHistory
public Task StoreValuesHistory()
Փաստաթղթի դաշտերի արժեքները գրանցում է տվյալների պահոցի LASTVALUESGROUP
աղյուսակում։
Օգտագործվում է UI-ում փաստաթղթի պատուհանում նախկին օգտագործված արժեքները առաջարկելու համար։
TakeSnapshot
public Task TakeSnapshot(SnapshotContent content, string name, bool overwrite = true)
Քեշավորում և պահպանում է փաստաթղթի պատկերը Snapshots-ում։
Պարամետրեր
content
- Սահմանում է փաստաթղթի քեշավորվող կտորները, որը կարող է ընդունել հետևյալ արժեքները՝- SnapshotContent.None - ոչինչ չի քեշավորվում,
- SnapshotContent.Requisites - քեշավորվում են միայն դաշտերը,
- SnapshotContent.Grids - քեշավորվում են միայն աղյուսակները,
- SnapshotContent.All - քեշավորվում են դաշտերը և աղյուսակները։
name
- Ստեղծվող քեշավորման օբյեկտի ներքին անուն, որը հանդիսանալու է բանալի Snapshots-ում։overwrite
- Snapshots-ում բանալիի առկայության դեպքում վերարտագրման հայտանիշ։
TemplateSubstitution
public virtual Task<TemplateSubstitution> TemplateSubstitution(Dictionary<string, bool> mode, Dictionary<string, object> parameters = null)
Մեթոդը կանչվում է միջուկի կողմից, երբ փաստաթղթի համար ձևավորվում է տպման ձև և անջատված է TemplateSubstitutionIsExtended հատկությունը։
Հանդիսանում է 4x համակարգում նկարագրված TemplateSubstitution իրադարձության համարժեքը:
TemplateSubstitutionEx
public virtual Task<TemplateSubstitutionEx> TemplateSubstitutionEx(Dictionary<string, bool> mode, Dictionary<string, object> parameters = null)
Մեթոդը կանչվում է միջուկի կողմից, երբ փաստաթղթի համար ձևավորվում է տպման ձև և միացված է TemplateSubstitutionIsExtended հատկությունը։
Հանդիսանում է 4x համակարգում նկարագրված TemplateSubstitution իրադարձության համարժեքը:
Validate
public virtual Task Validate(ValidateEventArgs args)
Մեթոդը կանչվում է միջուկի կողմից IDocumentService.Store ֆունկցիայով փաստաթուղթը տվյալների պահոցում գրանցելուց առաջ։
Օգտագործվում է փաստաթղթի դաշտերի արժեքների ստուգման համար։
Հանդիսանում է 4x համակարգում նկարագրված Validate իրադարձության համարժեքը:
WriteLog
public Task WriteLog(string message, int dcrId = -1, bool dcrIdIsISN = false)
Ավելացնում է նոր գրառում փաստաթղթի պատմության մեջ։
Փաստաթղթի կյանքի ընթացքում մի շարք գործողություններ գրանցվում են պատմության մեջ ավտոմատ կերպով, ինչպիսին են փաստաթղթի ստեղծումը կամ խմբագրումը։
Այս մեթոդի միջոցով հնարավոր է ավելացնել լրացուցիչ տողեր։
dcrIdIsISN
պարամետրի false
արժեքի դեպքում DOCLOG աղյուսակում ավելանում է գրառում "M"
կոդով, հակառակ դեպքում "L"
կոդով։
Մեթոդը Action մեթոդի մեջ կանչելու դեպքում գրանցումները տվյալների պահոցում կատարվում են Action մեթոդի ավարտից հետո, հակառակ դեպքում գրանցումը կատարվում է անմիջապես։
Պարամետրեր
message
- Փաստաթղթի պատմությունում ավելացվող հաղորդագրություն։dcrId
- Փոփոխման հայտի համարը (DocChangeRequest) կամ հիմքային փաստաթղթի ներքին նույնականացման համարը։dcrIdIsISN
-false
արժեքը ցույց է տալիս, որdcrId
-ը փոփոխման հայտի համար է,true
արժեքը՝ հիմքային փաստաթղթի ներքին նույնականացման համար։