2017-03-10 14 views
0

このエラーメッセージの原因は何ですか?ここに私のコードは、私はそのエラーを引き起こすと思います。 (これはカスタマイズプロジェクトのものです)、2つ以上の項目を選択するとエラーが発生します。未処理の例外が 'MoveNext'関数で発生しました

 foreach (InventoryItem line in soinvlineview.Cache.Cached) 
     { 
      if (line.Selected == true) 
      { 
       StyleColorSelected newline = PXCache<StyleColorSelected>.CreateCopy(styleselected.Insert(new StyleColorSelected())); 
       newline.InventoryID = line.InventoryID; 
       newline = PXCache<StyleColorSelected>.CreateCopy(styleselected.Update(newline)); 
       styleselected.Update(newline); 
      } 
     } 

enter image description here

enter image description here

+0

この例外が発生した時期に関する情報をお知らせください。明らかに、これは列挙子の内部例外であるため、再現するためのトレースと手順を提供する必要があります。 –

+0

@KirillBestemyanovこんにちは、私は私の目標を達成するためには、 "ポピュレート"ボタンをクリックした後、チェックされた項目で2番目のグリッドを設定することです。 – JeffreyDRL

+0

このエラーが発生した後にトレースログを調べて、そこに書き込まれた内容を表示できますか? tracelogはヘルプボタンの下にあります。 –

答えて

1

まず物事まず、CreateCopy方法はVer.3.80に必須でした。 4.0以前。 ver。を起動します。 4.1では、まったく使用する必要はありません。これはあなたのコードを簡素化することができる方法です:私は疑う

foreach (InventoryItem line in soinvlineview.Cache.Cached) 
{ 
    if (line.Selected == true) 
    { 
     StyleColorSelected newline = styleselected.Insert(new StyleColorSelected()); 
     newline.InventoryID = line.InventoryID; 
     styleselected.Update(newline); 
    } 
} 

、カスタムStyleColorSelected DACは、指定されたか、キーフィールド(複数可)で使用される属性は一意の値を生成しません何のキーフィールドを持っていないのどちらか - これは記録なしになりInsertメソッドは挿入された値の代わりにnullを返します。そして、報告された未処理の例外が関数 'MoveNext'で発生する可能性が最も高いです。 StyleColorSelected DACの実装を再確認して、キーフィールドに固有の値が設定され、レコードが常にPXCacheに挿入されることを確認するために、次のようにコードを更新してください。

foreach (InventoryItem line in soinvlineview.Cache.Cached) 
{ 
    if (line.Selected == true) 
    { 
     StyleColorSelected newline = new StyleColorSelected(); 
     // if necessary assign unique values to key field(s) here 
     newline = styleselected.Insert(newline); 
     if (newline == null) throw PXException("StyleColorSelected was not inserted in the cache!"); 

     newline.InventoryID = line.InventoryID; 
     styleselected.Update(newline); 
    } 
} 
+0

これを試してみます。ありがとう。 – JeffreyDRL

+0

これはRuslanに感謝します。 – JeffreyDRL

関連する問題