23.10.2013, 19:04 | #1 |
Участник
|
Каким образом на request form-е сделать хайд определенного Controla при условии? и возможно ли это?
к примеру if type=1 then control№1234.visible(TRUE) else control№1234.visible(FALSE) возможно ли это? |
|
23.10.2013, 23:24 | #2 |
Administrator
|
да, написать надо на OnOpenForm самой реквест формы
или вопрос в том, как передать флаг в отчет? |
|
24.10.2013, 10:53 | #3 |
Участник
|
Триггер OnOpenForm - RequestOptionForm
Код: IF ContrType=0 THEN RequestOptionsForm.control.VISIBLE(TRUE) ELSE RequestOptionsForm.control.VISIBLE(FALSE); |
|
24.10.2013, 11:04 | #4 |
Участник
|
Я так понимаю, что этот метод работает на обычных формах и только на контролах, которые привязаны к какому-то полю в таблице. Если к контролу привязана какая-то переменная или речь идет о реквешнформ, то у меня не получалось управлять их видимостью.
|
|
24.10.2013, 11:30 | #5 |
Участник
|
Цитата:
вот еще вопросик, значение как обнулить, после выбора? к примеру. я выбираю type=1; потом иду на лукап, выбираю то, по чему делаю фильтр. после этих действий я выбираю type=0;, но на строке значение остается.. с type=1 |
|
24.10.2013, 11:48 | #6 |
Участник
|
Ребята,
|
|
24.10.2013, 12:19 | #7 |
Участник
|
переменная:='';
|
|
24.10.2013, 14:35 | #8 |
Участник
|
а управлять видимостью на тригере OnAfterValidate контрола по которому проверяете не получится?
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
24.10.2013, 15:39 | #9 |
Участник
|
|
|
24.10.2013, 17:39 | #10 |
NavAx
|
Да все должно получиться, только надо контролу имя сменить ручками (прямо вот написать ему в свойствах в Name что-нибудь свое)
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
24.10.2013, 19:49 | #11 |
Участник
|
|
|
25.10.2013, 10:36 | #12 |
Участник
|
я еще обычно меняю не свойство контрола а булевой переменной присваиваю true/false - а вот переменная уже стоит в свойствах контрола (в RTC по другому никак, а не хочется делать различия в логике работы одного и того же функционала).
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
25.10.2013, 12:05 | #13 |
Участник
|
Рябзи, получилось, за минуту сделать это все, утро вечера мудренее)
вообщем добавил два поля. одно которое скрываем. 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); на он пуше Код: 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; Код: 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, 16:14 | #14 |
Участник
|
Ребята, вопрос, как отсортировать при выгрузке по возрастанию даты?
1,2,3,4, и тд? |
|
25.10.2013, 17:27 | #15 |
NavAx
|
При выгрузке чего и откуда?
Вообще Навижн, в отличие от Экселя, умеет сортировать только по ключам. Т.е. самый простой путь - создать в табличке ключ, в ключ вставить эту дату И не забыть в свойствах ключа отключить MaintainSQLIndex, т.к. ключ нужен только для сортировки Есть более сложные пути Типа например сначала пихать данные во временную таблицу в нужном порядке, а потом уже с ней работать
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
25.10.2013, 17:37 | #16 |
Administrator
|
Цитата:
Код: CurrForm.name.VISIBLE(type=type::visible); CurrForm.UPDATE(FALSE); |
|