ارزش ابعاد مالی را از کد X++ در Dynamics 365 بهروزرسانی کنید
منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۱۲:۰۱:۵۴ (UTC)
آخرین به روز رسانی: ۱۳ نوامبر ۲۰۲۵ ساعت ۱۳:۳۸:۱۷ (UTC)
این مقاله نحوه بهروزرسانی مقدار بُعد مالی از کد X++ در داینامیکس ۳۶۵، شامل یک مثال کد، را توضیح میدهد.
Update Financial Dimension Value from X++ Code in Dynamics 365
اطلاعات این پست بر اساس Dynamics 365 است. همچنین باید در Dynamics AX 2012 کار کند، اما من به طور خاص آن را آزمایش نکردهام.
اخیراً وظیفه داشتم ارزش یک بُعد مالی واحد را بر اساس منطق فرم بهروزرسانی کنم.
همانطور که احتمالاً میدانید، از زمان Dynamics AX 2012، ابعاد مالی در جداول جداگانه ذخیره میشوند و از طریق RecId، معمولاً در فیلد DefaultDimension، به آنها ارجاع داده میشود.
کل چارچوب مدیریت ابعاد تا حدودی پیچیده است و من اغلب مجبور میشوم مستندات مربوط به آن را دوباره بخوانم، شاید به این دلیل که چیزی نیست که من زیاد با آن کار کنم.
به هر حال، بهروزرسانی یک فیلد در یک مجموعه بُعد موجود چیزی است که مرتباً پیش میآید، بنابراین فکر کردم دستور پخت مورد علاقهام را بنویسم ;-)
یک متد کاربردی استاتیک میتواند به این شکل باشد:
Name _dimensionName,
DimensionValue _dimensionValue)
{
DimensionAttribute dimAttribute;
DimensionAttributeValue dimAttributeValue;
DimensionAttributeValueSetStorage dimStorage;
DimensionDefault ret;
;
ret = _defaultDimension;
ttsbegin;
dimStorage = DimensionAttributeValueSetStorage::find(_defaultDimension);
dimAttribute = DimensionAttribute::findByName(_dimensionName);
if (_dimensionValue)
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue( dimAttribute,
_dimensionValue,
true,
true);
dimStorage.addItem(dimAttributeValue);
}
else
{
dimStorage.removeDimensionAttribute(dimAttribute.RecId);
}
ret = dimStorage.save();
ttscommit;
return ret;
}
این متد یک DimensionDefault RecId جدید (یا همان) را برمیگرداند، بنابراین اگر مقدار بُعد یک رکورد را بهروزرسانی میکنید - که احتمالاً رایجترین سناریو است - باید مطمئن شوید که فیلد بُعد آن رکورد را با مقدار جدید بهروزرسانی میکنید.
مطالعه بیشتر
اگر از این پست لذت بردید، ممکن است این پیشنهادات را نیز بپسندید:
- ویژوال استودیو هنگام بارگیری پروژههای اخیر، در هنگام راهاندازی هنگ میکند
- ایجاد یک فیلد جستجو برای یک بعد مالی در Dynamics 365
- افزودن متد نمایش یا ویرایش از طریق افزونه در Dynamics 365
