none
如何更新QuoteDetail的PricePerUnit 及 volumediscountamount欄位 RRS feed

  • 问题

  • 我想在預設價格時手工修改MSCrm的priceperunit及volumediscountamount,我用Plugin也不行。不知道為什麽。
     if (context.InputParameters.Properties.Contains("Target") &&
                           context.InputParameters.Properties["Target"] is DynamicEntity)
                {
    if (dyentity.Name.ToLower() == "quotedetail")
                        {
                            if (dyentity.Properties.Contains("ispriceoverridden"))
                            {
                                dyentity.Properties["ispriceoverridden"] = CrmTypes.CreateCrmBoolean(true);
                            }
                            else
                            {
                                dyentity.Properties.Add(CrmTypes.CreateCrmBooleanProperty("ispriceoverridden", CrmTypes.CreateCrmBoolean(true)));
    
                            }
                            dbl_priceperunit = (decimal)20.203;
                            if (dyentity.Properties.Contains("priceperunit_base"))
                            {
                                dyentity.Properties["priceperunit_base"] = CrmTypes.CreateCrmMoney((decimal)58.20);
                            }
                            else
                            {
                                dyentity.Properties.Add(CrmTypes.CreateCrmMoneyProperty("priceperunit_base", CrmTypes.CreateCrmMoney((decimal)58.20)));
    
                            }
    
                            if (dyentity.Properties.Contains("priceperunit"))
                            {
                                dyentity.Properties["priceperunit"] = CrmTypes.CreateCrmMoney((decimal)58.20);
                            }
                            else
                            {
                                dyentity.Properties.Add(CrmTypes.CreateCrmMoneyProperty("priceperunit", CrmTypes.CreateCrmMoney((decimal)58.20)));
    
                            }
                            if (dyentity.Properties.Contains("volumediscountamount_base"))
                            {
                                dyentity.Properties["volumediscountamount_base"] = CrmTypes.CreateCrmMoney((decimal)80.20);
                            }
                            else
                            {
                                dyentity.Properties.Add(CrmTypes.CreateCrmMoneyProperty("volumediscountamount_base", CrmTypes.CreateCrmMoney((decimal)80.20)));
                            }
                            if (dyentity.Properties.Contains("manualdiscountamount_base"))
                            {
                                dyentity.Properties["manualdiscountamount_base"] = CrmTypes.CreateCrmMoney((decimal)100.20);
                            }
                            else
                            {
                                dyentity.Properties.Add(CrmTypes.CreateCrmMoneyProperty("manualdiscountamount_base", CrmTypes.CreateCrmMoney((decimal)100.20)));
                            }
                           
                        }
    }

    韓建興 http://jamson.cnblogs.com
    2009年5月4日 6:18

答案

全部回复

  • plugin 不触发? 还是其他? 不大理解你的问题
    Batistuta Cai-刀客 | 蔡敏生 | MS CRM MVP | Blog:http://caims.cnblogs.com
    2009年5月5日 12:01
    版主
  • Plugin觸發,但是我在修改以后Throw出來也是改過的。我用的是PreEvent , 但是儲存后發現還是Microsoft自動取的值。而不是我填入的值 .
    韓建興 http://jamson.cnblogs.com
    2009年5月8日 8:33
  • 你注册到Child PreEvent 试试。
    Batistuta Cai-刀客 | 蔡敏生 | MS CRM MVP | Blog:http://caims.cnblogs.com
    2009年5月8日 12:54
    版主