如何自定义SOLine InventoryID选择器?

德兹

我想自定义SOLineInventoryID选择器,以根据它们所属的类的值过滤掉某些库存项目。我已经阅读了有关该[PXRestrictor]属性及其如何用于过滤选择器的信息。这似乎可行,除了Item类名称在该DAC中不可用之外,因此我尝试了以下操作:

[PXRestrictor(typeof(SelectFrom<InventoryItem>.
    InnerJoin<INItemClass>.On<INItemClass.itemClassID.IsEqual<InventoryItem.itemClassID>>.
    Where<INItemClass.itemClassCD.IsEqual<itemClassValue>>), "Custom items")]

但这显然是不允许的。

似乎我需要重写选择器本身,但是现有的选择器相当复杂,并且隐藏在属性层之下,我不确定该如何复制,更不用说那个选择看起来很近了。

我该如何解决?还是这不是一个好选择?

布赖恩·史蒂文斯(Brian Stevens)

PXRestrictor与where子句一起使用以指定如何进行限制。

[PXRestrictor(typeof(
    Where<Current<InventoryItem.itemClassID>, Equal<itemClassValue>>
    ), "Custom Items")]

在上面的示例中,itemClassValue必须是classID的类型。

如果选择器需要在所有地方都存在,则可以将其与选择器定义为DAC扩展的字段上的当前属性合并,或者仅在特定图形中与CacheAttached合并。

更新资料

正如您指出需要在注释中允许整个项目类树一样,您可以尝试这种方法,这种方法在我只需要在条件上允许某些值的情况下对我有用。

将BASE项目类的PXInt字段添加到SOLine上。使用RowSelecting事件进行设置,然后在限制器中使用它。

样本基本项目类ID字段:

#region BaseItemClassID
[PXInt]
public virtual int? BaseItemClassID { get; set; }
public abstract class baseItemClassID : PX.Data.BQL.BqlInt.Field<baseItemClassID> { }
#endregion

在CacheAttached中使用的限制器仅限于基本项目类的项目:

[PXRestrictor(typeof(Where<InventoryItem.baseItemClassID, Equal<myBaseItemClassType>>), "")]

如果将此方法应用于所有SOLine记录,则需要将“何时仅允许我的特定物料类别树”添加到限制器。请记住,限制器必须返回True才能给出结果,因此它可能需要为“ Where NOT my condition OR BaseItemClassID == myBaseItemClassID”。

就我而言,我需要一个简单的条件以允许使用标准位置,在该位置我已将某些位置配置为特殊用途以隔离某些库存。当我想允许使用标准位置时,我只是将PXBool字段设置为true,并且限制器翻转了允许的选择。我认为这个概念可能也适用于您的情况,也如上所述。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何制作自定义javascript选择器?

来自分类Dev

如何自定义选择器中的默认 <option>

来自分类Dev

自定义号码选择器

来自分类Dev

如何正确使用自定义控件的“数据源选择器编辑器”?

来自分类Dev

列表视图设置自定义波纹选择器

来自分类Dev

Android自定义日历/日期选择器

来自分类Dev

创建自定义选择器视图

来自分类Dev

自定义数据属性的CSS选择器?

来自分类Dev

NSSortDescriptor和NSFetchedResultsController的自定义选择器

来自分类Dev

安卓 自定义意图选择器

来自分类Dev

Android:自定义视图属性的选择器

来自分类Dev

物料日期选择器自定义样式

来自分类Dev

自定义复选框类别选择器

来自分类Dev

SwiftUI自定义选择器/组合框

来自分类Dev

带自定义类的引用-reactdate选择器

来自分类Dev

使用CountryCode选择器自定义TextInputEditText

来自分类Dev

Xamarin表单自定义呈现选择器

来自分类Dev

自定义rxjs存储的选择器功能

来自分类Dev

安卓。自定义意图选择器

来自分类Dev

在Scss中声明自定义选择器?

来自分类Dev

图表上的Java FX自定义选择器

来自分类Dev

自定义可用日期引导日期选择器

来自分类Dev

自定义Actionbar紧凑项目选择器

来自分类Dev

Listview自定义选择器问题

来自分类Dev

Kendo日期选择器自定义日期格式

来自分类Dev

创建自定义选择器视图

来自分类Dev

午休选择器通过自定义标签

来自分类Dev

Chromecast自定义选择器对话框

来自分类Dev

创建动态自定义选择器