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.
| 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 |
| 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 |
| 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 |