Показать сообщение отдельно
Старый 24.06.2015, 16:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
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, напишите личное сообщение администратору.