Im программно одобряет задачу утверждения. Im, используя этот код:Языковая строка Sharepoint TaskStatus
ht[SPBuiltInFieldId.Completed] = "TRUE";
ht["Completed"] = "TRUE";
ht[SPBuiltInFieldId.PercentComplete] = 1.0f;
ht["PercentComplete"] = 1.0f;
ht["Status"] = "Completed";
ht[SPBuiltInFieldId.TaskStatus] = SPResource.GetString(new CultureInfo((int)openTask.Web.Language, false), Strings.WorkflowStatusCompleted, new object[0]);
ht[SPBuiltInFieldId.FormData] = SPWorkflowStatus.Completed;
ht[SPBuiltInFieldId.WorkflowOutcome] = "Schváleno"//Approved in czech language;
ht[SPBuiltInFieldId.TaskStatus] = "Schváleno";//Approved in czech language;
ht["TaskStatus"] = "Schváleno";//Approved in czech language;
Ref: Approve a SharePoint workflow task using SharePoint Web Services/Object Model
Все работает, но я думаю, что этот код uggly:
первую очередь я не понимаю, почему nessery определить значение для SPBuiltInFieldId.TaskStatus и "TaskStatus"? Но когда я удаляю задачу TaskStatus, не утверждается. Я вижу, что SPBuiltInFieldId.TaskStatus является секвенциальным идентификатором поля, но почему он не записывает значение в поле «TaskStatus»?
Моя вторая проблема больше, поэтому мне нужно поместить значение TaskStatus в форму строки языка установки sharepoint. Как вы видите, моя sharepoint локализована на чешском языке. Но когда я перейду к другому экземпляру sharepoint (словацкий, английский ...), этот код перестанет работать исправно.
Есть ли способ получить строку текста текста «Approved» на языке установки sharepoint? что-то вроде SPBuiltInFieldId.TaskStatus?