/// <summary> /// Создать виды документов для делопроизводства. /// </summary> public static void CreateDocumentKinds() { InitializationLogger.Debug("Init: Create document kinds."); var notifiable = Docflow.DocumentKind.NumberingType.Registrable; Docflow.PublicInitializationFunctions.Module.CreateDocumentKind(RecordManagement.Resources.IncomingLetterKindName, RecordManagement.Resources.IncomingLetterKindShortName, notifiable, Docflow.DocumentRegister.DocumentFlow.Incoming, true, false, IncomingLetter.ClassTypeGuid, null, Init.IncomingLetterKind); Docflow.PublicInitializationFunctions.Module.CreateDocumentKind(RecordManagement.Resources.OutgoingLetterKindName, RecordManagement.Resources.OutgoingLetterKindShortName, notifiable, Docflow.DocumentRegister.DocumentFlow.Outgoing, true, false, OutgoingLetter.ClassTypeGuid, null, Init.OutgoingLetterKind); var actions = new Domain.Shared.IActionInfo[] { OfficialDocuments.Info.Actions.SendActionItem, OfficialDocuments.Info.Actions.SendForApproval, OfficialDocuments.Info.Actions.SendForFreeApproval, OfficialDocuments.Info.Actions.SendForAcquaintance }; Docflow.PublicInitializationFunctions.Module.CreateDocumentKind(RecordManagement.Resources.OrderKindName, RecordManagement.Resources.OrderKindShortName, notifiable, DocumentFlow.Inner, true, false, Order.ClassTypeGuid, actions, Init.OrderKind); Docflow.PublicInitializationFunctions.Module.CreateDocumentKind(RecordManagement.Resources.CompanyDirectiveKindName, RecordManagement.Resources.CompanyDirectiveKindShortName, notifiable, DocumentFlow.Inner, true, false, CompanyDirective.ClassTypeGuid, actions, Init.CompanyDirective); }
/// <summary> /// Подтвердить выполнение задания. /// </summary> /// <param name="action">Действие.</param> /// <returns>True, если пользователь нажал "Да" в диалоге подтверждения, иначе False.</returns> public bool ConfirmCompleteAssignment(Domain.Shared.IActionInfo action) { var confirmationMessage = action.ConfirmationMessage; if (_obj.AddendaGroup.ElectronicDocuments.Any()) { confirmationMessage = Docflow.FreeApprovalAssignments.Resources.ApprovalConfirmationMessage; } // Замена стандартного диалога подтверждения выполнения действия. return(Docflow.Functions.Module.ShowConfirmationDialog(confirmationMessage, null, null, Constants.FreeApprovalTask.FreeApprovalAssignmentConfirmDialogID.Approved)); }
/// <summary> /// Показать диалог выбора главного документа. /// </summary> /// <param name="documents">Документы.</param> /// <param name="needSignDocuments">Документы, требующие подписания.</param> /// <param name="currentAction">Действие по отправке.</param> /// <returns>Документ.</returns> public static Sungero.Domain.Shared.IEntity ShowMainDocumentChoosingDialog(List <Content.IElectronicDocument> documents, List <Content.IElectronicDocument> needSignDocuments, Domain.Shared.IActionInfo currentAction) { // Определить подходящие документы. var documentsList = Docflow.PublicFunctions.OfficialDocument.GetSuitableDocuments(documents, currentAction); var needSignDocumentList = Docflow.PublicFunctions.OfficialDocument.GetSuitableDocuments(needSignDocuments, currentAction); if (needSignDocumentList.Any()) { documentsList = needSignDocumentList; } return(Docflow.PublicFunctions.OfficialDocument.ChooseMainDocument(documentsList, needSignDocuments)); }
/// <summary> /// Создать виды документов для модуля совещания. /// </summary> public static void CreateDocumentKinds() { Docflow.PublicInitializationFunctions.Module.CreateDocumentKind(Resources.AgendaKindName, Resources.AgendaKindShortName, Docflow.DocumentKind.NumberingType.NotNumerable, Docflow.DocumentKind.DocumentFlow.Inner, true, false, Agenda.ClassTypeGuid, new Domain.Shared.IActionInfo[] { Docflow.OfficialDocuments.Info.Actions.SendForFreeApproval }, Constants.Module.AgendaKind); var minutesActions = new Domain.Shared.IActionInfo[] { Docflow.OfficialDocuments.Info.Actions.SendActionItem, Docflow.OfficialDocuments.Info.Actions.SendForFreeApproval, Docflow.OfficialDocuments.Info.Actions.SendForApproval, Docflow.OfficialDocuments.Info.Actions.SendForAcquaintance }; Docflow.PublicInitializationFunctions.Module.CreateDocumentKind(Resources.MinutesKindName, Resources.MinutesKindShortName, Docflow.DocumentKind.NumberingType.Numerable, Docflow.DocumentKind.DocumentFlow.Inner, true, false, Minutes.ClassTypeGuid, minutesActions, Constants.Module.MinutesKind); }
/// <summary> /// Получить действие по отправке документа. /// </summary> /// <param name="action">Информация о действии.</param> /// <returns>Действие по отправке документа.</returns> public static IDocumentSendAction GetSendAction(Domain.Shared.IActionInfo action) { return(DocumentSendActions.GetAllCached(a => a.ActionGuid == Functions.Module.GetActionGuid(action)).Single()); }
/// <summary> /// Получить GUID действия. /// </summary> /// <param name="action">Действие.</param> /// <returns>Строка, содержащая GUID.</returns> public static string GetActionGuid(Domain.Shared.IActionInfo action) { var internalAction = action as Domain.Shared.IInternalActionInfo; return(internalAction == null ? string.Empty : internalAction.NameGuid.ToString()); }