我有财务维度,它联系诸如 BuildingID 和 ContractID 之类的值。创建新建筑物时,维度会正确填充数据。但是,之后需要创建合同。创建合同时,合同ID 的财务维度字段中有值。但是,当保存合同时,合同 ID 的财务维度会消失。当我签入该 ContractID 维度的 DIMENSIONATTRIBUTEVALUESET 表值为空时,只有 BuildingID 的值。我有这种初始化尺寸的方法:
void initDimensions()
{
DimensionDefault dimension;
PMGOrgDimension orgDimension;
CompanyId companyId;
PMEGround ground;
PMEBuilding building;
switch(pmcContract.EstateType)
{
case PMCEstateType::Ground :
ground = PMEGround::find(pmcContract.EstateId);
dimension = PMEObjectLegalEntity::find(ground.TableId, ground.RecId).DefaultDimension;
orgDimension = ground.OrgDimension;
companyId = ground.CompanyId;
break;
case PMCEstateType::Building :
building = PMEBuilding::find(pmcContract.EstateId);
dimension = PMEObjectLegalEntity::find(building.TableId, building.RecId).DefaultDimension;
orgDimension = building.OrgDimension;
companyId = building.CompanyId;
break;
default :
dimension = pmcContract.DefaultDimension;
orgDimension = pmcContract.OrgDimension;
companyId = pmcContract.CompanyId;
break;
}
pmcContract.DefaultDimension = dimension;
pmcContract.OrgDimension = orgDimension;
pmcContract.CompanyId = companyId;
}
有什么我想念的吗?