2017-10-06 75 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。这太棒了。 –