public class VKItemCSIDNumbers extends common { public static boolean checkExist(VKCSIDNumber _csid, ItemId _itemId) { if (_itemId && _csid && !VKItemCSIDNumbers::exist(_csid, _itemId)) { return checkFailed(strFmt("Inventory CSID number %1 does not exists for item %2", _csid, _itemId)); } return true; } public static boolean exist(VKCSIDNumber _csid, ItemId _itemId) { return _itemId && _csid && (select VKItemCSIDNumbers where VKItemCSIDNumbers.ItemId == _itemId && VKItemCSIDNumbers.CSIDNumber == _csid ).RecId != 0; } }
final class VKInventTrackingDimensionCSID extends InventTrackingDimension { public boolean checkExistsValueForItem(InventTable _inventTable, anytype _value) { return VKItemCSIDNumbers::checkExist(_value, _inventTable.ItemId); } public boolean isItemCoverageDimension() { return true; } public boolean isTransferReceiptMergeable() { return true; } public boolean isTransferTransitReceiptMergeable() { return true; } /// <summary> /// Returns the singleton instance of the <c>InventTrackingDimensionCSID</c> class. /// </summary> /// <returns>An instance of the <c>InventTrackingDimensionOwner</c> class.</returns> public static VKInventTrackingDimensionCSID getInstance() { return InventDimension::singletonFromInventDimFieldId(fieldNum(InventDim, InventDimension3)) as VKInventTrackingDimensionCSID; } }3. Implement the binding mapping. This is accomplished by extending the method InventDimFieldBinding.className2FieldName().
/// <summary> /// Extension class for InventDimFieldBinding table /// </summary> [ExtensionOf(tablestr(InventDimFieldBinding))] final class VKInventDimFieldBindingTable_Extension { protected static FieldName className2FieldName(ClassName _className) { var fieldName = next className2FieldName(_className); if (_className == classStr(VKInventTrackingDimensionCSID)) { return fieldStr(InventDim, InventDimension3); } return fieldName; } }4. Enable the configuration key.
K:\AosService\PackagesLocalDirectory\Bin\Microsoft.Dynamics.AX.Deployment.Setup.exe --metadatadir J:\AosService\PackagesLocalDirectory --bindir J:\AosService\PackagesLocalDirectory\Bin --sqlserver . --sqldatabase axdb --sqluser axdbadmin --sqlpwd **axdbadmin_from_lcs** --setupmode maintenancemode --isinmaintenancemode trueOr from SQL Management Studio:
update SQLSYSTEMVARIABLES SET VALUE = 1 where PARM = 'CONFIGURATIONMODE'More about maintanance mode: https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/maintenance-mode
K:\AosService\PackagesLocalDirectory\Bin\Microsoft.Dynamics.AX.Deployment.Setup.exe --metadatadir J:\AosService\PackagesLocalDirectory --bindir J:\AosService\PackagesLocalDirectory\Bin --sqlserver . --sqldatabase axdb --sqluser axdbadmin --sqlpwd **axdbadmin_from_lcs** --setupmode maintenancemode --isinmaintenancemode falseOr from SQL Management Studio:
update SQLSYSTEMVARIABLES SET VALUE = 0 where PARM = 'CONFIGURATIONMODE'
If you found value in what I share, I've set up a Buy Me a Coffee page as a way to show your support.
Buy Me a CoffeeNo comments. Be the first one to comment on this post.
DaxOnline.org is free platform that allows you to quickly store and reuse snippets, notes, articles related to Dynamics AX.
Authors are allowed to set their own "buy me a coffee" link.
Join us.