עדכן את ערך הממד הפיננסי מקוד X++ ב- Dynamics 365
פורסם: 16 בפברואר 2025 בשעה 12:01:59 UTC
עודכן לאחרונה: 13 בנובמבר 2025 בשעה 13:38:21 UTC
מאמר זה מסביר כיצד לעדכן ערך של ממד פיננסי מקוד X++ ב-Dynamics 365, כולל דוגמת קוד.
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 FO Virtual Machine Dev או Test למצב תחזוקה
- Visual Studio נתקע בעת האתחול בעת טעינת פרויקטים אחרונים
