Visual Studio 2008 で SQL ベースのレポートを作成し、CRM にアップロードしました。「関連レコードタイプのフォーム」でのみ実行できることを示しました。これにより、現在のレコードのレポートが 1 つ生成されると思いました。
そうではありません。特定のエンティティ (注文) のレコードごとにレポートを生成し、レポートのページごとに 1 つのレコードを生成します。
Data-Prefiltering (自動または特定の?) を使用する必要があることはわかっていますが、オンラインで良い例はなく、stackoverflow にはスレッドもありますが、私はそれを理解できません。
スレッドへのリンク: CRM 2011 での CRMAF フィルタリング
SELECT FilteredSalesOrder.customerid AS x1, FilteredAccount.accountid AS x2, FilteredSalesOrderDetail.salesorderid AS x3, FilteredSystemUser.systemuserid AS x4,
FilteredProduct.productid AS x5, FilteredAccount.address1_city, FilteredAccount.address1_line1, FilteredAccount.address1_postalcode, FilteredAccount.name AS AccountName,
FilteredSalesOrder.ordernumber, FilteredSalesOrderDetail.quantity, FilteredSystemUser.fullname, FilteredProduct.fmcg_erpreference, FilteredProduct.name AS ProductName
FROM FilteredSalesOrder INNER JOIN FilteredAccount
ON FilteredSalesOrder.customerid = FilteredAccount.accountid INNER JOIN FilteredSalesOrderDetail
ON FilteredSalesOrderDetail.salesorderid = FilteredSalesOrder.salesorderid INNER JOIN FilteredProduct
ON FilteredProduct.productid = FilteredSalesOrderDetail.productid INNER JOIN FilteredSystemUser
ON FilteredSystemUser.systemuserid = FilteredSalesOrder.ownerid
現在の注文のみを使用するようにデータを事前にフィルター処理するには:
- SalesOrder テーブルのみでCRMAF_ を使用するだけで十分ですか?
FROM FilteredSalesOrder AS CRMAF_FilteredSalesOrder INNER JOIN FilteredAccount
- すべてのテーブルで CRMAF_ を使用しますか?
編集:
これは、FilteredSalesOrder で CRMAF_ を使用した新しい SQL 全体です。しかし、残念ながらそれはうまくいきません。それでも、すべてのレコードに対して実行する機会しか与えられないため、存在するすべての Salesorders が生成されます (幸いなことに、それほど多くはありません)。
SELECT CRMAF_FilteredSalesOrder.customerid AS x1, CustomerAccount.accountid AS x2,
FilteredSalesOrderDetail.salesorderid AS x3, FilteredSystemUser.systemuserid AS x4,
FilteredProduct.productid AS x5,CRMAF_FilteredSalesOrder.fmcg_supplierid as x6,
CustomerAccount.address1_city as customerCity, CustomerAccount.address1_line1 as
customerStreet1, CustomerAccount.address1_postalcode as customerPostalCode,
CustomerAccount.name AS CustomerAccountName, CRMAF_FilteredSalesOrder.ordernumber,
FilteredSalesOrderDetail.quantity, FilteredSystemUser.fullname,
FilteredProduct.fmcg_erpreference, FilteredProduct.name AS ProductName,
SupplierAccount.name as supplierAccountName, SupplierAccount.address1_city AS
supplierCity,SupplierAccount.address1_line1 as supplierStreet1,
SupplierAccount.address1_postalcode as supplierPostalCode,
CRMAF_FilteredSalesOrder.requestdeliveryby, CRMAF_FilteredSalesOrder.createdon
FROM FilteredSalesOrder AS CRMAF_FilteredSalesOrder INNER JOIN FilteredAccount AS CustomerAccount
ON CRMAF_FilteredSalesOrder.customerid = CustomerAccount.accountid INNER JOIN FilteredSalesOrderDetail
ON FilteredSalesOrderDetail.salesorderid = CRMAF_FilteredSalesOrder.salesorderid INNER JOIN FilteredProduct
ON FilteredProduct.productid = FilteredSalesOrderDetail.productid INNER JOIN FilteredSystemUser
ON FilteredSystemUser.systemuserid = CRMAF_FilteredSalesOrder.ownerid INNER JOIN FilteredAccount AS SupplierAccount
ON CRMAF_FilteredSalesOrder.fmcg_supplierid = SupplierAccount.accountid
解決策: レポートを削除し、再デプロイしました。