在字符串字段上对 Acumatica 数据视图进行排序,但使用二进制排序规则
Sorting an Acumatica data view on a string field, but using binary collation
我已覆盖 APPrintChecks 数据视图以按供应商代码排序。但由于客户的 VendorCodes 都是数字,他们希望看到对支票进行排序,例如,VendorCode“357”打印在 VendorCode“10021”之前。
关于如何实现它的任何想法?
public class APPrintChecks_Extension : PXGraphExtension<APPrintChecks>
{
//change sort from Vendor Name to Vendor Code
[PXFilterable]
public PXFilteredProcessingJoin<APPayment, PrintChecksFilter,
InnerJoin<Vendor, On<Vendor.bAccountID, Equal<APPayment.vendorID>>>,
Where<boolTrue, Equal<boolTrue>>,
OrderBy<Asc<Vendor.acctCD, Asc<APPayment.refNbr>>>> APPaymentList;
}
根据评论中的建议,我会首先检查是否还有另一个 numeric/date 字段可以排序,例如 BAccountId 或 CreatedDate。如果这不行,您将需要找到一种更有创意的方法来修复它,例如:
- 更改供应商代码编号顺序以包含前导零,
示例:0000357、001021
- 添加自定义字段(存储在数据库中)并在图表中设置此自定义字段以包含前导零。例子
在添加前导的位置添加字符串类型的字段 UsrVendorCode
事件(供应商图表)中的零,例如 RowPersisting。
- 添加计算数据库字段以添加前导零并将其添加为 Acumatica 中的自定义字段(供应商的扩展名)(不确定
这是否得到 Acumatica 的完全支持,因为它需要
数据库中的修改)
我已覆盖 APPrintChecks 数据视图以按供应商代码排序。但由于客户的 VendorCodes 都是数字,他们希望看到对支票进行排序,例如,VendorCode“357”打印在 VendorCode“10021”之前。 关于如何实现它的任何想法?
public class APPrintChecks_Extension : PXGraphExtension<APPrintChecks>
{
//change sort from Vendor Name to Vendor Code
[PXFilterable]
public PXFilteredProcessingJoin<APPayment, PrintChecksFilter,
InnerJoin<Vendor, On<Vendor.bAccountID, Equal<APPayment.vendorID>>>,
Where<boolTrue, Equal<boolTrue>>,
OrderBy<Asc<Vendor.acctCD, Asc<APPayment.refNbr>>>> APPaymentList;
}
根据评论中的建议,我会首先检查是否还有另一个 numeric/date 字段可以排序,例如 BAccountId 或 CreatedDate。如果这不行,您将需要找到一种更有创意的方法来修复它,例如:
- 更改供应商代码编号顺序以包含前导零, 示例:0000357、001021
- 添加自定义字段(存储在数据库中)并在图表中设置此自定义字段以包含前导零。例子 在添加前导的位置添加字符串类型的字段 UsrVendorCode 事件(供应商图表)中的零,例如 RowPersisting。
- 添加计算数据库字段以添加前导零并将其添加为 Acumatica 中的自定义字段(供应商的扩展名)(不确定 这是否得到 Acumatica 的完全支持,因为它需要 数据库中的修改)