首页 > 解决方案 > Acumatica:如何在主报告子行中从行到列(直线)显示一个文本框

问题描述

我想在主线中显示 SOShipline.QTY,在其船线下的每个 SOShiplineSplit.QTY 都以直线显示,而不是行。

报告现在显示和我想要的更改

感谢任何想提及表格子报表属性的人 是的,我已经尝试过表格报表,我遇到了一个几天都无法解决的问题。我在另一篇文章 Acumatica 中发布了我的问题:作为子报告调用时,表格报告生成意外行

仅针对这个问题,有人可以指出我实现需求的方法吗?

标签: reportacumatica

解决方案


不推荐使用 SQL 视图,但在这种情况下您可能需要创建一个。下面的 select 语句将为您提供所需的单行输出。然后,您将根据视图创建一个 DAC。从那里您可以将视图添加到您的报告中。

-- ------------------------------------------------------------
-- View: usrSOSplit
-- ------------------------------------------------------------

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usrSOSplit]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].usrSOSplit
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

Create View [usrSOSplit] as 
SELECT  companyid, shipmentnbr,
        isnull(cast([1] as varchar(50)),'')
        +' '+ isnull(cast([2] as varchar(50)),'')
        +' '+ isnull(cast([3] as varchar(50)),'')
        +' '+ isnull(cast([4] as varchar(50)),'')
        +' '+ isnull(cast([5] as varchar(50)),'')
        +' '+ isnull(cast([6] as varchar(50)),'')
        +' '+ isnull(cast([7] as varchar(50)),'')
        +' '+ isnull(cast([8] as varchar(50)),'')
        +' '+ isnull(cast([9] as varchar(50)),'')
        +' '+ isnull(cast([10] as varchar(50)),'')
        as ListOfQty        
      FROM    
    ( SELECT shipmentnbr,companyid,  splitlinenbr as splitLine , qty FROM    SOShipLineSplit ) p
    PIVOT ( max(qty) FOR [splitline] IN ( [1],[2],[3],[4],[5],[6],[7],[8],[9],[10] ) ) AS pvt

数模转换器:

using System;
using PX.Data;

namespace SoShipSplit
{
  [Serializable]
  public class usrSOSplit : IBqlTable
  {
    #region Shipmentnbr
    [PXDBString(15, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Shipmentnbr")]
    public virtual string Shipmentnbr { get; set; }
    public abstract class shipmentnbr : IBqlField { }
    #endregion

    #region ListOfQty
    [PXDBString(509, InputMask = "")]
    [PXUIField(DisplayName = "List Of Qty")]
    public virtual string ListOfQty { get; set; }
    public abstract class listOfQty : IBqlField { }
    #endregion
  }
}

在此处输入图像描述


推荐阅读