Ich muss mein benutzerdefiniertes Attribut verwenden, um ein Ereignis auszulösen, in diesem Fall brauche ich usrTextileItem == true, um das Feld usrTextileItemType auf visible = true zu triggern.Wie kann ich benutzerdefinierte acumatica-Attribut in Event Handler verwenden?
hier ist meine Erklärung in Verlängerung für Textile Artikel
[PXBool]
[PXUIField(DisplayName="Textile Item")]
hier ist meine Erklärung in Verlängerung für Textil Medienart
[PXDBString(1)]
[PXUIField(DisplayName="Textile Item Type", Visible=false)]
[PXDefault("C")]
[PXStringList(
new string[]{
"C","Y","B","F"
},
new string[]{
"Cotton", "Yarn","Beam","Finish Goods"
})]
und dies ist meine aktuelle InventroyMaint__Extension
protected void InventoryItem_UsrTextileItem_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
InventoryItem row = (InventoryItem)e.Row;
InventoryItemExt ext = cache.GetExtension<InventoryItemExt>();
if(ext.usrTextileItem==true){
PXUIFieldAttribute.SetVisible<InventoryItemExt.usrTextileItemType>(cache, row, true);
}
}
und ich kann den Wert der Erweiterungen nicht erhalten, und ich habe 3 Fehler, der sagt: Erster Fehler:
'PX.Data.PXCache' does not contain a definition for 'GetExtension' and the best extension method overload 'PX.Data.PXCacheEx.GetExtension(PX.Data.IBqlTable)' has some invalid arguments in file: Code#InventoryItemMaint(37)
Instance argument: cannot convert from 'PX.Data.PXCache' to 'PX.Data.IBqlTable' in file: Code#InventoryItemMaint(37)
'usrTextileItem': cannot reference a type through an expression; try 'PX.Objects.IN.InventoryItemExt.usrTextileItem' instead in file: Code#InventoryItemMaint(39)