|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от lev
![]() у вас в методе visibleCollums все уже написано.
вот это лишние, в методе visibleFields (SalesQuotationLine_StatusReasonCode - это же тоже столбец, да??) X++: if(smm.PhaseId==SalesQuotationLine.Status && smm.IsAskCode==NoYes::Yes) { SalesQuotationLine_StatusReasonCode.visible(true); } Нет, SalesQuotationLine_StatusReasonCode - это контрол формы, а поле датасоурса назыается просто StatusReasonCode. Вы ведь сказали, что в visibleFields скрывать, показывать контролы, а в visibleCollums - поля датасоурса, или я вас неправильно понял? ![]() |
|
![]() |
#2 |
Ищущий знания...
|
Цитата:
Сообщение от user_ax
![]() То есть в visibleFields только указывать какой контрол скрыть/показать? или поля датасоурса?
Нет, SalesQuotationLine_StatusReasonCode - это контрол формы, а поле датасоурса назыается просто StatusReasonCode. Вы ведь сказали, что в visibleFields скрывать, показывать контролы, а в visibleCollums - поля датасоурса, или я вас неправильно понял? ![]() в гриде отображаются поля датасорса (ну и display \ edit методы, и в ручную можно поля добавить, но в основном поля датасорса). если есть возможность, выложите принтскрин формы где обведите контрол SalesQuotationLine_StatusReasonCode. З.Ы. на всякий случай, под контролом формы, я понимаю объект, добавленный на форму, который не относится к датасорсу.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от lev
![]() судя по названию SalesQuotationLine_StatusReasonCode, это контрол грида, правильно?
в гриде отображаются поля датасорса (ну и display \ edit методы, и в ручную можно поля добавить, но в основном поля датасорса). если есть возможность, выложите принтскрин формы где обведите контрол SalesQuotationLine_StatusReasonCode. З.Ы. на всякий случай, под контролом формы, я понимаю объект, добавленный на форму, который не относится к датасорсу. Это StringEdit на гриде, источником которого является поле таблицы SalesQuotationLine датасоурса. Вот. Под обведённым Статусом сейчас есть поле Код причины, вот оно должно отображаться, когда статус 09 или другой(в зависимости от enum-а), а когда хочу переключить на 14, например, оно должно пропасть и появится другое. Этот объект относится к датасоурсу, как я понимаю, ведь оно связано с полем моим )) |
|
![]() |
#4 |
Ищущий знания...
|
Цитата:
Сообщение от user_ax
![]() Это StringEdit на гриде, источником которого является поле таблицы SalesQuotationLine датасоурса.
Вот. Под обведённым Статусом сейчас есть поле Код причины, вот оно должно отображаться, когда статус 09 или другой(в зависимости от enum-а), а когда хочу переключить на 14, например, оно должно пропасть и появится другое. Этот объект относится к датасоурсу, как я понимаю, ведь оно связано с полем моим ))
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#5 |
Участник
|
Цитата:
То есть мой метод visibleCollums должен выглядеть так? X++: void visibleCollums() { // 18.02.2013 Если статус не 11 - поле код причины скрывать if(smm.PhaseId==SalesQuotationLine.Status && smm.IsAskCode==NoYes::Yes) { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,StatusReasonCode)).visible(true); SalesQuotationLine_ds.write(); SalesQuotationLine_ds.refresh(); } else { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,StatusReasonCode)).visible(false); } //Если стоит галка "запрашивать основное предложение -показывать основное предложение) if(smm.PhaseId == SalesQuotationLine.Status && smm.IsAskMainQuotationId == NoYes::Yes) { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,QuotationId)).visible(true); SalesQuotationLine_ds.write(); SalesQuotationLine_ds.refresh(); } else { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine, QuotationId)).visible(false); } // 3816 18.02.2013 } это уже ведь будет не element, а Table_ds |
|
![]() |
#6 |
Ищущий знания...
|
Цитата:
Сообщение от user_ax
![]() Все поля, которые я хочу скрывать\показывать (их 2) это поля датасоурса.
То есть мой метод visibleCollums должен выглядеть так? X++: void visibleCollums() { // 18.02.2013 Если статус не 11 - поле код причины скрывать if(smm.PhaseId==SalesQuotationLine.Status && smm.IsAskCode==NoYes::Yes) { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,StatusReasonCode)).visible(true); SalesQuotationLine_ds.write(); SalesQuotationLine_ds.refresh(); } else { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,StatusReasonCode)).visible(false); } //Если стоит галка "запрашивать основное предложение -показывать основное предложение) if(smm.PhaseId == SalesQuotationLine.Status && smm.IsAskMainQuotationId == NoYes::Yes) { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,QuotationId)).visible(true); SalesQuotationLine_ds.write(); SalesQuotationLine_ds.refresh(); } else { SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine, QuotationId)).visible(false); } // 3816 18.02.2013 } это уже ведь будет не element, а Table_ds вызывайте element, ведь в нем вызывается нужный нам метод ![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#7 |
Участник
|
Цитата:
а, visibleFields, да, но тогда что в нём писать?? X++: SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine,StatusReasonCode_ZTR)).visible(smm.PhaseId ==SalesQuotationLine.Status_ZTR && smm.IsAskCode_ZTR); SalesQuotationLine_ds.object(fieldnum(SalesQuotationLine, QuotationId)).visible(smm.PhaseId ==SalesQuotationLine.Status_ZTR && smm.IsAskMainQuotationId_ZTR); Последний раз редактировалось user_ax; 20.02.2013 в 12:44. |
|