components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.note-label
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.note-contexts
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.implementations-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.implementations-description
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.implementations-server
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.implementations-client
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.implementations-contract
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.injection-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.injection-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-injection-react-comment-line1
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-injection-react-comment-line2
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-injection-react-comment-line3
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-injection-react-comment-line4
import { usePowerPortalsPro } from '@powerportalspro/react';
function MyComponent() {
const { ppp } = usePowerPortalsPro();
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-injection-placeholder-comment
}[Inject]
private IPowerPortalsProService _powerPortalsProService { get; set; } = null!;components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.retrieve-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.retrieve-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-retrieve-all-comment
const account = await ppp.retrieveRecordAsync('account', accountId);
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-retrieve-specific-comment
const account = await ppp.retrieveRecordAsync('account', accountId, [
'name', 'telephone1', 'address1_city',
]);// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-retrieve-all-comment
var account = await _powerPortalsProService.RetrieveRecordAsync("account", accountId);
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-retrieve-specific-comment
var account = await _powerPortalsProService.RetrieveRecordAsync("account", accountId,
new[] { "name", "telephone1", "address1_city" });components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.retrieve-multiple-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.retrieve-multiple-description
const fetchXml = `<fetch>
<entity name='contact'>
<attribute name='fullname' />
<attribute name='emailaddress1' />
<filter>
<condition attribute='parentcustomerid' operator='eq' value='...' />
</filter>
<order attribute='fullname' />
</entity>
</fetch>`;
const response = await ppp.retrieveRecordsAsync(fetchXml);
for (const record of response.tableRecords) {
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-retrieve-process-comment
}var fetchXml = @"<fetch>
<entity name='contact'>
<attribute name='fullname' />
<attribute name='emailaddress1' />
<filter>
<condition attribute='parentcustomerid' operator='eq' value='...' />
</filter>
<order attribute='fullname' />
</entity>
</fetch>";
var response = await _powerPortalsProService.RetrieveRecordsAsync(fetchXml);
foreach (var record in response.TableRecords)
{
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-retrieve-process-comment
}components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.create-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.create-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-create-react-comment-line1
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-create-react-comment-line2
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-create-react-comment-line3
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-create-react-comment-line4
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-create-react-comment-line5
import { createTableRecord } from '@powerportalspro/react';
const newContact = createTableRecord('contact', {
firstname: { type: 'string', value: 'John' },
lastname: { type: 'string', value: 'Doe' },
});
const response = await ppp.createRecordAsync(newContact);
const newRecordId = response.id;var newContact = new TableRecord { TableName = "contact" };
newContact["firstname"] = new StringValue("John");
newContact["lastname"] = new StringValue("Doe");
var response = await _powerPortalsProService.CreateRecordAsync(newContact);
var newRecordId = response.Id;components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.update-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.update-description
const recordToUpdate = createTableRecord('contact', {
telephone1: { type: 'string', value: '555-1234' },
}, { id: contactId });
await ppp.updateRecordAsync(recordToUpdate);var recordToUpdate = new TableRecord
{
TableName = "contact",
Id = contactId
};
recordToUpdate["telephone1"] = new StringValue("555-1234");
await _powerPortalsProService.UpdateRecordAsync(recordToUpdate);components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.delete-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.delete-description
await ppp.deleteRecordAsync('contact', contactId);await _powerPortalsProService.DeleteRecordAsync("contact", contactId);components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.associate-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.associate-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-associate-associate-comment
const account = { tableName: 'account', id: accountId };
const regions = [
{ tableName: 'ppp_region', id: regionId1 },
{ tableName: 'ppp_region', id: regionId2 },
];
await ppp.associateAsync(account, 'ppp_Account_ppp_Region_ppp_Region', regions);
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-associate-disassociate-comment
await ppp.disassociateAsync(account, 'ppp_Account_ppp_Region_ppp_Region', regions);// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-associate-associate-comment
var account = new TableRecordReference("account", accountId);
var regions = new List<TableRecordReference>
{
new TableRecordReference("ppp_region", regionId1),
new TableRecordReference("ppp_region", regionId2),
};
await _powerPortalsProService.AssociateAsync(account, "ppp_Account_ppp_Region_ppp_Region", regions);
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-associate-disassociate-comment
await _powerPortalsProService.DisassociateAsync(account, "ppp_Account_ppp_Region_ppp_Region", regions);components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.execute-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.execute-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-execute-react-comment
const requests = [
{ type: 'create', record: contact },
{ type: 'update', record: account },
];
const responses = await ppp.executeMultipleAsync(requests, { returnResponses: true });// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-execute-comment
var requests = new List<OrganizationRequest>
{
new CreateRequest(contact),
new UpdateRequest(account),
};
var responses = await _powerPortalsProService.ExecuteMultipleAsync(requests, returnResponses: true);components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.metadata-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.metadata-description
const tableMetadata = await ppp.retrieveTableMetadataAsync('contact');
const viewMetadata = await ppp.retrieveViewMetadataAsync(viewId);var tableMetadata = await _powerPortalsProService.RetrieveTableMetadataAsync("contact");
var viewMetadata = await _powerPortalsProService.RetrieveViewMetadataAsync(viewId);components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.files-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.files-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-files-metadata-only-comment
const fileInfo = await ppp.getFileInfoAsync('contact', contactId, 'ppp_contract');
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-files-metadata-and-data-comment
const fileWithData = await ppp.getFileInfoAsync(
'contact', contactId, 'ppp_contract', { includeData: true },
);
const bytes = fileWithData.fileData;// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-files-metadata-only-comment
var fileInfo = await _powerPortalsProService.GetFileInfoAsync("contact", contactId, "ppp_contract");
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Services.PowerPortalProService.PowerPortalProServiceDemoPage.snippet-files-metadata-and-data-comment
var fileWithData = await _powerPortalsProService.GetFileInfoAsync("contact", contactId, "ppp_contract", includeData: true);
var bytes = fileWithData.FileData;IPowerPortalsProService Interface
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.methods
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.description |
|---|---|---|---|
AssociateAsync | TableRecordReference record string relationshipName IEnumerable<TableRecordReference> relatedRecords EntityRole? role | Task<AssociateResponse> | 多対多関係を通じて、1つまたは複数の関連レコードとレコードを関連付けます。 |
ClearAllCachesAsync | Task<IReadOnlyList<CacheClearResult>> | サーバー側のすべての Services.IClearableCache (テーブル/ビュー/特権)をクリアします メタデータ、ユーザーごとの権限、環境ファイル設定)をまとめて再構築します。 局所化された文字列は原子的にキャッシュされます — 読者は以前のものを引き続き見ることができます 新しい状態が完全に埋め尽くされるまでデータを読み込みます。レイジーキャッシュのリフィルは 次に彼らが必要なリクエストです。 | |
ClearCacheAsync | string name | Task<CacheClearResult> | 名前のあるキャッシュを1つクリアします。登録されていない場合は返品 null キャッシュマッチは name (大文字に区別されません);失敗は以下の通りです。 投げるのではなく、結果に包まれている。同じ認証ゲート IPowerPortalsProService.ClearAllCachesAsync。 |
CreateFileArchiveAsync | CreateFileArchiveRequest request | Task<FileArchiveResult> | アーカイブを構築する(現在はzipファイル、将来のフォーマットは CreateFileArchiveRequest.Format 列挙)を含むすべてのレコードの 指定されたテーブル/カラムペアのファイルペイロード。同じレコード単位を使用しています 許可チェーンを String,System.Boolean) として — 不正/欠落 アーカイブから行が静かに削除されます。重複するファイル名は以下の通りです。 接尾辞 |
CreateRecordAsync | TableRecord record | Task<CreateResponse> | Dataverseで新しいレコードを作成します。 |
DeleteRecordAsync | string tableLogicalName Guid id | Task<DeleteResponse> | Dataverseからテーブル名とレコードIDでレコードを削除します。 |
DisassociateAsync | TableRecordReference record string relationshipName IEnumerable<TableRecordReference> relatedRecords EntityRole? role | Task<DisassociateResponse> | 多対多の関係を通じて、レコードと1つ以上の関連レコードとの関連付けを除去します。 |
DownloadLocalizationSourceAsync | string sourceId string culture | Task<LocalizationDownload> | 鍵のダウンロードは、最も多くの文化に貢献した一つのソースです 最近のウォームアップで、同じ入れ子オブジェクト形状のJSONのコンシューマーとして |
DownloadMergedLocalizationsAsync | string culture | Task<LocalizationDownload> | ある文化の統合済みローカリゼーションキーをダウンロードします — ポストマージ キャッシュに保存されているすべての鍵に対して勝利値が、どの鍵であっても 元々はソースが提供していました。これを完全なスナップショットに使ってください 参考資料(ポータルがその文化で実際に機能するすべての情報) 上記の各情報源視点ではなく、 |
ExecuteAsync | OrganizationRequest request | Task<OrganizationResponse> | Dataverseに対して単一の組織リクエストを実行します。 |
ExecuteMultipleAsync | IEnumerable<OrganizationRequest> requests bool returnResponses | Task<List<OrganizationResponse>> | 単一のデータベーストランザクションで複数の組織リクエストを実行します。 リクエストが失敗した場合、バッチ内のすべての変更がロールバックされます。 |
GetCacheNamesAsync | Task<IReadOnlyList<string>> | 適切なサーバー側の Services.IClearableCacheの名前を返します キャッシュごとにクリアボタンをレンダリングしたい管理者UI向けに。同じ認証ゲート HTTPエンドポイントに適用される IPowerPortalsProService.ClearAllCachesAsync 。 | |
GetFileInfoAsync | string tableName Guid recordId string columnName bool includeData | Task<FileInfo> | Dataverseのファイルや画像列からファイル情報およびオプションでバイナリコンテンツを取得します。 |
GetFileInfosAsync | string tableName IEnumerable<Guid> recordIds string columnName bool includeData | Task<IEnumerable<FileInfo>> | 同じテーブル/カラムの多くのレコードのファイル情報をバッチで取得する 往復で。内部では、レコードごとのフィートが並列に並列でフェッチアウトされ、 結合されたリストを返します。レコードごとの権限ハンドラーチェーンは、の場合と同じように動作します シングルレコードコール;検索に失敗した場合は応答から除外されます。 バッチ全体が失敗した。 FileGridの「すべてダウンロード」/「選択済みダウンロード」で使われ、クライアントが N個のHTTPリクエストを発生させずにzipを送ること。 |
GetLocalizationOverviewAsync | Task<LocalizationOverview> | 文字列ローカリゼーションパイプラインの管理者向けスナップショットを返します: ウォームアップを駆動する静的設定とソースごとの負荷記録 直近のウォームアップによって生まれた。ロー | |
GetOrganizationSettingsAsync | Task<OrganizationSettings> | Dataverseから得た組織全体の設定を取得
| |
GetTablePermissionsForCurrentUserAsync | string tableLogicalName | Task<TableSecurityPermission> | 現在のユーザーのテーブルレベルの複合マスク Models.TableSecurityPermission 返します tableLogicalName — Read / Create / Write / のビットごとの和集合 Delete / Append / AppendTo は、 |
GetTranslationAvailabilityAsync | Task<TranslationAvailability> | ローカライズ・翻訳機能が現在の環境で使用可能かどうかを返します: Azure翻訳サービスが設定されているか、翻訳が管理されているか ソリューションがインストールされ、候補言語(ポータルがサポートする文化)が対象となります Azure翻訳性で注釈付き)。 | |
RetrieveRecordAsync | string tableLogicalName Guid id IEnumerable<string> columns | Task<TableRecord> | Dataverseからテーブル名とレコードIDで単一のレコードを取得します。 |
RetrieveRecordsAsync | string fetchXml | Task<RetrieveRecordsResponse> | FetchXMLクエリを用いてDataverseから複数のレコードを取得します。 フィルタリング、ソート、ページング、リンクエンティティ、集約クエリをサポートしています。 |
RetrieveTableMetadataAsync | string tableLogicalName | Task<TableMetadata> | Dataverseからテーブルのメタデータを取得し、列定義、関係、表示設定などを含みます。 |
RetrieveViewMetadataAsync | Guid viewId | Task<ViewMetadata> | Dataverseからビューメタデータを取得し、ビューのFetchXMLクエリ、列、表示設定などが含まれます。 |
RetrieveViewsForTableAsync | string tableLogicalName | Task<IEnumerable<ViewMetadata>> | テーブルのすべてのビューメタデータレコードを取得します。必要なグリッドで使われる 利用可能なビュー(ビューピッカー、デフォルトビュー解像度など)を列挙します。 サーバー側の実装は、進行中の |
TranslateLocalizationFileAsync | TranslationRequest request | Task<TranslationResult> | アップロードされたローカライゼーションファイルをAzure経由で1つ以上のターゲット言語に機械翻訳します TranslatorはDataverse翻訳メモリを再利用し、文字列数を報告します。 新たに翻訳されたものと再利用されたもの。ターゲット言語ごとに1つのファイルとすべてのzipファイルを返します。 |
UpdateRecordAsync | TableRecord record | Task<UpdateResponse> | Dataverseの既存のレコードを更新します。レコード上に設定されたプロパティのみがDataverseに送信されます。 |
AssociateAsyncstring relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
ClearAllCachesAsyncServices.IClearableCache (テーブル/ビュー/特権)をクリアします メタデータ、ユーザーごとの権限、環境ファイル設定)をまとめて再構築します。 局所化された文字列は原子的にキャッシュされます — 読者は以前のものを引き続き見ることができます 新しい状態が完全に埋め尽くされるまでデータを読み込みます。レイジーキャッシュのリフィルは 次に彼らが必要なリクエストです。 ClearCacheAsyncnull キャッシュマッチは name (大文字に区別されません);失敗は以下の通りです。 投げるのではなく、結果に包まれている。同じ認証ゲート IPowerPortalsProService.ClearAllCachesAsync。CreateFileArchiveAsyncCreateFileArchiveRequest.Format 列挙)を含むすべてのレコードの 指定されたテーブル/カラムペアのファイルペイロード。同じレコード単位を使用しています 許可チェーンを String,System.Boolean) として — 不正/欠落 アーカイブから行が静かに削除されます。重複するファイル名は以下の通りです。 接尾辞 CreateRecordAsyncDeleteRecordAsyncGuid id
DisassociateAsyncstring relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
DownloadLocalizationSourceAsyncstring culture
DownloadMergedLocalizationsAsyncExecuteAsyncExecuteMultipleAsyncbool returnResponses
GetCacheNamesAsyncServices.IClearableCacheの名前を返します キャッシュごとにクリアボタンをレンダリングしたい管理者UI向けに。同じ認証ゲート HTTPエンドポイントに適用される IPowerPortalsProService.ClearAllCachesAsync 。GetFileInfoAsyncGuid recordId
string columnName
bool includeData
GetFileInfosAsyncIEnumerable<Guid> recordIds
string columnName
bool includeData
GetLocalizationOverviewAsyncGetOrganizationSettingsAsync-
DefaultCurrency — 組織の基本通貨で、作成モードで使用されます 編集者(MoneyEdit )が新しいレコードに正しいシンボルを表示します。 -
BlockedFileExtensions +MaxUploadFileSizeInBytes — ファイルアップロード 制約はクライアントが往復前に無効なファイルを拒否するためにミラーします。
GetTablePermissionsForCurrentUserAsyncModels.TableSecurityPermission 返します tableLogicalName — Read / Create / Write / のビットごとの和集合 Delete / Append / AppendTo は、 GetTranslationAvailabilityAsyncRetrieveRecordAsyncGuid id
IEnumerable<string> columns
RetrieveRecordsAsyncRetrieveTableMetadataAsyncRetrieveViewMetadataAsyncRetrieveViewsForTableAsyncTranslateLocalizationFileAsyncUpdateRecordAsync