17.09.2010, 20:38 | #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). |
Теги |
баг, заказ на покупку, заказ на продажу, ошибка, форма |
|
|