Fixlist for the Manufacturing Service Organization Area

This document is a compilation of the fixes that are built into Microsoft Dynamics AX 3.0 with Service Pack 6 (SP6). All issue numbers are bug numbers that Microsoft and its partners can use to track these problems to resolution. Microsoft Knowledge Base (KB) numbers, when they are available, are linked to the published Knowledge Base on Partner Source (you must have access to Partner Source to access these links).
This document contains information similar to what can be found in the Microsoft Knowledge Base for a customer fix request escalation. Because some Microsoft Knowledge Base articles for these fixes are not yet published, this information is only as complete and accurate as is currently possible.

(Microsoft Dynamics AX 3.0) CRM
(Microsoft Dynamics AX 3.0) Project
(Microsoft Dynamics AX 3.0) Human Resources


(Microsoft Dynamics AX 3.0) CRM

Request No. KB Article No. Short Description Detailed Description Object Description
#3338 Not available Creating a new quotation or editing an existing quotation was enabled if the CRM quotation form was opened from the Sales order or Projects form. •  Problem
Users could create a new quotation or edit an existing quotation if they opened the CRM quotation form from the Sales order or Projects form, although this should not be possible. The issue occurred because the necessary functionality was not implemented in the CRM quotation form.

•  Solution
Functionality has been implemented in the CRM quotation form to prevent users from editing existing quotations or creating new quotations in the CRM quotation form, which is opened from the Sales order or Projects form.

\Forms\ProjTable
\Forms\SalesTable
\Forms\smmQuotationTable
\Menu Items\Display\smmOpenQuotationTable
#4777 Not available If the user opened transactions from the Campaigns form, the system showed all posted transactions (hours, cost, revenue or inventory transactions respectively) for all projects instead of showing only transactions for the project that is connected to the selected campaign. •  Problem
If the user opened transactions from the Campaigns form (CRM > Periodic > Marketing automation > Campaigns) by clicking Expenses > Hours, Expenses > Cost, Expenses > Revenue or Expenses > Item consumption, the system showed all posted transactions (hours, cost, revenue or inventory transactions respectively) for all projects instead of showing only transactions for the project that is connected to the selected campaign.
The issue was caused by the absence of code that performs transaction filtering when the appropriate forms were opened from the Campaigns form.

•  Solution
The code for filtering transactions by the ProjId field has been added so that the user sees only the appropriate information if the forms are opened from the \Forms\SmmCampaignTable form.

\Forms\ProjTransEmpl
\Forms\ProjTransCost
\Forms\ProjTransRevenue
\Forms\ProjTransItem
#5854 Not available When the user created a new CRM quotation and converted it to a project, the project identification number disappeared when the user selected another CRM quotation. •  Problem
When the user created a new CRM quotation (CRM > Quotations) and converted it to a project by clicking Functions > Convert to project, the project identification number disappeared when the user selected another CRM quotation.
The issue occurred because the initialization of the callerFormQuotationForm form was missing in the \Classes\smmQuot2Proj\quotationConvertToProjectObject method.

•  Solution
The initialization of the callerFormQuotationForm form has been added to the \Classes\smmQuot2Proj\quotationConvertToProjectObject method.
\Classes\smmQuot2Proj
#6389 Not available The system displayed the Inventory journal form instead of the Item – Project form if the user clicked Expenses > Item consumption in the Campaigns form to see item transactions for the selected campaign. •  Problem
In the Campaigns form (CRM > Periodic > Marketing automation > Campaigns), when the user clicked Expenses > Item consumption to see item transactions for the selected campaign, the system displayed the Inventory journal form. The Item – Project form should have been displayed instead, which is the same form that opens when the user clicks Transactions > Item in the Projects form (Project > Projects).
The issue occurred because the reference on the Item consumption menu item button was set incorrectly.

•  Solution
The Item consumption menu button item name in the Expenses button group of the Campaigns form has been changed from Item consumption to Item. Now, in the Campaigns form, when the user clicks Expenses > Item to see item transactions for the selected campaign, the system displays the Item – Project form (the same form can be opened from the Projects form by clicking Transactions > Item).

\Forms\SmmCampaignTable
#7285 Not available The delivery name was not transferred to a CRM quotation that was created for a customer who has an alternative address of the ‘Delivery’ type. •  Problem
When the user created a CRM quotation (CRM > Quotations) for a customer who has an alternative address of the ‘Delivery’ type, the delivery name was not transferred to the CRM quotation.
The issue occurred because the alternative address delivery name was not copied in the \Data Dictionary\Tables\smmQuotationTable\initFromBusinessRelationTable method for the newly created quotation.

