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 关注
- 135 浏览
添加回答
举报