IDocumentService սերվիս
Բովանդակություն
- Ներածություն
- Մեթոդներ
- Approve
- CheckProcessingMode
- CleanDeleted
- Copy
- Create
- Create
- Create
- CreateFactsUsingStateMoverFrom
- CreateParentLinkDB
- CreateParentLinksDB
- CreationDate
- CutChildLink
- CutParentLink
- Delete
- Delete
- DeserializeRequestBody
- ExistInDb
- FieldToAnsi
- FieldsToAnsi
- GetDocsInfo
- GetDocumentChildren
- GetDocumentParents
- GetDocumentState
- GetDocumentStatus
- GetDocumentType
- GetDocumentTypeFromFolder
- GetGrandChildren
- GetParentIsn
- GetParentIsn
- GetPassedState
- GetPassedState
- GetPassedState
- GetPassedState
- GetProcessingModes
- GetSUIDAndDate
- HiDelete
- HiDeleteAll
- HiParDelete
- IsArchived
- Load
- Load
- LoadFromFolder
- LoadFromFolder
- MakeParentLink
- ReFolder
- Store
- StoreFact
- StoreInFolder
- StoreInTree
Ներածություն
IDocumentService դասը նախատեսված է փաստաթղթի (Document) հետ աշխատանքը ապահովելու համար։
Մեթոդներ
Approve
public Task Approve(Document document,
DocumentCheckLevel checkLevel = DocumentCheckLevel.None,
string logComment = "")
Հաստատում է փաստաթուղթը և գրանցում տվյալների պահոցում։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։checkLevel
- Փաստաթղթի գրանցման եղանակ։logComment
- Փաստաթղթի պատմության մեջ գրանցվող հաղորդագրություն։
CheckProcessingMode
public Task CheckProcessingMode(string docType)
Ստուգում է տրված տեսակի փաստաթղթերի գրանցման/հեռացման հնարավորությունը 8X սերվիսում (փաստաթղթի կատարման ռեժիմը (ProcessingMode) չլինի 0
)։
0
լինելու դեպքում առաջանում է սխալ։
Պարամետրեր
docType
- Փաստաթղթի ներքին անունը (տեսակը)։
CleanDeleted
public Task CleanDeleted(DateTime startDate, DateTime endDate, string docType = "")
Ջնջված փաստաթղթերը լրիվ հեռացնում է համակարգից ըստ ջնջման ժամանակահատվածի։
Պարամետրեր
startDate
- ժամանակահատվածի սկզբի ամսաթիվ։endDate
- ժամանակահատվածի վերջին ամսաթիվ։docType
- Փաստաթղթի ներքին անունը (տեսակը)։ Չլրացնելու դեպքում մաքրվում են նշված ժամանակահատվածում հեռացված բոլոր փաստաթղթերը։
Copy
public Task<Document> Copy(int isn, object beforeCopyParam = null, int copyDocMode = 0)
Ստեղծում է արդեն գոյություն ունեցող փաստաթղթի պատճեն օբյեկտը։ Տրված ISN-ով փաստաթուղթը բեռնում է տվյալների պահոցից, որի հիման վրա ստեղծում է պատճեն օբյեկտը։
Պարամետրեր
isn
- Պատճենման ենթակա փաստաթղթի ներքին նույնականացման համար:beforeCopyParam
- Տվյալ պարամետրի արժեքը փոխանցվում է փաստաթղթի BeforeCopy իրադարձության մշակիչին։copyDocMode
- Փաստաթղթի պատճենման ռեժիմ։0
- Պատճենվում են բոլոր դաշտերի արժեքները։
1
- Պատճենման ռեժիմը կախված է փաստաթղթի նկարագրության CopyAsRepeatable հատկության արժեքից։
2
- Պատճենվում են միայն այն դաշտերը, որոնք պարունակում ենN
հայտանիշը։
Create
public Task<T> Create<T>(List<int> parentsISN = null,
DocumentOrigin origin = DocumentOrigin.AsService
) where T : Document
Ստեղծում է նշված տիպի փաստաթղթի նոր օբյեկտ։
Պարամետրեր
T
- Փաստաթղթի նկարագրված դաս 8X-ում, Document դասի ժառանգ։parentsISN
- Փաստաթղթի ծնող փաստաթղթերի ISN-ների ցուցակ:origin
- Փաստաթղթի ստեղծման աղբյուրը:
Create
public Task<T> Create<T>(int parentISN,
DocumentOrigin origin = DocumentOrigin.AsService
) where T : Document
Ստեղծում է նշված տիպի փաստաթղթի նոր օբյեկտ։
Պարամետրեր
T
- Փաստաթղթի նկարագրված դաս 8X-ում, Document դասի ժառանգ։parentISN
- Փաստաթղթի ծնող փաստաթղթի ISN-ը:origin
- Փաստաթղթի ստեղծման աղբյուրը:
Create
public Task<Document> Create(string typeName,
List<int> parentISN = null,
Type instanceType = null,
DocumentOrigin origin = DocumentOrigin.AsService)
Ստեղծում է նշված ներքին անունով (տեսակի) փաստաթղթի նոր օբյեկտ։
Պարամետրեր
typeName
- Փաստաթղթի ներքին անուն (տեսակ)։parentsISN
- Փաստաթղթի ծնող փաստաթղթերի ISN-ների ցուցակ:instanceType
- Փաստաթղթի նկարագրված դաս 8X-ում, Document դասի ժառանգ։։origin
- Փաստաթղթի ստեղծման աղբյուրը:
CreateFactsUsingStateMoverFrom
public Task CreateFactsUsingStateMoverFrom(Document document, int state)
Ֆունկցիան կանչելուց հետո Action-ում StoreFact ֆունկցիայով գրանցվող հաշվառումների ստեղծող օգատգործող է լրացվում այն օգտագործողը, որը վերջինն է փաստաթուղթը բերել նշված վիճակ։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։state
- Այն վիճակը, որը վերջին անգամ հասցնող օգտագործողը լրացվելու է, որպես գրանցվող հաշվառումների ստեղծող:
CreateParentLinkDB
public Task CreateParentLinkDB(int isn, int parentIsn = -1)
Փաստաթղթերի միջև ստեղծում է ծնող-զավակ կապ։ Ֆունկցիան ստեղծում է կապը անմիջապես տվյալների պահոցում։ Զավակ փաստաթուղթը պետք է գրանցված լինի տվյալների պահոցում։
Ի տարբերություն MakeParentLink-ի այս ֆունկցիան կարելի է կանչել ամենուրեք։
Պարամետրեր
isn
- Զավակ փաստաթղթի ներքին նույնականացման համար:parentIsn
- Ծնող փաստաթղթի ներքին նույնականացման համար։
CreateParentLinksDB
public Task CreateParentLinksDB(int isn, List<int> parentsIsn)
Փաստաթղթի և տրված ծնող փաստաթղթերի միջև ստեղծում է ծնող-զավակ կապ։ Ֆունկցիան ստեղծում է կապը անմիջապես տվյալների պահոցում։ Զավակ փաստաթուղթը պետք է գրանցված լինի տվյալների պահոցում։
Ի տարբերություն MakeParentLink-ի այս ֆունկցիան կարելի է կանչել ամենուրեք։
Պարամետրեր
isn
- Զավակ փաստաթղթի ներքին նույնականացման համար:parentIsn
- Ծնող փաստաթղթերի ներքին նույնականացման համարների ցուցակ։
CreationDate
public Task<(DateTime CreationDate, short SUID)> CreationDate(int isn, bool isNotRiseErrWhenNoRow = false)
Վերադարձնում է փաստաթղթի ստեղծման ամսաթիվը և ստեղծողի ներքին համարը։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար:isNotRiseErrWhenNoRow
- Պահանջվող փաստաթղթի չգտնվելու դեպքում սխալի առաջացման հայտանիշ։true
արժեքի դեպքում տվյալների պահոցում փաստաթղթի բացակայության ժամանակ վերադարձնում է01/01/1900
և-1
արժեքները:
CutChildLink
public Task CutChildLink(int isn, int childIsn = -1)
Ջնջում է փաստաթղթի և իրա զավակների միջև կապերը, կամ մեկ նշված զավակ փաստաթղթի հետ կապը։
Պարամետրեր
isn
- Այն փաստաթղթի ներքին նույնականացման համարը, որի համար խզվում է զավակների հետ կապը։childIsn
- Մեկ զավակի ներքին նույնականացման համար, այդ զավակի կապը կզելու համար։ Եթե պարամետրը փոխանցված չէ, ապա կապը խզվում է բոլոր առկա զավակների հետ։
CutParentLink
public Task CutParentLink(int isn, int parentIsn = -1)
Ջնջում է փաստաթղթի և իրա ծնողների միջև կապերը, կամ մեկ նշված ծնող փաստաթղթի հետ կապը։
Պարամետրեր
isn
- Այն փաստաթղթի ներքին նույնականացման համարը, որի համար խզվում է կապը ծնողի հետ։parentIsn
- Մեկ ծնողի ներքին նույնականացման համար, այդ ծնողի կապը կզելու համար։ Եթե պարամետրը փոխանցված չէ, ապա կապը խզվում է բոլոր առկա ծնողների հետ։
Delete
public Task<DeletedDoc> Delete(int isn,
bool fullDelete,
string comment,
bool callDelete = true,
bool inheritedDelete = false)
Ջնջում է փաստաթուղթը համակարգից։
Ջնջվող փաստաթղթերի համար առաջանում է Delete իրադարձությունը, ապա փաստաթղթի վիճակը դառնում է 999, որից հետո այդ փաստաթուղթը հայտնվում է ջնջված փաստաթղթերի թղթապանակում։
Ջնջման ժամանակ հեռացվում են նաև այդ փաստաթղթի բոլոր թղթապանակները, ծառի տարրերը և իր համար գրանցված հաշվառումները։
Եթե փաստաթուղթը ունի ենթափաստաթղթեր, ապա ջնջումը չի կատարվի և կառաջանա սխալ։
Ջնջումը տեղի է ունենում տրանզակցիայի մեջ։
Պարամետրեր
isn
- Ջնջվող փաստաթղթի ներքին նույնականացման համարը:fullDelete
- Փաստաթղթի վերջնական ջնջման հայտանիշ։
Վերջնական ջնջման ժամանակ փաստաթուղթը ջնջվում է բոլոր միջուկային աղյուսակներից՝ DOCP, FOLDERS, TREES, HIPAR, HIREST, HIREST2, ACCESS, HI և HI2։
Ոչ վերջնական ջնջման ժամանակ փաստաթուղթը մնում է DOCS, DOCLOG, DOCSG, DOCSIM աղյուսակների մեջ և վիճակը լինում է 999:comment
- Փաստաթղթի պատմության մեջ գրանցվող ջնջման մեկնաբանություն։callDelete
- Փաստաթղթի Delete իրադարձությունը կանչելու հայտանիշ։inheritedDelete
-true
արժեքի դեպքում փաստաթղթի պատմության մեջ գրվում է, որ փաստաթուղթը ջնջվել է այլ փաստաթղթի ջնջման ընթացքում։ Տվյալների պահոցում ջնջման կոդը լինում էH
, հակառակ դեպքումD
։
Delete
public Task<DeletedDoc> Delete(Document document,
bool fullDelete,
string comment,
bool callDelete = true,
bool inheritedDelete = false)
Ջնջում է փաստաթուղթը համակարգից։
Ջնջվող փաստաթղթերի համար առաջանում է Delete իրադարձությունը, ապա փաստաթղթի վիճակը դառնում է 999, որից հետո այդ փաստաթուղթը հայտնվում է ջնջված փաստաթղթերի թղթապանակում։
Ջնջման ժամանակ հեռացվում են նաև այդ փաստաթղթի բոլոր թղթապանակները, ծառի տարրերը և իր համար գրանցված հաշվառումները։
Եթե փաստաթուղթը ունի ենթափաստաթղթեր, ապա ջնջումը չի կատարվի և կառաջանա սխալ։
Ջնջումը տեղի է ունենում տրանզակցիայի մեջ։
Պարամետրեր
document
- Ջնջվող փաստաթուղթ։fullDelete
- Փաստաթղթի վերջնական ջնջման հայտանիշ։
Վերջնական ջնջման ժամանակ փաստաթուղթը ջնջվում է բոլոր միջուկային աղյուսակներից՝ DOCP, FOLDERS, TREES, HIPAR, HIREST, HIREST2, ACCESS, HI և HI2։
Ոչ վերջնական ջնջման ժամանակ փաստաթուղթը մնում է DOCS, DOCLOG, DOCSG, DOCSIM աղյուսակների մեջ և վիճակը լինում է 999:comment
- Փաստաթղթի պատմության մեջ գրանցվող ջնջման մեկնաբանություն։callDelete
- Փաստաթղթի Delete իրադարձությունը կանչելու հայտանիշ։inheritedDelete
-true
արժեքի դեպքում փաստաթղթի պատմության մեջ գրվում է, որ փաստաթուղթը ջնջվել է այլ փաստաթղթի ջնջման ընթացքում։ Տվյալների պահոցում ջնջման կոդը լինում էH
, հակառակ դեպքումD
։
DeserializeRequestBody
public Task<Document> DeserializeRequestBody(DocumentModel request, bool isExtended = false)
նախատեսված է կլիենտից դեպի սերվեր փաստաթղթի ուղարկման ժամանակ դեսերիալիզազիայի և Document տիպի օբյեկտի վերածեու համար։
Սովորաբար օգտագործվում է փաստաթղթի DeserializeComplexObjects մշակիչի մեջ։
Պարամետրեր
request
- Փաստաթղթի ցանցով փոխանցվող օբյեկտ։isExtended
- Ցույց է տալիս արդյոք փաստաթղթի դաշտերը պետք է բերվենANSI
կոդավորման և հեռացվեն ավելորդ բացակները, թե ոչ։
ExistInDb
public Task<bool> ExistInDb(int isn)
Ստուգում է փաստաթղթի առկայությունը տվյալների պահոցում։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար:
FieldToAnsi
public Task<object> FieldToAnsi(string docType, string name, object value)
Ձևափոխում է ցանցով փոխանցված արժեքը ANSI կոդավորման համարելով, որ այն պետք է լինի փաստաթղթի դաշտի արժեք։
Հաշվի է առնվում
- դաշտը լրացվում է հայերեն, թե ռուսերեն,
- փոխանցող կլինետը օգտագործում է յունկոդ տվյալներ, թե ANSI տվյալներ։
Պարամետրեր
docType
- Փաստաթղթի ներքին անունը (տեսակը)։name
- Դաշտի ներքին անուն։value
- Ցանցով փոխանցված արժեք։
Օրինակ Երբ ունենք Տվյալների մշակման հարցում, որը պարամետրեր է ստանում թե՛ յունիկոդով աշխատող կիենտից, թե՛ ANSI-ով աշխատող կլիենտից, ապա ստացված պարամետրերը կարիք է լինում ձևափոխել ANSI-ի կախված կլիենտի տեսակից։
Օրինակ
private async Task CreateVacationFromHR(Request.EmployeeFinalCalculation emplData, Request request)
{
var docWgLvOrd = await this.documentService.Create<WgLvOrd>();
docWgLvOrd.Code.Value = (string)await this.documentService.FieldToAnsi(nameof(WgLvOrd), nameof(WgLvOrd.Code), emplData.EmployeeNumber);
await docWgLvOrd.SetEmployeeData();
docWgLvOrd.DateR.NullableValue = request.OrderDate;
docWgLvOrd.Number.Value = (string)await this.documentService.FieldToAnsi(nameof(WgLvOrd), nameof(WgLvOrd.Number), request.OrderNumber);
docWgLvOrd.DateS.Value = request.FinalCalculationDate;
docWgLvOrd.DateE.Value = request.FinalCalculationDate;
docWgLvOrd.DateSC.Value = new DateTime(request.AverageYear, request.AverageMonth, 1);
docWgLvOrd.CalcDate.Value = new DateTime(request.CalculationYear, request.CalculationMonth, 1);
docWgLvOrd.LvType.Value = (string)await this.documentService.FieldToAnsi(nameof(WgLvOrd), nameof(WgLvOrd.LvType), request.LeaveType);
docWgLvOrd.LvScheme.Value = (string)await this.documentService.FieldToAnsi(nameof(WgLvOrd), nameof(WgLvOrd.LvScheme), request.LeaveScheme);
docWgLvOrd.TabType.Value = request.DaysCalculationType;
docWgLvOrd.fCalc.Value = true;
docWgLvOrd.fDni.Value = Math.Abs(emplData.FinalCalculationDays);
docWgLvOrd.DedReCalc.Value = emplData.FinalCalculationDays < 0;
docWgLvOrd.Coment.Value = (string)await this.documentService.FieldToAnsi(nameof(WgLvOrd), nameof(WgLvOrd.Coment), request.Comment);
docWgLvOrd.bPlan.Value = "f";
docWgLvOrd.Dni.Value = (short)Math.Abs(emplData.FinalCalculationDays);
docWgLvOrd.MaxDni.Value = (short)Math.Abs(emplData.FinalCalculationDays);
docWgLvOrd.SetPeriodAndYear();
docWgLvOrd.bISN.Value = docWgLvOrd.ISN;
docWgLvOrd.Property_LeaveGr = true;
docWgLvOrd.Property_DontCheckPeriodCrossing = true;
docWgLvOrd.BuildEmbeddedUIRequest(this.Progress);
await docWgLvOrd.Store();
}
FieldsToAnsi
public Task<Dictionary<string, object>> FieldsToAnsi(string docType, Dictionary<string, object> fields)
Ձևափոխում է ցանցով փոխանցված արժեքների բազմությունը ANSI կոդավորման համարելով, որ դրանք պետք է լինեն փաստաթղթի դաշտերի արժեքներ։
Հաշվի է առնվում
- դաշտը լրացվում է հայերեն, թե ռուսերեն,
- փոխանցող կլինետը օգտագործում է յունկոդ տվյալներ, թե ANSI տվյալներ։
Տե՛ս նաև FieldToAnsi
Պարամետրեր
docType
- Փաստաթղթի ներքին անունը (տեսակը)։fields
- Փաստաթղթի դաշտերի ներքին անունների և արժեքների բազմություն։
GetDocsInfo
public ArchiveInfo GetDocsInfo()
Վերադարձնում է փաստաթղթերի արխիվը պարունակող տվյալների պահոցի անունը և Sql միացումը դեպի այդ տվյալների պահոց։
GetDocumentChildren
public Task<List<(int isn, string docType)>> GetDocumentChildren(
int isn,
string docType = "",
DocumentChildrenOrder order = DocumentChildrenOrder.UnOrdered,
string docTypeLike = "")
Վերադարձնում է փաստաթղթի զավակ փաստաթղերի isn-ների ու ներքին անունների (տեսակների) ցուցակը:
Եթե փաստաթուղթը չի ունենում զավակներ, ապա ֆունկցիան վերադարձնում է դատարկ ցուցակ։
Պարամետրեր
isn
- Ծնող փաստաթղթի ներքին նույնականացման համարը:docType
- Սահմանում է ներառվող կամ չներառվող զավակ փաստաթղթերի տիպերը։
Եթե պարամետրը առկա չի, ապա վերադարձվում են բոլոր տիպի զավակ փաստաթղթերի isn-ները ու տեսակները։
Ներառվող տիպերի ցուցակը թվարկվում են+
նշանով սկսելով՝ փաստաթղթի տեսակների անվանումները իրարից առանձնացնելով բացատներով։ Օրինակ՝"+KasPr MemOrd SetPr"
։
Չներառվող տիպերի ցուցակը թվարկվում են-
նշանով սկսելով՝ փաստաթղթի տեսակների անվանումները իրարից առանձնացնելով բացատներով։ Օրինակ՝"-AccDoc AsTurn"
։
Միայն նշված տիպի զավակ փաստաթղթերը վերադարձնելու համար անհրաժեշտ է ավելացնել փաստաթղթի տեսակը։ Օրինակ՝"AccDoc"
:order
- Ըստ զավակ փաստաթղթերի ստեղծման ամսաթվի դասավորման նշան։
DocumentChildrenOrder.UnOrdered
- Չի դասավորվում։
DocumentChildrenOrder.CreationDateAscending
- Դասավորվում է աճման կարգով։
DocumentChildrenOrder.CreationDateDescending
- Դասավորվում է նվազման կարգով։docTypeLike
- Սահմանում է ներառվող կամ չներառվող զավակ փաստաթղթերի տիպերի ֆիլտր։ Եթե պարամետրը առկա չի, ապա վերադարձվում են բոլոր տիպի զավակների isn-ները ու տեսակները։
Ներառվող տիպերի ֆիլտրը+
նշանով սկսելով։ Օրինակ՝"+Acc%"
։
Չներառվող տիպերի ֆիլտրը-
նշանով սկսելով։ Օրինակ՝"-Acc%"
։
GetDocumentParents
public Task<List<(int isn, string docType)>> GetDocumentParents(
int isn,
string docType = "",
DocumentChildrenOrder order = DocumentChildrenOrder.UnOrdered,
string docTypeLike = "")
Վերադարձնում է փաստաթղթի ծնող փաստաթղերի isn-ների ու ներքին անունների (տեսակների) ցուցակը:
Եթե փաստաթուղթը չի ունենում ծնողներ, ապա ֆունկցիան վերադարձնում է դատարկ ցուցակ։
Պարամետրեր
isn
- Զավակ փաստաթղթի ներքին նույնականացման համարը:docType
- Սահմանում է ներառվող կամ չներառվող ծնող փաստաթղթերի տիպերը։
Եթե պարամետրը առկա չի, ապա վերադարձվում են բոլոր տիպի ծնող փաստաթղթերի isn-ները ու տեսակները։
Ներառվող տիպերի ցուցակը թվարկվում են+
նշանով սկսելով՝ փաստաթղթի տեսակների անվանումները իրարից առանձնացնելով բացատներով։ Օրինակ՝"+KasPr MemOrd SetPr"
։
Չներառվող տիպերի ցուցակը թվարկվում են-
նշանով սկսելով՝ փաստաթղթի տեսակների անվանումները իրարից առանձնացնելով բացատներով։ Օրինակ՝"-AccDoc AsTurn"
։ Միայն նշված տիպի ծնող փաստաթղթերը վերադարձնելու համար անհրաժեշտ է ավելացնել փաստաթղթի տեսակը։ Օրինակ՝"AccDoc"
:order
- Ըստ ծնող փաստաթղթերի ստեղծման ամսաթվի դասավորման նշան։ DocumentChildrenOrder.UnOrdered - Չի դասավորվում։ DocumentChildrenOrder.CreationDateAscending - Դասավորվում է աճման կարգով։ DocumentChildrenOrder.CreationDateDescending - Դասավորվում է նվազման կարգով։docTypeLike
- Սահմանում է ներառվող կամ չներառվող ծնող փաստաթղթերի տիպերի ֆիլտր։ Եթե պարամետրը առկա չի, ապա վերադարձվում են բոլոր տիպի ծնող փաստաթղթերի isn-ները ու տեսակները։
Ներառվող տիպերի ֆիլտրը+
նշանով սկսելով։ Օրինակ՝"+Acc%"
։
Չներառվող տիպերի ֆիլտրը-
նշանով սկսելով։ Օրինակ՝"-Acc%"
։
GetDocumentState
public Task<int> GetDocumentState(int isn)
Վերադարձնում է փաստաթղթի վիճակը։
Եթե փաստաթուղթը առկա չի, կամ ոչ վերջնական ջնջված է, ապա ֆունկցիան վերադարձնում է -1
արժեք։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար։
GetDocumentStatus
public Task<byte> GetDocumentStatus(string folderID, int isn)
Վերադարձնում է թղթապանակի տարրի վիճակը։
Պարամետրեր
folderID
- Թղթապանակի ներքին անուն:isn
- Փաստաթղթի ներքին նույնականացման համար։
GetDocumentType
public Task<string> GetDocumentType(int isn)
Վերադարձնում է նշված ներքին նույնականացման համարով փաստաթղթի ներքին անունը (տեսակը)։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար։
GetDocumentTypeFromFolder
public Task<string> GetDocumentTypeFromFolder(string folder, string key)
Վերադարձնում է նշված թղթապանակից փաստաթղթի ներքին անունը (տեսակը):
Պարամետրեր
folder
- Թղթապանակի ներքին անուն։key
- Թղթապանակի տարրի բանալի։
GetGrandChildren
public Task<List<int>> GetGrandChildren(int isn,
string docType1 = "",
string docTypeLike1 = "",
string docType2 = "",
string docTypeLike2 = "")
Նշված փաստաթղթի համար վերադարձնում է «թոռնիկների» ցուցակը։
Պարամետրեր
isn
- Ծնող փաստաթղթի ներքին նույնականացման համար:docType1
- Սահմանում է ներառվող կամ չներառվող զավակ փաստաթղթերի տիպերը։ Եթե պարամետրը առկա չի, ապա դիտարկվում են բոլոր տիպի զավակ փաստաթղթերի զավակները։
Ներառվող տիպերի ցուցակը թվարկվում են+
նշանով սկսելով։ Օրինակ՝"+KasPr MemOrd SetPr"
։
Չներառվող տիպերի ցուցակը թվարկվում են-
նշանով սկսելով։ Օրինակ՝"-AccDoc AsTurn"
։docTypeLike1
- Սահմանում է ներառվող կամ չներառվող զավակ փաստաթղթերի տիպերի ֆիլտր։ Եթե պարամետրը առկա չի, ապա դիտարկվում են բոլոր տիպի զավակ փաստաթղթերի զավակները։
Ներառվող տիպերի ֆիլտրը+
նշանով սկսելով։ Օրինակ՝"+Acc%"
։
Չներառվող տիպերի ֆիլտրը-
նշանով սկսելով։ Օրինակ՝"-Acc%"
։docType2
- Սահմանում է ներառվող կամ չներառվող թոռնիկ փաստաթղթերի տիպերը։ Եթե պարամետրը առկա չի, ապա վերադարձվում են բոլոր տիպի թոռնիկների ISN-ները։
Ներառվող տիպերի ցուցակը թվարկվում են+
նշանով սկսելով։ Օրինակ՝"+KasPr MemOrd SetPr"
։
Չներառվող տիպերի ցուցակը թվարկվում են-
նշանով սկսելով։ Օրինակ՝"-AccDoc AsTurn"
։docTypeLike2
- Սահմանում է ներառվող կամ չներառվող թոռնիկ փաստաթղթերի տիպերի ֆիլտր։ Եթե պարամետրը առկա չի, ապա վերադարձվում են բոլոր տիպի թոռնիկների ISN-ները։
Ներառվող տիպերի ֆիլտրը+
նշանով սկսելով։ Օրինակ՝"+Acc%"
։
Չներառվող տիպերի ֆիլտրը-
նշանով սկսելով։ Օրինակ՝"-Acc%"
։
GetParentIsn
public Task<int> GetParentIsn(int isn)
Վերադարձնում է փաստաթղթի միակ(առաջին) ծնող փաստաթղթի ներքին նույնականացման համարը։
Եթե ծնող փաստաթղթը չկա, ապա վերադառնում է -1
։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար:
GetParentIsn
public Task<int> GetParentIsn(int isn, string docTypeLike)
Վերադարձնում է փաստաթղթի առաջին ծնող փաստաթղթի ներքին նույնականացման համարը, որը ունի նշված ներքին անունը (տեսակը)։
Եթե ծնող փաստաթղթը չկա, ապա վերադառնում է -1
։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար:docTypeLike
- Սահմանում է ներառվող կամ չներառվող ծնող փաստաթղթերի տիպերի ֆիլտր։
Ներառվող տիպերի ֆիլտրը+
նշանով սկսելով։ Օրինակ՝"+Acc%"
։
Չներառվող տիպերի ֆիլտրը-
նշանով սկսելով։ Օրինակ՝"-Acc%"
։
GetPassedState
public short GetPassedState(int isn, List<short> states, bool lastState = true, bool inStates = true)
Ստուգում է և վերադարձնում փաստաթղթի վերջին կամ առաջին նշանակված վիճակը տրված վիճակների ցուցակից։
Համապատասխանող վիճակ չգտնելու դեպքում վերադարձնում է -1
։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար։states
- Փաստաթղթի վիճակների ցուցակ։lastState
-true
արժեքի դեպքում վերադարձնում է վերջին նշանակված վիճակը, հակառակ դեպքում՝ առաջինը։inStates
-true
արժեքի դեպքում փնտրվում է վիճակ, տրված վիճակների ցուցակից։ Հակառակ դեպքում՝ ցուցակից դուրս։
GetPassedState
public short GetPassedState(int isn, string statesSubQuery, bool lastState = true, bool inStates = true)
Ստուգում է և վերադարձնում փաստաթղթի վերջին կամ առաջին նշանակված վիճակը վիճակների ցուցակը սահմանող sql հարցում արդյունքից։
Համապատասխանող վիճակ չգտնելու դեպքում վերադարձնում է -1
։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար։statesSubQuery
- Փաստաթղթի վիճակները սահմանող sql հարցում:lastState
-true
արժեքի դեպքում վերադարձնում է վերջին նշանակված վիճակը, հակառակ դեպքում՝ առաջինը։inStates
-true
արժեքի դեպքում փնտրվում է վիճակ, վիճակների ցուցակը սահմանող sql հարցում արդյունքից։ Հակառակ դեպքում՝ արդյունքից դուրս։
Օրինակ
var lastConfirmationState = documentService.GetPassedState(doc.ISN,
$"Select fSTATE From DOCLOG WHERE fISN = {doc.ISN} and fSTATE Between 100 and 200");
GetPassedState
public short GetPassedState(int isn, short state, bool lastState = true, bool inStates = true)
Ստուգում է տրված վիճակը հանդիանում է փաստաթղթի վերջին կամ առաջին նշանակված վիճակը, թե ոչ։
Պայմանին բավարարելու դեպքում վերադարձնում է նշված վիճակը։
Չբավարարելու դեպքում վերադարձնում է -1
։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար։state
- Փաստաթղթի վիճակ։lastState
-true
արժեքի դեպքում վերադարձնում է վերջին վիճակը, հակառակ դեպքում՝ առաջինը։inStates
-true
արժեքի դեպքում փնտրվում է վիճակ, որը վիճակների ցուցակի միջից է։ Հակառակ դեպքում՝ ցուցակի միջից չէ։
GetPassedState
public short GetPassedState(int isn, bool lastState = true)
Վերադարձնում է փաստաթղթի վերջին կամ առաջին նշանակված վիճակը։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար։lastState
-true
արժեքի դեպքում վերադարձնում է վերջին նշանակված վիճակը, հակառակ դեպքում՝ առաջինը։
GetProcessingModes
public Task<DocumentProcessingModes> GetProcessingModes(string docType)
Վերադարձնում է փաստաթղթի կատարման ռեժիմները ըստ փաստաթղթի ներքին անվան (տեսակի)։
Պարամետրեր
docType
- Փաստաթղթի ներքին անուն (տեսակ):
GetSUIDAndDate
public Task<(bool exists, short suid, string dateTime)> GetSUIDAndDate(int isn, int state, bool sort = true)
Փնտրում է նշված վիճակին համապատասխան տողի առկայությունը փաստաթղթի պատմության մեջ (DOCLOG աղյուսակում) և վերադարձնում ստեղծողին և ամսաթիվը։
Առկայության դեպքում վերադարձնում է
exists
-> true,
suid
-> այդ վիճակ տեղափոխած օգտագործողի համարը,
dateTime
-> այդ վիճակ տեղափոխած օրը/ժամը: Արժեքը գրվում է հետևյալ ձևաչափով yyyy-MM-dd hh:mm:ss
։
Բացակայության դեպքում
exists
-> false:
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար:state
- Փնտրվող վիճակ։sort
- Փաստաթուղթը նշված վիճակին բերած առաջին (true
) կամ վերջին (false
) անգամ վիճակը հասնելը։
HiDelete
public Task<(bool had01AccRow, bool hadHIRow)> HiDelete(Document doc, bool deleteDoc)
Ջնջում է փաստաթղթի նախկինում գրանցած հաշվառումները HI աղյուսակից։
Եթե մեթոդը կանչում են Action իրադարձության մշակիչից, ապա սահմանաչափերի ստուգումները կկատարվեն Action-ի ավարտից հետո։
Իսկ եթե այլ տեղից է կանչած, ապա ստուգումները կկատարվեն անմիջապես։
Վերադարձնում է կորտեժ
hadHIRow
- ջնջվում են որևէ հաշվառման տողեր,
had01AccRow
- ջնջվում են 01
հաշվառման տողեր։
Պարամետրեր
doc
- Փաստաթղթի օբյեկտ։deleteDoc
- հարկավոր է փոխանցելtrue
, երբ ֆունկցիան կանչվում է որևէ փաստաթղթի ջնջման ժամանակ։ Պարամետրը փոխանցվում է OnLimitFault իրադարձության մշակիչին։
HiDeleteAll
public Task HiDeleteAll(Document doc);
Ջնջում է փաստաթղթի նախկինում գրանցած հաշվառումները HI, HI2 և այլ համարժեք աղյուսակներից։
Եթե մեթոդը կանչում են Action իրադարձության մշակիչից, ապա սահմանաչափերի ստուգումները կկատարվեն Action-ի ավարտից հետո։
Իսկ եթե այլ տեղից է կանչած, ապա ստուգումները կկատարվեն անմիջապես։
Պարամետրեր
doc
- Փաստաթղթի օբյեկտ։
HiParDelete
public Task HiParDelete(Document doc)
HIPAR աղյուսակից ջնջում է այս փաստաթղթի նախկինում գրանցած պարամետրերի արժեքները։
Պարամետրեր
doc
- Փաստաթղթի օբյեկտ։
IsArchived
public Task<bool> IsArchived(int isn)
Ստուգում է փաստաթղթի արխիվացված լինելը։
Պարամետրեր
isn
- Փաստաթղթի ներքին նույնականացման համար:
Load
public Task<Document> Load(int isn, GridLoadMode gridLoadMode = GridLoadMode.Full,
bool loadImagesAndMemos = true, bool lockTableRow = false,
bool throwExceptionIfDeleted = true, bool lookInArc = true,
Type instanceType = null, bool loadParents = false)
Բեռնում է տվյալների պահոցում գոյություն ունեցող փաստաթուղթը ըստ ներքին նույնականացման համարի։
Վերադարձնում է Փաստաթղթի օբյեկտը, եթե հայտնաբերվել է։
Եթե չի հայտնաբերվել առաջացնում է սխալ կամ վերադարձնում է null կախված throwExceptionIfDeleted
պարամետրից։
Պարամետրեր
isn
- Բեռնվող փաստաթղթի ներքին նույնականացման համարը։gridLoadMode
- Աղյուսակների բեռնման հայտանիշ։loadImagesAndMemos
- Նկարների ու մեծ մուտքագրման դաշտերի բեռնման հայտանիշ։lockTableRow
- Տվյալների պահոցում արգելափակման (lock) միացման հայտանիշ։ true արժեքի դեպքում դրվում է թարմացման (update) արգելափակում։throwExceptionIfDeleted
- Պահանջվող փաստաթղթի հեռացված լինելու դեպքում սխալի առջացման հայտանիշ։lookInArc
- Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթղթի բեռնումը փորձում է կատարել նաև արխիվային տվյալների պահոցից, եթե այնտեղ նույնպես փաստաթութը առկա չէ, առաջանում է սխալ։instanceType
- Փաստաթղթի նկարագրված դաս 8X-ում։ Document դասից ժառանգ հանդիսացող դաս, որ տիպի փաստաթղթի օբյեկտ պետք է ստեղծվի:loadParents
- Ծնող փաստաթղթերի ISN-ների ցուցակի բեռնման հայտանիշ։
Load
public Task<T> Load<T>(int isn, GridLoadMode gridLoadMode = GridLoadMode.Full,
bool loadImagesAndMemos = true, bool lockTableRow = false,
bool throwExceptionIfDeleted = true, bool lookInArc = true,
bool loadParents = false) where T : Document
Բեռնում է տվյալների պահոցում գոյություն ունեցող փաստաթուղթը ըստ ներքին նույնականացման համարի։
Վերադարձնում է Փաստաթղթի օբյեկտը, եթե հայտնաբերվել է։
Եթե չի հայտնաբերվել առաջացնում է սխալ կամ վերադարձնում է null կախված throwExceptionIfDeleted
պարամետրից։
Պարամետրեր
T
- Փաստաթղթի նկարագրված դաս 8X-ում, Document դասի ժառանգ։isn
- Բեռնվող փաստաթղթի ներքին նույնականացման համարը։gridLoadMode
- Աղյուսակների բեռնման հայտանիշ։loadImagesAndMemos
- Նկարների ու մեծ մուտքագրման դաշտերի բեռնման հայտանիշ։lockTableRow
- Տվյալների պահոցում արգելափակման (lock) միացման հայտանիշ։ true արժեքի դեպքում դրվում է թարմացման (update) արգելափակում։throwExceptionIfDeleted
- Պահանջվող փաստաթղթի հեռացված լինելու դեպքում սխալի առաջացման հայտանիշ։lookInArc
- Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթղթի բեռնումը փորձում է կատարել նաև արխիվային տվյալների պահոցից, եթե այնտեղ նույնպես փաստաթութը առկա չէ, առաջանում է սխալ։loadParents
- Ծնող փաստաթղթերի ISN-ների ցուցակի բեռնման հայտանիշ։
LoadFromFolder
public Task<Document> LoadFromFolder(string folder, string key, GridLoadMode gridLoadMode = GridLoadMode.Full,
bool loadImagesAndMemos = true, Type instanceType = null, bool loadParents = false)
Բեռնում է փաստաթուղթը ըստ թղթապանակի և բանալու։
Պարամետրեր
folder
- Թղթապանակի ներքին անուն։key
- Թղթապանակի տարրի բանալի։gridLoadMode
- Աղյուսակների բեռնման հայտանիշ։loadImagesAndMemos
- Նկարների ու մեծ մուտքագրման դաշտերի բեռնման հայտանիշ։instanceType
- Փաստաթղթի նկարագրված դաս 8X-ում, Document դասի ժառանգ։։loadParents
- Ծնող փաստաթղթերի ISN-ների ցուցակի բեռնման հայտանիշ։
LoadFromFolder
public Task<T> LoadFromFolder<T>(string folder, string key, GridLoadMode gridLoadMode = GridLoadMode.Full,
bool loadImagesAndMemos = true, bool loadParents = false) where T : Document
Բեռնում է փաստաթուղթը ըստ թղթապանակի և բանալու։
Պարամետրեր
T
- Փաստաթղթի նկարագրված դաս 8X-ում, Document դասի ժառանգ։folder
- Թղթապանակի ներքին անուն։key
- Թղթապանակի տարրի բանալի։gridLoadMode
- Աղյուսակների բեռնման հայտանիշ։loadImagesAndMemos
- Նկարների ու մեծ մուտքագրման դաշտերի բեռնման հայտանիշ։loadParents
- Ծնող փաստաթղթերի ISN-ների ցուցակի բեռնման հայտանիշ։
MakeParentLink
public Task MakeParentLink(Document document, int parentIsn, bool removeExistingLinks = true)
Ընթացիկ փաստաթղթի համար սահմանում է ծնողի հետ կապ։ Ընթացիկ փաստաթուղթը կարող է դեռ գրանցված չլինել տվյալների պահոցում։
Մեթոդը նախատեսված է Action իրադարձության մշակիչում կանչելու համար։
Եթե փաստաթուղթը տվյալների պահոցում դեռ գրանցված չէ, ապա այս մեթոդի կանչից հետո ծնող-զավակ կապերը անմիջապես չեն գրանցվում տվյալների պահոցում, դրանց գրանցումը կատարվում է Action իրադարձության մշակիչի ավարտից հետո։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։parentIsn
- Ծնող փաստաթղթի ներքին նույնականացման համար։removeExistingLinks
-true
արժեքի դեպքում ստեղծվող կապը լինում է միակը և նախորդ եղած կապերը հեռացվում են։false
արժեքի դեպքում ծնողների ցուցակում ավելանում է ևս մեկը։
ReFolder
public Task ReFolder(Document document, StoreMode mode)
Իրականացնում է փաստաթղթի վերաինդեքսավորումը թղթապանակներում: Այսինքն առաջացնում է Folders իրադարձությունը և համապատասխան մշակիչը։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։mode
- Փաստաթղթի պահպանման ռեժիմը։ Տե՛ս Document.StoreMode հատկությունը։
Store
public Task Store(Document document,
DocumentCheckLevel checkLevel = DocumentCheckLevel.None,
string logComment = "")
Անցկացնում է պարտադիր ստուգումներ և գրանցում փաստաթուղթը տվյալների պահոցում։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։checkLevel
- Փաստաթղթի ստուգման մակարդակը։logComment
- Փաստաթղթի պատմության մեջ գրանցվող հաղորդագրությունը։
StoreFact
public Task StoreFact(Document document, Fact fact)
Գրանցում է փաստաթղթի հաշվառումը տվյալների պահոցում:
Մեթոդը պետք է կանչել փաստաթղթի Action իրադարձության մշակիչից։
Այս մեթոդի կանչից հետո հաշվառումները անմիջապես չեն գրանցվում տվյալների պահոցում, դրանց գրանցումը կատարվում է միմիայն Action իրադարձության մշակիչի ավարտից հետո։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։fact
- Գրանցման ենթակա հաշվառում։
StoreInFolder
public void StoreInFolder(Document document, FolderElement folderElement)
Գրանցում է թղթապանակի տարրը տվյալների պահոցում:
Մեթոդը հարկավոր է կանչել միմիայն փաստաթղթի Folders իրադարձության մշակիչի մեջ։
Թղթապանակի տարրերը անմիջապես չեն գրանցվում տվյալների պահոցում անմիջապես, գրանցումները կատարվում են Folders իրադարձության մշակիչի ավարտից հետո։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։folderElement
- Թղթապանակի տարր։
StoreInTree
public void StoreInTree(Document document, TreeElement treeElement)
Գրանցում է ծառի տարրը տվյալների պահոցում:
Մեթոդը հարկավոր է կանչել միմիայն փաստաթղթի Folders իրադարձության մշակիչի մեջ։
Ծառի տարրերը անմիջապես չեն գրանցվում տվյալների պահոցում անմիջապես, գրանցումները կատարվում են Folders իրադարձության մշակիչի ավարտից հետո։
Պարամետրեր
document
- Փաստաթղթի օբյեկտ։treeElement
- Ծառի տարր: