为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取自定义字段值 acumatica

如何获取自定义字段值 acumatica

C#
茅侃侃 2023-06-25 13:51:06
我是开发 acumatica 的新手,我一直致力于获取我创建的自定义 TextEdit 字段的值。我可以通过这段代码获取所有内置字段值InventoryItem items = (InventoryItem)Base.Item.Cache.Current;但我无法获得我在 acumatica 定制中创建的那个,这是我想要获得的字段https://i.stack.imgur.com/gPln4.png我已经尝试过了InventoryItem items = (InventoryItem)Base.ItemSettings.Cache.Current;var shortdesc = items.UsrShortDescription;但它不起作用,并且不显示文本框中的值,提前感谢您的帮助
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

InventoryItem items = (InventoryItem)Base.ItemSettings.Current;

var itemExt = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(items);

var shortdesc = itemExt.UsrShortDescription;


查看完整回答
反对 回复 2023-06-25
?
白板的微信

TA贡献1883条经验 获得超3个赞

Vardan 展示了一种方式,为了图片的完整性,还想展示另一种方式:

InventoryItem items = (InventoryItem)Base.ItemSettings.Current;
var itemExt = items.GetExtension<InventoryItemExt>();


查看完整回答
反对 回复 2023-06-25
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

这是从非扩展字段获取值的示例。我没有使用扩展 DAC 将礼品卡字段添加到商店设置屏幕。

//img1.sycdn.imooc.com//6497d5fa0001758306520261.jpg

在一种方法中,我需要获取该字段的值。我应该检查订单是否包含礼品卡商品。


 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);


查看完整回答
反对 回复 2023-06-25
  • 3 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信