前言
使用 X++ 设置采购行的财务维度组合
一、代码
PurchLine purchLine;
DimensionAttributeValueSetStorage dimensionAttributeValueSetStorage;
DimensionAttributeValue dimensionAttributeValue;
DimensionAttribute dimensionAttribute;
container financialDimensionName;
container financialDimensionValue;
int i;
financialDimensionName = ['BusinessUnit', 'CostCenter', 'Department', 'ItemGroup', 'Project'];
financialDimensionValue = ['001', '007', '022', 'AudioRM', '000002'];
purchLine = PurchLine::find('000038', 1);
dimensionAttributeValueSetStorage = new DimensionAttributeValueSetStorage();
for (i = 1; i <= conLen(financialDimensionName); i++)
{
dimensionAttribute = DimensionAttribute::findByName(conPeek(financialDimensionName, i));
dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, conPeek(financialDimensionValue, i), false, true);
if (dimensionAttributeValue)
{
dimensionAttributeValueSetStorage.addItem(dimensionAttributeValue);
}
}
ttsBegin;
purchLine.selectForUpdate(true);
purchLine.DefaultDimension = dimensionAttributeValueSetStorage.save();
purchLine.update();
ttsCommit;