•  Solution
The remaining condition for the newly created CRM quotation has been added to the \Data Dictionary\Tables\smmQuotationTable\initFromBusinessRelationTable method.

\Data Dictionary\Tables\smmQuotationsTable
#7832 Not available When new documents were created for different companies in the Documents – Type form, the same file names were generated by the number sequence. Therefore, some documents were not created. •  Problem
In the Documents – Type form, when new files were created for different companies, errors occurred in the number sequence generation. Therefore, the same file names were generated and because of this some files were not created.
The issue occurred because, in the DocuActionArchive class, the add() method file name generation did not check whether a file that has the same name already existed in the archive directory.

•  Solution
Upon the file name generation, the system determines whether a file name already exists in the archive folder and, if it exists, the system will create a new name for this file.

\Classes\DocuActionArchive
#7937 Not available If text that contains spaces was added before the Microsoft Dynamics AX information in the Microsoft Office Outlook Memo field, Microsoft Dynamics AX 3.0 was unable to update the contact details and show the appropriate contact in the Synchronize from Outlook form. •  Problem
If text that contains spaces was added before the Microsoft Dynamics AX information in the Microsoft Office Outlook Memo field, Microsoft Dynamics AX 3.0 was unable to update the contact details and show the appropriate contact in the Synchronize from Outlook form.
The issue occurred because there was an error in the code of the \Classes\smmContactPersonsSynchronize\searchContactItemForAxaptaDetails method. The _contactItem.Body() parameter was incorrect.

•  Solution
The _contactItem.Body() parameter for contItemBody in the \Classes\smmContactPersonsSynchronize\searchContactItemForAxaptaDetails method has been modified.

\Classes\smmContactPersonsSynchronize
#10422 Not available It was not possible to duplicate CRM documents if the File location field for the ‘File’ document type was set to ‘Database’ or ‘Original location’. •  Problem
It was not possible to duplicate CRM documents if the File location field for the ‘File’ document type was set to ‘Database’ or ‘Original location’ (Basic > Setup > Document management > Document types).
The issue occurred because of the \Classes\smmDocuments\fileCopy method that is used for copying files. If the file location for the ‘File’ document type was set to ‘Original location’, there was no full file path. Therefore an error message appeared. There was no correct code for copying for the ‘Database’ file location.

•  Solution
The code of the \Classes\smmDocuments\fileCopy method has been modified to make duplicating files possible if the file location for the ‘File’ document type is set to ‘Database’ or ‘Original location’.

\Classes\smmDocuments
#10486 Not available When the user browsed contact persons in the Contact persons form, and when Record level security was enabled for the Contact person details table and for the current user group, an error message appeared. •  Problem
When the user browsed contact persons in the Contact persons form (CRM > Contact persons), and when Record level security was enabled for the Contact person details table and for the current user group, an error message appeared.
The issue was caused by an inconsistency in the code that handles the link between the contact person and the contact person details.

•  Solution
The code has been modified to eliminate inconsistency in linking the contact person with the contact person details.

\Data Dictionary\Tables\ContactPerson
\Forms\ContactPerson
\Forms\smmContactPerson
\Classes\ReleaseUpdateDB_V30toV30SP_OP
#12491 KB907841 The Invoiced amount column of the Campaign ROI graph in the Management statistics form always showed an incorrect amount when a CRM campaign was connected to a project with invoiced transactions.
Also, the system did not consider the date range that was specified on the Options tab of the Management statistics form when it selected transactions for calculating campaign expenses.
•  Problem
The Invoiced amount column of the Campaign ROI graph in the Management statistics form (CRM > Periodic > Sales management > Management statistics) always showed an incorrect amount when a CRM campaign was connected to a project with invoiced transactions.
Also, the system did not consider the date range that was specified on the Options tab of the Management statistics form when it selected transactions for calculating campaign expenses.
The issue with the incorrect amount bar in the graph occurred because there was no code that calculated the income for invoices in the project in the \Classes\smmSalesManagementQuery\campaignROI method.
The issue with calculating statistics for the period occurred because there was no check to verify the date range criteria in the \Classes\smmSalesManagementQuery\queryCostTrans, \Classes\smmSalesManagementQuery\queryEmplTrans, \Classes\smmSalesManagementQuery\queryInventTrans, \Classes\smmSalesManagementQuery\queryRevenueTrans queries that calculate campaign expenses.

