report - Acumatica:如何在主报告子行中从行到列(直线)显示一个文本框
问题描述
我想在主线中显示 SOShipline.QTY,在其船线下的每个 SOShiplineSplit.QTY 都以直线显示,而不是行。
感谢任何想提及表格子报表属性的人 是的,我已经尝试过表格报表,我遇到了一个几天都无法解决的问题。我在另一篇文章 Acumatica 中发布了我的问题:作为子报告调用时,表格报告生成意外行
仅针对这个问题,有人可以指出我实现需求的方法吗?
解决方案
不推荐使用 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
}
}
推荐阅读
- database - 为什么 tableName 的 liquibase 引用停止工作?
- c# - 在 C# 中将文件另存为 .ps1
- c# - 在 ASP.NET Core MVC 中修改用户数据
- clickonce - 如何在多个环境中更改 ClickOnce 的桌面图标
- ios - 应用程序进入后台时如何停止 AirPlay 媒体暂停
- c - 如何在 Visual Studio 2019 中对 C 语言进行语法检查和格式化代码?
- html - 在 gmail 中显示的锚标签
- apache-spark - 使用 jobserver 在 Spark 上运行批处理和实时作业
- java - 浏览器未针对第二个 TestNG 测试用例启动
- r - RStudio 中的 install_keras(),tensorflow 2.4.0 需要 gast==0.3.3,但是你有 gast 0.4.0,这是不兼容的