簡體   English   中英

獲取Dynamics AX 2012中的客戶或潛在客戶

[英]Get customer or prospects in Dynamics AX 2012

我試圖讓客戶或潛在客戶使用X ++並在查找時使用它。 DirPartyTable中有一個返回我想要的方法。

DirPartyTable::isCustomerOrRelation

while select * from dirPartyTable
{
       if(DirPartyTable::isCustomerOrRelation(dirPartyTable.RecId))
       {

                //Get the Name
                //info(dirPartyTable.Name);
       }
}

但是當我為查詢構建查詢時,我試圖以某種方式在查詢的addRange上傳遞DirPartyTable::isCustomerOrRelation(dirPartyTable.RecId) 有辦法做到這一點還是不可能?

如果您轉到isCustomerOrRelation (以及isCustomerisRelation )的源,您會看到,如果當前公司中存在客戶或潛在客戶,則該方法返回true。

你的while select雖然正確,但是效率低下,因為它可能需要掃描一百萬方來選擇當前公司中存在的一千個客戶或潛在客戶。

一個更有效但但語法上的非法, while select將是:

while select * from dirPartyTable
   exists join custTable
   where custTable.Party == dirPartyTable.RecId
   union 
   select * from dirPartyTable
   exists join smmBusRelTable
   where smmBusRelTable.Party == dirPartyTable.RecId;
{
     info(dirPartyTable.Name);
}

雖然在X ++中是非法的,但可以使用查詢和視圖。

  1. 進行兩次查詢(自己翻譯為適當的屬性):

  2. 查詢1:

     select * from dirPartyTable exists join custTable where custTable.Party == dirPartyTable.RecId 
  3. QUERY2:

     select * from dirPartyTable exists join smmBusRelTable where smmBusRelTable.Party == dirPartyTable.RecId; 
  4. 根據查詢創建兩個視圖(View1和View2)。

  5. 創建聯合查詢(Query3),查看如何在聯合查詢中組合數據源 ,記住指定UnionTypeUnionUnianAll )。

  6. 基於Query3 創建視圖 ,了解如何基於查詢創建視圖

結果,使用X ++選擇所有記錄:

while select * from dirPartyCustOrRelationTable
{
     info(dirPartyCustOrRelationTable.Name);
}

或者您可以直接使用Query3來檢索記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM