Skip to main content
Created for OutSystems 11. Not working on your version? Tell us about it!

 

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

ブートストラップアクションの更新によるExcelからのエンティティ識別子の取得

Excelからデータをブートストラップするときに、列をエンティティ識別子としてインポートするにはどのようにすればよいですか?

たとえば、Bootstrapアクションを更新して、ExpenseStatusエンティティの識別子である3つ目のエンティティアトリビュートExpenseStatusIdを処理する場合があります。Excelの最初の2列はエンティティのアトリビュートであり、3つ目の列はテキスト形式のStatusです。

Description          Value          Status
Gas                  50             Approved

回答

クエリを実行して、Excelから取得したラベルをエンティティ識別子に変換する必要があります。

Excelブートストラップ操作の動作は、スキャフォールディングメカニズムの使用後に実行する必要があるエンティティの変更を処理するために、いつでも変更できます。

Excelスプレッドシートで、経費のステータス(承認済みまたは却下済み)を登録する列を追加しました。

経費のリストを含むExcelスプレッドシート

エンティティの詳細オプションを選択してExcelからデータをブートストラップするアクションを更新すると、ブートストラップアクションに含まれない新しい列が表示されます。

このため、(スキャフォールディングメカニズムを使用して以前に作成した)Excel_Expensesストラクチャに新しい列ExpenseStatusを手動で追加する必要があります。

次に、ブートストラップアクションを更新して新しい列を処理する必要があります。[Processes]タブにブートストラップタイマーがあり、これが[Logic]タブの実際のアクションに対応します。

次に、Excelから取得したラベルを実際の識別子に変換する必要があります。

  • Aggregateを使用して、ExpenseStatusエンティティに対してクエリを実行します。

  • レコードループ中のクエリの繰り返しを避けるため、Aggregateで1分間のキャッシュを構成します。

適切な識別子を取得した後は、割り当て処理にExpenseStatusIdを追加します。これでExcelワークシートのすべての列が正しくマッピングされ、エンティティレコードに保存されました。

これらの手順は、Expensesエンティティ内にデータが存在しない場合に有効です。 エンティティ内にデータがすでに存在している場合は、アプリケーションの開発段階に応じて、データを消去するか、レコードを更新できるようにブートストラップロジックを調整するようにしてください。

  • Was this article helpful?