I have added a table in the purchase order form as a data source. because its data is shown in a tab of the purchase order form. This table is filled in a form that is open from the purchase order form. At first, the link type of the joined source was Delayed. but the user asks me to show a field of the table in the purchase order grid, which should be filterable. As you know if the link type is delayed then its values are shown when the record is selected. because this is a kind of parent-child relationship. a child needs to know its parent. On the other hand, if I choose the outer join link type, when I want to change the purchase order or adding a new one, the warning shown that the table mandatory fields must be filled. However, these fields always filled later even after confirming the purchase order.
So what is your suggestion? is there any way that I can add the field to the purchase order grid in which the user can filter it?
You need to create an extension for your datasource and not call next
in write
and validateWrite
methods if you use an outer join:
[ExtensionOf(formDatasourceStr(PurchTable, NewDataSource))]
public final class PurchTableNewDataSourceDS_Extension
{
public void write()
{
//next write();
}
public boolean validateWrite()
{
boolean ret = true;
//ret = next validateWrite();
return ret;
}
}