•  Solution
The issue with the Invoiced amount column has been resolved by adding code that calculates income for invoices that are posted in a project.
The issue with calculating statistics for the specified period has been resolved by adding a verification for the date range to the appropriate queries.

\Classes\ProjTrans
\Classes\ProjTransItemInvoice
\Classes\smmSalesManagementQuery
#12905 Not available The financial information about a business relation was not updated if the user selected the Update financials automatically check box in the CRM parameters form, unless the user clicked Update Financial in the Financials form. •  Problem
The financial information about a business relation was not updated if the user selected the Update financials automatically check box in the CRM parameters form (CRM > Setup > CRM parameters > CRM parameters), unless the user clicked Update Financial in the Financials form (CRM > Business relations > Inquiry > Financials).
The issue occurred because there was a strict condition < on the date of transaction instead of the <= condition in the \Forms\smmBusRelFinancials\Data Sources\smmBusRelTable\Methods\active method.

•  Solution
The < condition has been replaced with the <= condition in the \Forms\smmBusRelFinancials\Data Sources\smmBusRelTable\Methods\active method.

\Forms\smmBusRelFinancials
#13437 Not available When the user converted a CRM quotation to a sales order, some fields that were set up in the CRM quotation lines (Transaction code, Bar code, Bar code setup, and Project category) were missing on the Other tab in the created sales order lines. •  Problem
When the user converted a CRM quotation to a sales order, some fields that were set up in the CRM quotation lines (Transaction code, Bar code, Bar code setup, and Project category) were missing on the Other tab in the created sales order lines.
The Insert() and Update() methods of the SalesLineType class had code that copied Transaction Code from the TransactionCode field of the SalesTable table to the TransactionCode field of the SalesLine table for credit notes only.
All other fields were not initialized on the Other tab in the Sales order form.

•  Solution
The Update() and Insert() methods of the SalesLineType class have been modified to copy Transaction Code from the TransactionCode field of the SalesTable table to the TransactionCode field of the SalesLine table.
In the smmQuotationLine table, in the transferQuotationLine method, a call to the initFromInventTable() method is made to initialize the missing fields on the Other tab in the Sales order form.

\Data Dictionary\Tables\smmQuotationLine
\Classes\SalesLineType
#14021 Not available The Total discount rate that was calculated on the CRM quotation's order line differed from the same rate that was calculated in the sales order. •  Problem
The Total discount rate that was calculated on the CRM quotation's order line (CRM > Quotations > Calculation > Total discount) differed from the same rate that was calculated in the sales order (Accounts receivable > Sales order > Calculation > Total discount).
The issue occurred because AccountNum was linked to the invoice account instead of the customer account in \Data Dictionary\Maps\PriceDiscHeading\Mappings\smmQuotationTable\ PriceDiscHeading.AccountNum.

•  Solution
The property in the \Data Dictionary\Maps\PriceDiscHeading\Mappings\smmQuotationTable\ PriceDiscHeading.AccountNum has been changed from the invoice account to the customer account.

\Data Dictionary\Maps\PriceDiscHeading
#16335 Not available The net requirement in CRM quotations did not retrieve the correct probability setup from Master planning. •  Problem
The net requirement in CRM quotations (CRM > Quotations > Inquiry > Net requirements > Update > Master scheduling) did not retrieve the correct probability setup from Master planning (Master planning > Setup > Plans > Master plans).
The issue occurred because the \Classes\ReqCalc\insertInventTrans and \Classes\ReqCalc\insertItemInventTrans method used a record that was not initialized for retrieving the probability value.

•  Solution
The code has been modified to correctly initialize the probability value in the \Classes\ReqCalc\insertInventTrans and \Classes\ReqCalc\insertItemInventTrans methods.

\Classes\ReqCalc
#17312 KB919476 When the user copied a CRM quotation to another business relation, the sales price did not follow the item trade agreement. •  Problem
When the user copied a CRM quotation (CRM > Quotations > Functions > Copy quotation) to another business relation, the sales price did not follow the item trade agreement (Inventory management > Items > Trade agrmt. > Sales price).
The issue occurred because the sales price was calculated with an empty inventory dimension in the \Data Dictionary\Tables\smmQuotationLine\Methods\copyAsIs method by the setPriceDisc function.

•  Solution
The code has been modified to pass the corresponding inventory dimension to the setPriceDisc function in the \Data Dictionary\Tables\smmQuotationLine\Methods\copyAsIs method.

