validation on Fin. Dim. before submit
Tue Dec 31 2024 12:17:27 GMT+0000 (Coordinated Universal Time)
Saved by @MinaTimo
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(); }
Comments