AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2014, 12:34   #21  
JonAx is offline
JonAx
Участник
 
67 / 11 (1) +
Регистрация: 25.07.2014
Цитата:
Сообщение от IvanS Посмотреть сообщение
Код должен быть написан на init'е формы, и вместо

X++:
    CalculationParameters.visible(RContractTypes.ContractPartnerType == RContractPartnerType::Personnel);
Должно быть
X++:
    CalculationParameters.visible(element.args().parmenum() == RContractPartnerType::Personnel);
Я не могу понять, у меня получается я прописал код (rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(false) и у меня исчезло поле которое я создавал что в Клиентах(группа договоров) что в Поставщиках (Группа договоров), а мне надо сделать так чтобы поле которое я создал было только в Клиентах
Старый 29.07.2014, 12:38   #22  
JonAx is offline
JonAx
Участник
 
67 / 11 (1) +
Регистрация: 25.07.2014
Цитата:
Сообщение от IvanS Посмотреть сообщение
Как я понял, поле должно скрываться при открытии формы, а не в зависимости от выбранной записи. Если так, то при инициализации формы это нужно сделать один раз. И в зависимости от переданного enum'а, который прописан в пункте меню будет скрываться поле
Поле которое было создано (Тип) должно быть только в Расчеты с клиентами (Группа договоров), а так получается что это поле появляется в Расчеты с поставщиками (группа договоров), как я понял у них одна таблица. Так вот мне надо чтобы в Расчетах с поставщиками это поле не появлялось.... Код вроде прописал, но он полностью их убрал что там что там
Старый 29.07.2014, 12:43   #23  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
На менюайтемах (RContractTypeCust, RContractTypeVend), открывающих данную форму, есть свойства EnuTypeParameter = RContractPartnerTypeAll и EnumParameter = (Cust или Vend). Второе свойство чётко определяет откуда была открыта форма: из расчётов с клиентами или из Расчётов с поставщиками. Свойства доступны через element.args().parnEnum().

Вам следует сделать проверку в init() формы на EnumParameter и в зависимости от текущего EnumParameter делать поле скрытым или видимым.
Старый 29.07.2014, 13:16   #24  
JonAx is offline
JonAx
Участник
 
67 / 11 (1) +
Регистрация: 25.07.2014
Цитата:
Сообщение от Cardagant Посмотреть сообщение
На менюайтемах (RContractTypeCust, RContractTypeVend), открывающих данную форму, есть свойства EnuTypeParameter = RContractPartnerTypeAll и EnumParameter = (Cust или Vend). Второе свойство чётко определяет откуда была открыта форма: из расчётов с клиентами или из Расчётов с поставщиками. Свойства доступны через element.args().parnEnum().

Вам следует сделать проверку в init() формы на EnumParameter и в зависимости от текущего EnumParameter делать поле скрытым или видимым.

А можно пояснить? а то я начинающий, и не могу толком разобраться??
Старый 29.07.2014, 13:43   #25  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от JonAx Посмотреть сообщение
А можно пояснить? а то я начинающий, и не могу толком разобраться??
Половину задачи вы уже решили - нашли команду которая скрывает ваше поле. Но сейчас у вас эта команда всегда меняет значение у свойства visible на False.

Нужно же, либо не всегда менять значение свойства, либо менять не только на False.

Что же вам ещё пояснить?
Оператор ветвления
Логическое выражение
Старый 29.07.2014, 14:00   #26  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от JonAx Посмотреть сообщение
А можно пояснить? а то я начинающий, и не могу толком разобраться??
Например, можно вот так, где RContractTypeType, насколько я понял, созданное Вами поле. Поле будет видно для формы из Клиентов и скрыто во всех остальных случаях.
X++:
    rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(
        element.args().parmEnum() == RContractPartnerTypeAll::Cust);
Для наглядности развёрнутый пример:
X++:
    switch (element.args().parmEnum())
    {
        case RContractPartnerTypeAll::Cust :
            rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(true);
            break;
        default :
            rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(false);
    }
UPD: После default break можно не ставить.

Последний раз редактировалось Cardagant; 29.07.2014 в 15:20.
Старый 29.07.2014, 14:37   #27  
JonAx is offline
JonAx
Участник
 
67 / 11 (1) +
Регистрация: 25.07.2014
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Например, можно вот так, где RContractTypeType, насколько я понял, созданное Вами поле. Поле будет видно для формы из Клиентов и скрыто во всех остальных случаях.
X++:
    rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(
        element.args().parmEnum() == RContractPartnerTypeAll::Cust);
Для наглядности развёрнутый пример:
X++:
    switch (element.args().parmEnum())
    {
        case RContractPartnerTypeAll::Cust :
            rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(true);
            break;
        default :
            rContractTypes_ds.object(fieldNum(RContractTypes, RContractTypeType)).visible(false);
            break;
    }
Круто, спасибо))) Буду изучать))
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX 2012 Скрыть поле на Part-е Eldar9x DAX: Программирование 2 18.09.2013 10:33
скрыть поле на форме для одной компании и показывать для другой IKA DAX: Программирование 4 26.02.2010 13:15
сопоставление оплат клиента, переносов сальдо-поле накладная в общем журнале? Aquarius DAX: Функционал 3 28.01.2009 12:51
Как скрыть на форме поле для queryBuildRange ? Zeratul DAX: Программирование 12 07.10.2008 13:33
Как скрыть из класса поле вызываемого отчета petr DAX: Программирование 4 17.08.2005 13:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

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