\Data Dictionary\Tables\smmQuotationLine

Top


(Microsoft Dynamics AX 3.0) Project

Request No. KB Article No. Short Description Detailed Description Object Description
#2333 Not available An error message appeared after the user printed an invoice from the invoice proposal if the Print option was set to ‘After’ and the Posting check box was cleared in the Post invoice form.
Also, if the Print option was set to ‘After’ in the Post invoice form, only the second of two invoices posted at one time was displayed.
•  Problem
An error message appeared after the user printed an invoice from the invoice proposal if the Print option was set to ‘After’ and the Posting check box was cleared in the Post invoice form.
Also, if the Print option was set to ‘After’ in the Post invoice form, only the second of two invoices posted at one time was displayed.
These issues occurred because of inconsistencies in the code that handles the output of invoices in situations when the Print option is set to ‘After’ in the Post invoice form.

•  Solution
The code that handles output of invoices when the Print option is set to ‘After’ in the Post invoice form has been corrected.

\Classes\ProjFormLetter_Invoice
\Classes\ProjFormLetter
#4329 Not available The tax exempt amount value was not added to the project cost price transaction if the user posted by using the Cost journal or General journal. •  Problem
The tax exempt amount value was not added to the project cost price transaction if the user posted by using the Cost journal or General journal (Project > Journals > Cost journal or General ledger > Journals > General journal).
The issue was caused by code inaccuracy in the tax calculation routine.

•  Solution
The correct calculation for the taxInCostPriceMSTCalc and taxInCostPriceCurCalc variables of the \Classes\Tax class has been added.
Incorrect calculation of the projCostTrans.costPriceCurrency field value in the \Classes\ProjPostCostJournal\projTransCreate method has been corrected.

\Classes\Tax
\Classes\ProjPostCostJournal
#5219 Not available A period code could not be removed if the posted periods existed for an employee. •  Problem
A period code could not be removed if the posted periods existed for an employee.
When the user tried to delete a period code, the system checked if the lines existed in the \Data Dictionary\Tables\ProjPeriodEmpl table. If the lines existed, the user could not delete a period code. Even if the user deleted all unused periods, the system still would not allow for the deletion of a period code because of incorrect validation code in the \Data Dictionary\Tables\EmplTable\Methods\validateField method.

•  Solution
The incorrect validation in the \Data Dictionary\Tables\EmplTable\Methods\validateField method has been corrected.

\Data Dictionary\Tables\EmplTable
#6009 Not available The journal voucher number of the Revenue journal line was not inserted if the Selection by field for the journal was set to ‘Posting’, the New voucher by field was set to ‘Change voucher date or employee’, the Transaction by parameter was set to ‘Total’ and the Employee field was empty for the journal line. •  Problem
The journal voucher number of the Revenue journal line was not inserted if the Selection by field for the journal was set to ‘Posting’, the New voucher by field was set to ‘Change voucher date or employee’, the Transaction by parameter (Project > Setup > Parameters > General) was set to ‘Total’ and the Employee field was empty for the journal line.
The issue occurred because the condition for checking the valid voucher key failed if the Employee field was empty. Therefore, the system was unable to allocate a voucher number for the relevant revenue journal line.

•  Solution
Mistakes in the \Classes\ProjJournalTransData\isVoucherObjectKeyValid method have been corrected so that the condition to check for the relevant journal line data now ignores whether the Employee field is empty or not.

\Classes\ProjJournalTransData
\Classes\JournalFormTrans
\Classes\ProjJournalFormTrans
#6591 Not available When a purchase order was invoice updated in the Project module, the profit and loss account was not shown in the Sales tax transactions - details report. •  Problem
When a purchase order (Project > Projects > Item > Purchase order) was invoice updated in the Project module (Project > Projects > Invoice > Invoice proposal > Post invoice), the profit and loss account was not shown in the Sales tax transactions – details report (General ledger > Reports > Transactions > Grouping > Sales tax transactions – details).
The issue occurred because the OperationAccount field in the \Data Dictionary\Tables\TaxTrans table was empty.

•  Solution
The code has been modified to fill the OperationAccount field in the \Classes\ProjTax_Proposale\nextLine method when sales taxes are posted from the Project module.

\Classes\ProjTax_Proposale
#7734 Not available If users created an on-account transaction with an attached document and then posted it, they would see no document on the posted invoice. •  Problem
If users created an on-account transaction with an attached document and then posted it, they would see no document on the posted invoice.
The issue occurred because there was no record written to the DocuRef table that corresponded to ProjInvoiceOnAcc.

