エンコードされたクエリを含むクエリを作成しようとしていますが、構文が正しくてもわかりません(99.9%は完全に間違っています)。私は利用可能なすべてのナレッジ項目を順番に調べ、仕事シリーズと場所に基づいて、ユーザーに正しい記事を提供したいと思っています。最初のステップは、ユーザの仕事シリーズと場所をつかむと、私はここでやった変数、としてそれらを保存することです:ServiceNowでエンコードされたクエリの構文
var gr = new GlideRecord('hr_profile');
gr.addQuery('user', gs.getUserID());
gr.query();
if(gr.next())
{
var occ = gr.job_series.getHTMLValue();
var loc = gr.user.location.getHTMLValue();
}
次に、私は一連のと場所にOCCとLOCをマッチさせたいです記事。 = 2210私のOCCと私のLOC =ロックビル、MDを想定し
、私は記事#5(青添えられる:私は含まれており、それが良いこのビジュアルで説明することができますしたいいくつかのルールがあります。 )。私の場合は2210ですが、私はサンフランシスコ、カリフォルニア州に位置しています。私は記事#4を務めたいと思います。私のoccが1234で、私がロックビルに位置していれば、私の仕事シリーズがないので、記事#1で奉仕します。最後に、オフチャンスで私のoccが0101で、私の所在地がオレゴン州ポートランドにある場合(どちらもこのリストにない)、私は記事#7を提供します。これで、私は以下のクエリをコーディングし始めましたが、うまくいきません。
私は、コードのエンコードされた部分を扱う際に構文が間違っていると確信しています。誰かがトラブルシューティングを手助けできますか?
var ka = new GlideRecord('x_knowledge_articles');
ka.addQuery('workflow_state', 'published');
ka.query();
while(ka.next()) {
if("seriesLIKE"+occ+"^locationLIKE"+loc) {
data.article = ka.number.getHTMLValue(); }
else if("seriesLIKE"+occ+"^locationNOT LIKE"+loc) {
var occDefault = "seriesLIKE"+occ+"^locationISEMPTY"
data.article = occDefault.number.getHTMLValue(); }
else if("locationLIKE"+loc+"^seriesNOT LIKE"+occ) {
var locDefault = "locationLIKE"+loc+"^seriesISEMPTY"
data.article = locDefault.number.getHTMLValue();}
else {
data.article = 'KB0010050';
}
}
...そしてあなたがそのよう実際に照会GlideRecordのデータに移動するために ')' ka.next(への呼び出しが必要になるだろう'ka.number'への呼び出しはreadyのデータを持っています。 – Joey