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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.10.2013, 12:05   #1  
srg is offline
srg
Участник
 
116 / 10 (1) +
Регистрация: 20.08.2013
Рябзи, получилось, за минуту сделать это все, утро вечера мудренее)

вообщем добавил два поля.
одно которое скрываем. SourceExpr - name(переменная глобалс)
второе Type(visible,hide), от которого зависит, скрываем или показываем. SourceExpr - type (переменная глобалс OptionString)
на афтевалидейте Type
Код:
IF type=type::visible THEN
RequestOptionsForm.name.VISIBLE(TRUE)
ELSE
RequestOptionsForm.name.VISIBLE(FALSE);
и две кнопки, для разнообразия)
две кнопки

visible
на он пуше
Код:
RequestOptionsForm.name.VISIBLE(TRUE);
hide
на он пуше
Код:
RequestOptionsForm.name.VISIBLE(FALSE);

но вообще реализовал вот так.

мне надо было сделать, зависимо от выбора Customer/Vendor сделать вызов лукапа
изначально на ContrCode,Customer/Vendor (чтоб их выбирать)

дальше, зависимо от того, выбрал я Customer/Vendor, сделать лукап номер договора DocContr(на реквест форме написано "документа", ибо завтыкал)).

лукап поля ContrCode - Выбор(Кастомера или Вендора)

Код:
IF ContrType=0 THEN
BEGIN
IF Customer.GET(ContrCode) THEN;
IF FORM.RUNMODAL(0,Customer)=ACTION::LookupOK THEN
ContrCode:=Customer."No."
END;

IF ContrType=1 THEN
BEGIN
IF Vendor.GET(ContrCode) THEN;
IF FORM.RUNMODAL(0,Vendor)=ACTION::LookupOK THEN
ContrCode:=Vendor."No."
END;
на лукапе поля DocContr
Код:
CASE ContrType OF
  ContrType::Customer:
  BEGIN
    CustomerAgr.RESET;

    IF CustomerAgr.FINDFIRST THEN;
    CustomerAgr.SETRANGE(CustomerAgr."Customer No.",Customer."No.");
    IF FORM.RUNMODAL(0,CustomerAgr)=ACTION::LookupOK THEN
       DocContr:=CustomerAgr."No.";
  END;
END;

CASE ContrType OF
  ContrType::Vendor:
  BEGIN
    VendorAgr.RESET;

    IF VendorAgr.FINDFIRST THEN;
    VendorAgr.SETRANGE(VendorAgr."Vendor No.",Vendor."No.");
    IF FORM.RUNMODAL(0,VendorAgr)=ACTION::LookupOK THEN
       DocContr:=VendorAgr."No.";
  END;
END;
ну и что получил.
Старый 25.10.2013, 17:37   #2  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Цитата:
Сообщение от Fierce Посмотреть сообщение
на афтевалидейте Type
Код:
IF type=type::visible THEN
RequestOptionsForm.name.VISIBLE(TRUE)
ELSE
RequestOptionsForm.name.VISIBLE(FALSE);
сокращаем так
Код:
CurrForm.name.VISIBLE(type=type::visible);
должно сработать, можно, чтоб уж наверняка, дописать
CurrForm.UPDATE(FALSE);
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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