•  Solution
The code has been modified to make a call to the static Docu::copy() method with the respective parameters that would insert a record into the DocuRef table.

\Classes\ProjFormLetter
\Classes\ProjPostOnAccProposal
#8028 Not available When the user posted invoice proposals from the Project module, the transaction text that is used for ledger transactions was taken from the incorrect line in the Transaction texts form. •  Problem
When the user posted invoice proposals (Project > Projects > Invoice > Invoice proposal), ledger transactions had the transaction text taken from the Sales order – Invoice, Ledger line in the Transaction texts form (Basic > Setup > Transaction text), as when the user posted the invoice from the Sales order form (Accounts receivable > Sales order > Posting > Invoice). However, the transaction text should be taken from the Project – Invoice, Ledger line of the Transaction texts form.
The issue occurred because there was no initialization of the transaction text from the Project module in the \Classes\ProjFormLetter_Invoice\createProjInvoiceSalesLine method.

•  Solution
The initialization of the transaction text for the ledger transactions from the Project module has been created.

\Classes\ProjFormLetter_Invoice
\Classes\SalesFormLetter_InvoiceProject
\Classes\SalesFormLetter
#8429 Not available An error occurred when the user posted the General journal line where Account type was set to ‘Project’ and the Triangulation check box was selected in the Currency form. •  Problem
An error occurred when the user posted the General journal line (General ledger > Journals > General journal) where Account type was set to ‘Project’ and the Triangulation check box was selected in the Currency form (General ledger > Setup > Exchange rates).
The issue occurred because there was no triangulation initialization in the \Classes\LedgerVoucherTransObject\newCreateTrans method.

•  Solution
The code for initializing voucher parameters has been modified to provide the initialization of the triangulation.

\Classes\LedgerVoucherTransObject
#9278 Not available After the user entered transaction text in the Cost journal, it was transferred to project transactions when the costs were posted. However, transaction text was not reflected on both general ledger accounts. •  Problem
After the user entered transaction text in the Cost journal (Project > Journals > Cost), it was transferred to project transactions when the costs were posted. However, the transaction text was not reflected on both general ledger accounts.
The issue occurred because the code that handles transaction text processing was absent in the newCreateTrans() method of the LedgerVoucherTransObject class.

•  Solution
Code that will initialize LedgerTrans.Txt with a value of the transaction text has been added to the newCreateTrans() method of the LedgerVoucherTransObject class.

\Classes\LedgerVoucherTransObject\newCreateTrans
\Classes\ProjPost\getTransTxt
\Classes\ProjPostCostJournal\getTransTxt
#11204 Not available It was possible to invoice a project to a customer who had already been deleted. •  Problem
It was possible to invoice a project to a customer who had already been deleted.
The issue occurred because there was no delete action on the Customer table to restrict the deletion of record from the Invoice project table.

•  Solution
The delete action has been created on the Customer table to restrict the deletion of records from the Invoice project table.

\Data Dictionary\Tables\CustTable
#11295, 12577 Not available When the user created a new sales order in the Project module, alternations made to the default data in the Create sales order form were not transferred to the Sales order form. •  Problem
When the user created a new sales order in the Project module, alternations made to the default data in the Create sales order form were not transferred to the Sales order form.
The issue occurred because the data source of the write() method in the SalesCreateOrder form had a call to the initFromProjInvoiceTable() method, which inserted incorrect data.

•  Solution
A call to the initFromProjInvoiceTable() method has been deleted.

\Forms\SalesCreateOrder
#11475 Not available An error message appeared when the user clicked Invoice > On account for an invoice project that had hundreds of projects and sub-projects associated with it. •  Problem
An error message appeared when the user clicked Invoice > On account for an invoice project (Project > Invoice project) that had hundreds of projects and invoice projects associated with it.
The issue occurred because of the way the range criteria were built in the \Forms\ProjTransOnAcc\Data Sources\ProjOnAccTrans\Methods\linkActive method when the form was called from the ProjInvoiceTable table. When the number of projects and sub-projects associated with an invoice project was in the hundreds, the range criteria was too large.

•  Solution
The code that makes range criteria has been removed and the query has been created in the \Forms\ProjTransOnAcc\Data Sources\ProjOnAccTrans\Methods\init method, which joins the ProjOnAccTrans and ProjTable tables by an inner join instead of using the X++ select statement.

