2017-10-06 61 views
0

有誰知道如何將CREATE VIEW SQL語句插入到Acumatica自定義項目中?在Acumatica自定義項目中創建VIEW語句

我知道如何在SQL Management Studio中做到這一點,但通過自定義項目來做,對於Acumatica SaaS客戶來說很有用。

+0

的觀點,但是你可以在自定義項目以創建視圖,則該視圖 – Brendan

+0

布倫丹是按照標準定製正確創建DAC做一個SQL腳本。 雖然你仍然可以。一旦創建視圖,您可以將其添加爲自定義中的DAC。最好具有用於向下鑽取功能的鏈接屬性。 – xxxAcuGeekxxx

回答

0

您應執行以下步驟:

  1. 創建Management Studio中的SQL視圖(用於演示目的讓我堅持一個簡單的PositivePay視圖):

    CREATE VIEW [dbo].[PositivePay] AS 
    SELECT 
        APPayment.RefNbr, 
        APPayment.ExtRefNbr, 
        APRegister.DocDate, 
        APRegister.OrigDocAmt, 
        CashAccount.ExtRefNbr BankAccountID 
    FROM APPayment 
    JOIN APRegister 
        ON APRegister.CompanyID = APPayment.CompanyID 
         AND APRegister.RefNbr = APPayment.RefNbr 
    JOIN CashAccount 
        ON APPayment.CashAccountID = CashAccount.AccountID 
         AND APPayment.CompanyID = CashAccount.CompanyID 
    WHERE APPayment.CompanyID = 2 AND APPayment.DocType= 'CHK' 
    GO 
    
  2. 打開您的自定義項目並點擊代碼,然後基於你的SQL視圖生成新的DAC,如下面的截圖所示: enter image description here

  3. 定義新DAC的關鍵字段並保存更改。對於PositivePay我們的RefNbr字段的頂部設置IsKey真正爲PXDBString屬性:

    [PXDBString(15, IsUnicode = true, InputMask = "", IsKey = true)] 
    [PXUIField(DisplayName = "Ref Nbr")] 
    public string RefNbr { get; set; } 
    
  4. 點擊DB腳本,在DBOBJECT名稱選擇您的SQL視圖名稱和將SQL腳本放入自定義腳本控件遵循以下模式:

    IF EXISTS 
    (
        SELECT * FROM sys.views 
        WHERE name = 'PositivePay' AND schema_id = SCHEMA_ID('dbo') 
    ) 
    DROP VIEW [dbo].[PositivePay] 
    GO 
    
    CREATE VIEW [dbo].[PositivePay] AS 
    SELECT 
        APPayment.RefNbr, 
        APPayment.ExtRefNbr, 
        APRegister.DocDate, 
        APRegister.OrigDocAmt, 
        CashAccount.ExtRefNbr BankAccountID 
    FROM APPayment 
        JOIN APRegister 
         ON APRegister.CompanyID = APPayment.CompanyID 
          AND APRegister.RefNbr = APPayment.RefNbr 
        JOIN CashAccount 
         ON APPayment.CashAccountID = CashAccount.AccountID 
          AND APPayment.CompanyID = CashAccount.CompanyID 
    WHERE APPayment.CompanyID = 2 AND APPayment.DocType= 'CHK' 
    GO 
    
    不推薦點

    enter image description here

+0

感謝@RuslanDev。這太棒了。 –