Hello,
I'm trying to update the record in write() method of the standard formdatasource extension. t
[ExtensionOf(FormDataSourceStr(PurchCreateOrder, PurchTable))]
internal final class PurchCreateOrder_Form_PurchTableDS_Extension
{
void write()
{
next write();
FormDataSource purchTableDS = this;
Purchtable purchTableCursor = purchTableDS.cursor() as PurchTable;
PurchTable purchTable = Purchtable::find(purchTableCursor.PurchId,true);
ttsbegin;
purchTable.TaxGroup = sometable::find(purchtable.InventSiteId,purchtable.InventLocationId).TaxGroup;
purchTable.DefaultDimension = changeFinancialDimensionValue(purchTable.DefaultDimension,
'Location',
sometable::find(purchTable.InventSiteId,purchTable.InventLocationId).LocationFinDim
);
purchTable.update();
ttscommit;
}
}
the record is already inserted in standard write() method. then I get the cursor and it contains purchid value but then the system doesn't find purchtable. it's always null value. what am I doing wrong? I tried simply use purchTable without finding cursor. It's also doesn't work. FO doesn't see it in the code below saying that purchTable isn't reachable:
[ExtensionOf(FormDataSourceStr(PurchCreateOrder, PurchTable))]
internal final class PurchCreateOrder_Form_PurchTableDS_Extension
{
void write()
{
next write();
ttsbegin;
purchTable.selectforupdate();
purchTable.TaxGroup = sometable::find(purchtable.InventSiteId,purchtable.InventLocationId).TaxGroup;
purchTable.DefaultDimension = changeFinancialDimensionValue(purchTable.DefaultDimension,
'Location',
sometable::find(purchTable.InventSiteId,purchTable.InventLocationId).LocationFinDim
);
purchTable.update();
ttscommit;
}
}