\Forms\ProjTransOnAcc
#11505 Not available When cost to complete was equal to zero for the WIP project and an extra or additional estimate period was created, the Total cost column was doubled. •  Problem
When cost to complete was equal to zero for the WIP project and an extra or additional estimate period was created, the Total cost column was doubled.
The issue occurred because of an incorrect code in the routine that is responsible for calculating the remaining budget amount for the WIP project when the estimate period is created.

•  Solution
The code in the \Classes\ProjControlPeriod\costGroupUpdate method has been modified to correct the calculation of the remaining project budget.

\Classes\ProjControlPeriod
#12665 Not available When the invoice proposal for a sales order with a price and amount equal to zero was generated and posted, and the Print invoice check box was selected, the Credit note report was printed. •  Problem
When the invoice proposal for a sales order with a price and amount equal to zero was generated (Project > Invoice > Invoice proposal > Create invoice) and posted (Project > Invoice > Invoice proposal > Post invoice), and the Print invoice check box was selected, the credit note report was printed.
When the invoice proposal for the sales order was generated and posted, the \Reports\ProjInvoice\Methods\fetch and \Reports\ProjInvoice\Methods\invoiceTxt methods defined what type of report to print. If the invoice amount was greater than zero, the Invoice report was printed. Otherwise the Credit note report was printed.

•  Solution
The code has been modified to use ‘>=’ instead of ‘>’ in the \Reports\ProjInvoice\Methods\fetch and \Reports\ProjInvoice\Methods\invoiceTxt methods in the condition statements that define what type of report to print.

\Reports\ProjInvoice
#13311 Not available When the user posted a cost to a project in a currency other than the company currency, and then adjusted that posting, an incorrect currency was displayed in the Cost price field on the project transaction. •  Problem
When the user posted a cost to a project in a currency other than the company currency, and then adjusted that posting, an incorrect currency was displayed in the Cost price field on the project transaction.
The issue occurred because the value from the Cost price field of the Project adjustment form was assigned to the Cost price field of the Cost-Project form.

•  Solution
Modifications have been made to convert the Cost price value from the Adjustment table to the company currency.

\Classes\ProjPostCostTrans_Adj
#13641 Not available An error occurred when posting costs to an account of the ‘Project’ type in the Invoice journal. •  Problem
An error occurred when posting costs to an account of the ‘Project’ type in the Invoice journal.
In the \Forms\LedgerJournalTransVendInvoice\Data Sources\LedgerJournalTrans\Fields\ProjQty\Methods\modified method, the check on the ‘Project’ account type was absent and the sign of the value in the Quantity field depended only on the sign of the amount whether this amount was written to the Debit or Credit field in the line of the Invoice journal form.

•  Solution
The check on the ‘Project’ account type has been added to the \Forms\LedgerJournalTransVendInvoice\Data Sources\LedgerJournalTrans\Fields\ProjQty\Methods\modified method.

\Forms\LedgerJournalTransVendInvoice
#14708 Not available Incorrect values were posted when the user posted the Item consumption journal (Project > Journals > Item consumption) with a negative quantity and a unit of measurement that was different from the item setup. •  Problem
Incorrect values were posted when the user posted the Item consumption journal (Project > Journals > Item consumption) with a negative quantity and a unit of measurement that was different from the item setup.
The issue occurred because of the incorrect handling of the Measure unit value when calculating the cost amount to be posted.

•  Solution
The alternation of the quantity that is used for the cost value calculation of the transaction has been added.

\Data Dictionary\Tables\InventJournalTrans
\Classes\InventMov_Jour_Loss_Project
\Forms\InventJournalProject
#14738 Not available In the Cost and Revenue journal lines, an employee could see all categories even though the Employee/Category validation in the Project module was set up for this employee to see only one category. •  Problem
In the Cost and Revenue journal lines, an employee could see all categories even though the Employee/Category validation in the Project module was set up for this employee to see only one category.
If, on the Journals tab of the Project parameters form, the Employee/Category field was set to the ‘Lookup’ or ‘Mandatory’ value, it was still possible to see all categories on the Cost and Revenue journal lines though the lookup form had to be empty. If, on the Journals tab of the Project parameters form, the Employee/Category field was set to the ‘Mandatory’ value, the Category field in the Cost and Revenue journals behaved as if the ‘Lookup’ value was selected in the Employee/Category field in the Project parameters form.
In the \Classes\ProjValCheckTrans\setVariablesFromBuffer method, initializations of the emplId variables were absent which led to ignoring the Employee/Category validation settings in both the Project Cost and Project Revenue journals.

