3 回答

TA貢獻1876條經驗 獲得超7個贊
InventoryItem items = (InventoryItem)Base.ItemSettings.Current;
var itemExt = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(items);
var shortdesc = itemExt.UsrShortDescription;

TA貢獻1883條經驗 獲得超3個贊
Vardan 展示了一種方式,為了圖片的完整性,還想展示另一種方式:
InventoryItem items = (InventoryItem)Base.ItemSettings.Current; var itemExt = items.GetExtension<InventoryItemExt>();

TA貢獻1871條經驗 獲得超13個贊
這是從非擴展字段獲取值的示例。我沒有使用擴展 DAC 將禮品卡字段添加到商店設置屏幕。
在一種方法中,我需要獲取該字段的值。我應該檢查訂單是否包含禮品卡商品。
public static bool GiftcardName(OrderModel orders, BZWoocommerceStore store)
{
// "ZGift CArd W" => "giftcard"
string wooCommName = string.Empty;
string wooCommNameNoSpases = string.Empty;
bool containsGiftcardName = false;
bool isGiftcard = false;
foreach (OrderLineModel line in orders.LineItems)
{
string gNameInAcumatica = store.GiftcardIdentifier;
string gNameInAcumaticaWithoutSpaces = gNameInAcumatica.Replace(" ", "");
wooCommName = line.Name; //pattern
wooCommNameNoSpases = wooCommName.Replace(" ", "");
//wooCommNameNoSpases = new string(wooCommName.ToCharArray()
// .Where(c => !Char.IsWhiteSpace(c))
// .ToArray());
//woCommNameNoUperCase= wooCommNameNoSpases.ToLower();
//isGiftcardName= woCommNameNoUperCase.Contains(gName);
//containsGiftcardName = wooCommNameNoSpases.Contains(gName);
containsGiftcardName = Regex.IsMatch(wooCommNameNoSpases, gNameInAcumaticaWithoutSpaces, RegexOptions.IgnoreCase);
if(containsGiftcardName)
{
isGiftcard = true;
}
}
return isGiftcard;
}
因此,當我調用這個方法時,我給出了兩個參數:orders和store。store參數就是這樣創建的。
public PXSelect<BZWoocommerceOrder> Order;
我在一個動作方法中寫了這個。
string storeCode = this.Order.Current.StoreCode;
BZWoocommerceStore store = PXSelect<BZWoocommerceStore, Where<BZWoocommerceStore.storeCode, Equal<Required<BZWoocommerceStore.storeCode>>>>.Select(this, storeCode);
我的GiftcardName()方法查看原始字段的值。寫“原創”我的意思是你不使用任何像這樣的技術。
BZSOOrderExt rowExt = sender.GetExtension<BZSOOrderExt>(row);
- 3 回答
- 0 關注
- 183 瀏覽
添加回答
舉報