3

K2 Blackpearlで、目的を果たさないため、製品のインターフェイスを使用せずに特定の作業項目のプロセスをプログラムで直接停止するタスクが割り当てられています。

問題は、このビジネス要件では、特定の提案者が複数のドキュメントをアップロードできることです。これは、Excelファイルから行を読み取り、K2に自動的にアップロードするカスタムアプリケーションを作成することで可能になりました。

このソリューションの開発者はもう存在せず、彼らの作業の詳細は利用できません。

プロセスの停止は、カスタムコンソールアプリケーションを使用して実行できると言われました。

誰かが私に正しい道を教えてもらえますか?私はK2の経験がないので、その流れに慣れていないので、これは私にとって大きな仕事です。

4

1 に答える 1

8

K2 APIは、K2アンダーグラウンドからダウンロードできるサンプルコードとデモアプリケーションで非常によく文書化されています。

あなたの質問への答えはここにあります:k2underground.com/forums/p/12082/35429.aspx

関連するコード行を引き出しました。

//参照

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SourceCode.Workflow.Management;
using SourceCode.Hosting.Client.BaseAPI;

//コード

// connection string
SCConnectionStringBuilder scBuilder = new SCConnectionStringBuilder();
scBuilder.Authenticate = true;
scBuilder.IsPrimaryLogin = true;
scBuilder.Integrated = true;
scBuilder.Host = "localhost";
scBuilder.Port = 5555;

// connect to K2 Server
WorkflowManagementServer wfmServer = new WorkflowManagementServer();

wfmServer.CreateConnection();
wfmServer.Connection.Open(scBuilder.ConnectionString);

// optionally get a list of process instances to explore
/*
ProcessInstances procInst = 
  wfmServer.GetProcessInstancesAll(string.Empty, string.Empty, string.Empty);
*/

// when you've got a proc inst you're interested in, stop it.
int _procInstId = 123; // get this from your process instance context
wfmServer.StopProcessInstances(_procInstId);

ここでより多くのコードサンプルを見つけることができます: Tim Byrneのブログre:K2

APIで使用可能な数十の名前空間のうち、使用されている最も一般的な名前空間は次のとおりです(ちなみに、会社の名前はSourceCodeです)。

> Sourcecode.Workflow.Client
> SourceCode.Workflow.Management
> SourceCode.SmartObjects.Client

お役に立てば幸いです。

于 2010-12-10T16:49:38.647 に答える