•  Solution
In the \Classes\ProjValCheckTrans\setVariablesFromBuffer method, initializations of the emplId variables have been added. Also, the if statement has been added that enables query execution only if emplId is specified in the Hours journal or Employee/Category field on the Journals tab of the Project parameters form is set to ‘None’.

\Forms\ProjCategoryLookUp
\Classes\ProjValCheckTrans
#14972 Not available A critical stop error occurred if the user used the Gantt chart setup dialog box without having the license codes for the Production module. •  Problem
A critical stop error occurred if the user used the Gantt chart setup dialog box (Project > Projects > Inquiry > Gantt chart > Setup > Setup) without having the license codes for the Production module.
The issue was caused by retrieving the value from the fldLoadProd control, which is invisible in the dialog box if the ProdShop configuration key is disabled and therefore contains an empty value.

•  Solution
The code has been modified not to read the value from fldLoadProd if the ProdShop configuration key is disabled.

\Classes\GanttSetupShared
#15393 Not available An incorrect amount was posted on the project transactions when the user invoice update-adjusted the Project purchase order with an altered quantity. •  Problem
An incorrect amount was posted on the project transactions when the user invoice update-adjusted the Project purchase order with an altered quantity.
The issue occurred because the lineAmount field value was not recalculated when transactions were added in \Data Dictionary\Tables\TmpProjAdjustmentCreate.

•  Solution
The code for recalculating the lineAmount field value when transactions are added in \Data Dictionary\Tables\TmpProjAdjustmentCreate has been added.

\Data Dictionary\Tables\TmpProjAdjustmentCreate
\Forms\ProjAdjustment
#15631 Not available A critical stop error occurred when the packing slip or invoice of a created purchase order for a project was printed. •  Problem
A critical stop error occurred when the packing slip or invoice of a created purchase order for a project was printed.
The issue occurred because the journalTransList variable had to be initialized only when it was not a proforma, but the check whether a variable is a proforma or not was missing when the system used the variable.

•  Solution
The proforma check has been added for the journalTransList variable.

\Classes\PurchFormLetter_PackingSlip
\Classes\PurchFormLetter_Invoice
#16275 Not available The Transactions – Project and Transactions – Hour reports did not notify the user if they were empty. •  Problem
The Transactions – Project and Transactions – Hour reports did not notify the user if they were empty.
The issue occurred because the \Reports\ProjListTransProj\Methods\fetch and \Reports\ProjListTransHour\Methods\fetch methods returned the FALSE value.

•  Solution
The code has been modified to return the TRUE value from the \Reports\ProjListTransProj\Methods\fetch and \Reports\ProjListTransHour\Methods\fetch methods.

\Reports\ProjListTransProj
\Reports\ProjListTransHour
#16373 Not available The filter for selecting forecasts for editing did not work correctly in a 3-tier configuration. •  Problem
The filter for selecting forecasts for editing (Project > Forecast > Hours > Edit, Project > Forecast > Cost > Edit, Project > Forecast > Revenues > Edit, and in the Edit budget transactions form (Project > Forecast > Items > Edit or Inventory management > Inquires > Forecast > Sales forecast > Edit)) did not work correctly in a 3-tier configuration.
The issue occurred because the query used for data processing kept previous ranges in the SysLastValue table and incorrectly merged them with the new ranges in the \Classes\BudgetManipulation\initParmQuery method.

•  Solution
Using the queryMergeRanges function in the \Classes\BudgetManipulation\initParmQuery method is avoided to prevent the incorrect merging of ranges. The queries are initialized in the \Classes\BudgetManipulation\main method. Also, the promptLoadLastUsedQuery method is used to initialize the Query used query instead of the Previously used query in the \Classes\BudgetManipulation\initParmQuery method.
Also, an incorrect initialization of the ProjId field for the forecast transaction has been fixed in \Forms\ForecastSales.

\Forms\ForecastSales
\Classes\BudgetManipulation

Top

(Microsoft Dynamics AX 3.0) Human Resources

Request No. KB Article No. Short Description Detailed Description Object Description
#12902 Not available If the user created an application document of the Microsoft Office Word document type and then exited Office Word, the winword.exe process continued to run on the computer. •  Problem
If the user created an application document of the Microsoft Office Word document type and then exited Office Word, the winword.exe process continued to run on the computer.

•  Solution
The this.finalizeInit(); statement has been added as the last assignment in the Add method of the HRMDocuActionCOM_Word_Application class to end the winword.exe process when the user exits Word.

