In this scenario, we will assume we needs to set Payment Method to a lookup field (i.e. new_paymentmethodid). Its user-friendly if we can filter the lookup values to show only the payments of contact (i.e. new_contactid). This code snippet will work for this.
PaymentMethodFilter = function () { Xrm.Page.getControl("new_paymentmethodid").addPreSearch(addPaymentMethodFilter); } addPaymentMethodFilter = function () { var contact = Xrm.Page.getAttribute('new_contactid'); if ((contact == null) || (contact.getValue() == null) || (contact.getValue()[0] == undefined)) return; var paymentMethodFilter = "<filter type='and'><condition attribute='new_paymentowner' uiname='" + contact.getValue()[0].name + "' operator='eq' uitype='contact' value='" + contact.getValue()[0].id + "' /></filter>"; Xrm.Page.getControl("new_paymentmethodid").addCustomFilter(paymentMethodFilter, "new_paymentmethod"); }
Now call PaymentMethodFilter method for onChange of new_contactid field.
No comments:
Post a Comment