|
24.06.2015, 16:11 | #1 |
Участник
|
axforum blogs: Установка активности кнопок на форме SalesTable при определенных условиях.
Источник: http://axforum.info/forums/blog.php?b=8182
============== Задача - на форме SalesTable, кнопку Packing slip в группе Posting делать активной, при условии, что есть Direct debit mandate, c Mandate status равный Active. На форме есть кнопка Packing slip, которая не состоит ни в какой группе - добавлена для быстрого доступа. Активность этой кнопки должна быть такойже. 1. Надо добраться до метода canPackingslipBeUpdated класса SalesTableType В конце метода, переред return дописать новую проверку условия X++: boolean canPackingslipBeUpdated(DocumentStatus _documentStatus = DocumentStatus::PackingSlip){ boolean ok = true; ;....... if (ok) { ok = this.checkCustDirectDebitMandate(); }...... return ok;} Собственно сам метод проверки: X++: boolean checkCustDirectDebitMandate(){ CustDirectDebitMandate custDirectDebitMandate; boolean ok = false; ; while select custDirectDebitMandate where custDirectDebitMandate.CustAccount == salesTable.CustAccount && custDirectDebitMandate.MandateScheme == CustMandateScheme::CORE { if (custDirectDebitMandate.getStatus() == CustMandateStatus::Active) { ok = true; } } return ok;} Теперь нужно продублировать активность на кнопку Packing slip, которая сама по себе, не в группе. Решено было устанавливать активность в следующем месте: \Forms\SalesTable\Data Sources\SalesTable\Methods\active В начале метода следующий код: X++: int active(){.....buttonUpdatePickingList.enabled(SalesTable.type().canPackingslipBeUpdated());......} Миниатюры Изображения Источник: http://axforum.info/forums/blog.php?b=8182
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|