![]() |
#1 |
Участник
|
Дыра в запрете редактирования шапок заказов на продажу/покупку
Стандартный подход к тому, как регулировать доступ к полям записи, состоит в том, чтобы на обработчик formDS.active() повесить некую логику, которая, скажем, будет управлять свойством formDS.allowEdit(). Примерно так же сделано в заказах на продажу и покупку, скажем, в SalesTable_DS.active() вызывается
X++: element.editSales(salesTableForm.editHeaderAllowed()); X++: void create(boolean append = true) { SalesTable newSalesTable; ; salesTableForm.interCompanyAutoCreateOrders(); element.editSales(true); if (salesTableForm.create()) { newSalesTable = SalesTable::find(salesTableForm.newSalesId()); if (newSalesTable) { super(append); salesTable.data(newSalesTable); salesTable_ds.reread(); tabLineOverview.setFocus(); } } else { element.editSales(salesTableForm.editHeaderAllowed(), salesTableForm.deleteHeaderAllowed()); } } Решение у проблемы весьма простое: нужно в create() перенести вызов element.editSales(true) внутрь if непосредственно перед super() и аналогично поступить с вызовом element.editPurch(true) в форме PurchTable. |
|
|
За это сообщение автора поблагодарили: mazzy (2), KiselevSA (2), Logger (3), aidsua (2), MikeR (2), Sergey Petrov (1). |
![]() |
#2 |
Гость
|
а что, service request в Microsoft автоматом с форума создается для исправления багов?
|
|
![]() |
#3 |
NavAx
|
Мы эту проблему решили просто - сделав окно создания заказа SalesCreateOrder немодальной с параметром TopMost. В результате, переключиться никуда не выйдет.
![]() ![]()
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... ![]() |
|
![]() |
#4 |
Участник
|
Цитата:
|
|
![]() |
#5 |
NavAx
|
Цитата:
Т.е. вы решили закрыть дыру за счет того, что форма создания заказа закрывает собой другие формы? А если у меня монитор с очень большим разрешением, и я могу просто сдвинуть форму создания заказа вбок, чтоб ничего не заслоняла?
![]() ![]() Ключевое слово - "модальное". Т.е. фокус с него переместить на другое окно невозможно (за исключением окон, открытых уже после текущего). Не знаю, будет ли работать в 2009, думаю, если аккуратно написать, то будет. Впрочем, согласен, это в общем случае - не выход, надо править сам функционал. Но как решение для конкретной местной проблемы, не требующее много ресурсов - вполне пригодно.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... ![]() Последний раз редактировалось Maximin; 20.09.2010 в 12:41. |
|
![]() |
#6 |
Microsoft Dynamics
|
Всю жизнь считал, что с модального окна нельзя увести фокус... А тут вот как оказывается...
|
|
![]() |
#7 |
NavAx
|
Уел
![]() ![]()
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... ![]() |
|
Теги |
баг, заказ на покупку, заказ на продажу, ошибка, форма |
|
|