首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SalesLineType_Sales扩展可能吗?

SalesLineType_Sales扩展可能吗?
EN

Stack Overflow用户
提问于 2017-02-18 11:15:25
回答 1查看 138关注 0票数 0

我们正在考虑做一个定制SalesLineType_Sales,我们需要在下面的"pdsMRCCheckRestricted“方法中添加对"SalesQty”的验证。

现在,我们知道定制是不受欢迎的,所以寻找任何建议或最佳实践来适当地完成它。

1-我们可以自定义"SalesLineType_Sales“-但这是Dynamics 365 for operations的最佳实践吗? 2-是否有其他可能的选项?

如有任何意见,我们将非常感谢!

代码语言:javascript
复制
public boolean pdsMRCCheckRestricted()
{
    boolean                 isRestricted = false;
    AddressCountryRegionId  deliveryCountryId;
    AddressStateId          deliveryStateId;

    deliveryCountryId = salesLine.deliveryAddress().CountryRegionId ?
        salesLine.deliveryAddress().CountryRegionId : salesTable.deliveryAddress().CountryRegionId;

    deliveryStateId   = salesLine.deliveryAddress().State ?
        salesLine.deliveryAddress().State : salesTable.deliveryAddress().State;

    if (salesLine.SalesQty >  0)
    {

        isRestricted = PdsMRCRestrictedListByItem::checkItemRestrictedForState(
                                         deliveryCountryId,
                                         deliveryStateId,
                                         salesLine.ItemId);
        if (!isRestricted)
        {
            isRestricted =
                PdsMRCRestrictedListByItem::checkItemRestrictedForCountry(
                                            deliveryCountryId,
                                            salesLine.ItemId);
        }

        if (isRestricted)
        {
            error(strFmt("@PDS908", salesLine.ItemId));
        }
    }

    return isRestricted;
}
EN

回答 1

Stack Overflow用户

发布于 2017-02-18 20:10:24

在Dynamics 365 for Operations中,对现有对象进行自定义的首选机制是使用事件处理程序对各种事件做出反应,而不是重写表、窗体和类上的方法。

代码语言:javascript
复制
[PostHandlerFor(classStr(SalesLineType_Sales), methodstr(SalesLineType_Sales, pdsMRCCheckRestricted))]
public static void PostPdsMRCCheckRestricted(XppPrePostArgs args)
{
    boolean     returnValue = args.getReturnValue();        

    //Suppress error message
    if (returnValue)
    {
        infolog.clear();
    }

    //Add your validation here

    args.setReturnValue(returnValue);        
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42310679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档