X++ Set One Of Financial Dimension Value to Empty
[ExtensionOf(TableStr(TrvCashAdvance))]
final class TrvCashAdvance_Extension { public void modifiedField(fieldId _fieldId) { next modifiedField(_fieldId); switch (_fieldId) { case(fieldnum(TrvCashAdvance, Worker)): this.updateDefaultDimension(); break; } } private void updateDefaultDimension() { HcmPersonnelNumberId hcmPersonnelNumberId; DimensionAttributeValueSetStorage dimStorage = new DimensionAttributeValueSetStorage(); DimensionAttribute dimAttribute; DimensionAttributeValue dimAttributeValue; DimensionDefault defaultDimension; #define.Worker('Worker') hcmPersonnelNumberId = this.Worker; defaultDimension = this.DefaultDimension; ttsBegin; dimStorage = DimensionAttributeValueSetStorage::find(defaultDimension); dimAttribute = DimensionAttribute::findByName(#Worker); if(hcmPersonnelNumberId) { dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimAttribute, hcmPersonnelNumberId, true, true); dimStorage.addItem(dimAttributeValue); } else { dimStorage.removeDimensionAttribute(dimAttribute.RecId); } // Dimension modified or updated including Worker as well. defaultDimension = dimStorage.save(); this.DefaultDimension = defaultDimension; ttsCommit; } }
Comments
Post a Comment