Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Acumatica 为列配置中的所有用户隐藏列_Acumatica_Acumatica Kb - Fatal编程技术网

Acumatica 为列配置中的所有用户隐藏列

Acumatica 为列配置中的所有用户隐藏列,acumatica,acumatica-kb,Acumatica,Acumatica Kb,我想在费用收据屏幕EP301020上的费用项目查找屏幕中为所有用户隐藏除库存ID和说明之外的列 如何设置默认情况下所有用户在“列配置”的“可用列”部分中不需要的某些列,并且在“查找”屏幕中只有所需的列可用。默认情况下,所有列都包含在“列配置”的“选定列”列表中。 请告知。 谢谢下面是从可用和选定列表框中隐藏列的代码。如果您需要的是初始化可用列和选中列表框中的列,请考虑使用AcUMICA特性。请注意,列配置是用户配置,因此可以初始化列,但不能在初始化后覆盖用户选择 要从选择器中完全删除列,需要重新

我想在费用收据屏幕EP301020上的费用项目查找屏幕中为所有用户隐藏除库存ID和说明之外的列

如何设置默认情况下所有用户在“列配置”的“可用列”部分中不需要的某些列,并且在“查找”屏幕中只有所需的列可用。默认情况下,所有列都包含在“列配置”的“选定列”列表中。 请告知。
谢谢

下面是从可用和选定列表框中隐藏列的代码。如果您需要的是初始化可用列和选中列表框中的列,请考虑使用AcUMICA特性。请注意,列配置是用户配置,因此可以初始化列,但不能在初始化后覆盖用户选择

要从选择器中完全删除列,需要重新定义InventoryID选择器,并显式声明要在PXSelector的第二个参数中看到的列

您可以通过在ExpenseClaimDetailEntry上创建图形扩展名并使用CacheAttached方法重新定义选择器来执行此操作:

using PX.Data;
using PX.Objects.IN;

namespace PX.Objects.EP
{
    public class ExpenseClaimDetailEntry_Extension : PXGraphExtension<ExpenseClaimDetailEntry>
    {
        [PXMergeAttributes(Method = MergeMethod.Replace)]
        [PXDefault]
        [PXUIField(DisplayName = "Expense Item")]
        [PXSelector(typeof(InventoryItem.inventoryID), 
                    /* List of available/visible columns go here */
                    new Type[] { typeof(InventoryItem.inventoryCD), 
                                 typeof(InventoryItem.descr) }, 
                    SubstituteKey = typeof(InventoryItem.inventoryCD),
                    DescriptionField = typeof(InventoryItem.descr))]
        [PXRestrictor(typeof(Where<InventoryItem.itemType, Equal<INItemTypes.expenseItem>>), Messages.InventoryItemIsNotAnExpenseType)]
        protected virtual void EPExpenseClaimDetails_InventoryID_CacheAttached(PXCache sender)
        {
        }
    }
} 

我不清楚您是想让选定列表框中的列进入可用列表框,还是想从两个列表框中删除列。无论如何,我发布了一个解决方案,完全从两个列表框中删除列,因为我认为这是您要求的。您好,感谢您的回复。实际上,我想将选定列表框中的列移动到可用列表框中,以便在选定列表框中只保留库存ID和名称。我相信该功能是现成的,无需定制。在某种程度上,您不能强制这样做,因为列配置是按用户和用户配置的。您可以在UI中设置所需的列,下次打开该页面时将记住这些列。现在,您只需要为所有用户初始化可见列,文档在这里介绍了该功能:似乎此功能仅适用于主网格事务详细信息部分,而不适用于查找程序中的列。