public void submit()
{
PurchLine PurchLine;
if(!purchTable.PurchAgreement())
{
if(!purchTable.PaymentTerms) throw Error("Payment Terms must be filled");
if(!purchTable.DeliveryTerms) throw Error("Delivery Terms must be filled");
if(!purchTable.DeliveryTime) throw Error("Delivery Time must be filled");
if(!purchTable.QuotationRef) throw Error("Quotation Reference must be filled");
}
if(purchTable.DefaultDimension==0)
{
throw Error("Dimension for PO must be filled");
}
select PurchLine where PurchLine.PurchId==purchTable.purchid && PurchLine.DefaultDimension==0;
if(PurchLine)
{
throw Error("Dimension for PO line must be filled");
}
DimensionAttributeValueSetStorage dimStorage;
dimStorage = DimensionAttributeValueSetStorage::find(purchTable.DefaultDimension);
// check the number of Dimensions have value the same number of Dimension
if(dimStorage.elements() !=5)
throw Error("Dimension for PO must be filled");
// or check each dimension has value
/*DimensionAttribute DimensionAttribute;
DimensionAttribute = DimensionAttribute::findByName('BudgetCode');
if(!dimStorage.containsDimensionAttribute(DimensionAttribute.RecId))
throw Error("Financial Dimension BudgetCode is required.");
DimensionAttribute = DimensionAttribute::findByName('Department');
if(!dimStorage.containsDimensionAttribute(DimensionAttribute.RecId))
throw Error("Financial Dimension Department is required.");
DimensionAttribute = DimensionAttribute::findByName('General');
if(!dimStorage.containsDimensionAttribute(DimensionAttribute.RecId))
throw Error("Financial Dimension General is required.");
DimensionAttribute = DimensionAttribute::findByName('Vendor');
if(!dimStorage.containsDimensionAttribute(DimensionAttribute.RecId))
throw Error("Financial Dimension Vendor is required.");
DimensionAttribute = DimensionAttribute::findByName('Worker');
if(!dimStorage.containsDimensionAttribute(DimensionAttribute.RecId))
throw Error("Financial Dimension Worker is required.");
*/
//for(int i = 1; i< dimStorage.elements(); i++)
//{
// info(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name);
// info(dimStorage.getDisplayValueByIndex(i));
//}
while select PurchLine
where PurchLine.PurchId==purchTable.purchid
{
dimStorage = DimensionAttributeValueSetStorage::find(PurchLine.DefaultDimension);
// check the number of Dimensions have value the same number of Dimension
if(dimStorage.elements() !=5)
throw Error("Dimension for PO line must be filled");
}
next submit();
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter