AXForum  
Вернуться   AXForum > Блоги > AnGor
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Оценить эту запись

Установка активности кнопок на форме SalesTable при определенных условиях.

Запись от AnGor размещена 24.06.2015 в 15:41

Задача - на форме 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());
......
}
Миниатюры
Нажмите на изображение для увеличения
Название: Tyre24.jpg
Просмотров: 693
Размер:	39.6 Кб
ID:	358   Нажмите на изображение для увеличения
Название: DirectDebitMandate.jpg
Просмотров: 659
Размер:	83.8 Кб
ID:	360  

Изображения
 
Размещено в Без категории
Просмотров 19017 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:20.