\Classes\HRMDocuActionCOM_Word_Application
#13104 Not available An error message appeared that prevented the user from continuing work when the user clicked the Select or OK button in the Planned answer session report. •  Problem
An error message appeared that prevented the user from continuing work when the user clicked the Select or OK button in the Planned answer session report.
The issue occurred when a DialogField object was not initialized. This happened when the answerStatus variable was set to ‘KMCollectionAnswerStatus::Planned’ when the report was called from the Planned answer session output menu item (KMKnowledgeCollectorPlanning).

•  Solution
The getFromDialog method has been corrected so that the DialogField objects is initialized. The else statement holds all calls to the dialog field objects. The Planned answer session report now ensures that no dialog field objects are called without being instantiated first.

\Reports\KMKnowledgeCollector
#13293 Not available The Positions per organization unit report showed only employees for whom no end date was recorded for their employment affiliation, which indicates an active affiliation. •  Problem
The Positions per organization unit report showed only employees for whom no end date was recorded for their employment affiliation, which indicates an active affiliation. When an employment affiliation was ended or an employee was moved to another position, the employee was not shown in the report.
The issue occurred because the select statement in the sendPosition method only selected records in the hrmVirtualNetworkHistory table where the end date was empty.

•  Solution
The where selection has been changed in the select statement of the sendPosition method. Records in the hrmVirtualNetworkHistory table are now selected when a start date is less than or equal to PerDate. Additionally, the hrmVirtualNetworkHistory end date must be either blank, less than or equal to PerDate.

\Reports\HRMPositionByOrganization
#16349 Not available In the Applicants form, when a user entered an applicant’s full name on the Overview tab, the applicant’s name was not parsed correctly in the First name, Middle name, and Last name fields on the Personal tab. •  Problem
In the Applicants form, when a user entered an applicant’s full name on the Overview tab, the applicant’s name was not parsed correctly in the First name, Middle name, and Last name fields on the Personal tab. This issue occurred only when the HRM I and HRM II license codes were enabled but the HRM III license code was not enabled.
The HRMPersonNameOrder base enum had an incorrect configuration key. The HRMCollaborativeCourse configuration key was called Course. When the HRM III license code was deleted, the personNameOrder field in the HRMParameters table was also deleted. This means that the name split functionality defaulted to ‘Manual’ and deleted any parameter settings in this field.

•  Solution
The configuration key that is assigned to the HRMPersonNameOrder base enum has been changed to HRMAdministration (HRM I).

\Data Dictionary\Base Enums\HRMPersonNameOrder
#16772 Not available When users closed and reopened the Project/matrix affiliation form, employees assigned to a project or matrix type organization units were not shown. •  Problem
When users closed and reopened the Project/matrix affiliation form, employees assigned to a project or matrix type organization units were not shown.
Three database relations between the Affiliation (Employment history) and Organization tables were blocking the form from showing the correct data. As a result, the Project/matrix affiliation form did not display data, although the data existed.
The HRMVirtualNetworkHistory (Employment history) table had one relation for each organizationType (line, matrix, and project), and each relation pointed to the HRMOrganization table.

•  Solution
Three database relations between the Project/matrix affiliation and Organization forms have been deleted. The Project/matrix affiliation form now displays data correctly when the users closes and reopens the form.

\Data Dictionary\Tables\HRMVirtualNetworkHistory
#18172 Not available The find method of the HRMReasonCode table did not return the correct value. The regular find method returns a handle to a specific record. Instead, the method returned the parameter that is used to find the specific record. The method actually returned the key for the reason code record instead of the reason code record itself. •  Problem
A mistake in the code that did not affect the end users was found in the find method of the HRMReasonCode table. Although the method is not used in the standard application, it is considered best practice to include the find and exist methods on all tables in Microsoft Dynamics AX to provide partners and customers who have standard methods.
The find method did not return the correct value. The regular find method returns a handle to a specific record. Instead, the method returned the parameter that is used to find the specific record. The method actually returned the key for the reason code record instead of the reason code record itself.
The find methods follow the standard framework. In this case the primary key is provided as an input parameter and the method returns the corresponding record in its output parameter. The issue occurred because the method that is used the input parameter as the output value.

•  Solution
The code has been modified so that the HRMReasonCode record handle is now used as the return value. The HRMReasonCodeId extended data type is only used as the input value.

\Data Dictionary\Tables\HRMReasonCode

Top