Category Archives: Blog
Currency Field representation options in Dynamics 365
In D365 CE Apps, you have 2 options to display the currency fields, by symbol or by the currency code. Symbolic representation Currency Code representation Setting With a simple setting, you can apply this change organization wide. Navigate to Settings > Administration > System Settings and under General tab, look for Set the currency display option. Pretty simple! 🙂
Share Story :
Enable/Disable & Visibility an Action pane button on a list page using interaction class in D365
Introduction: In this blog, we will see how we can enable/disable or change the visibility of the form control in interaction class. Standard behavior of the form, system does not allow us to write code on form which comes under form template -> List page It Seems like below attached image (Here we will consider form VendTableListPage. Property of form as shown below) Each ListPage form consisting with an interaction class as shown in property, Here it is VendTableListInteraction. Each interaction class has one override method which is selectionchanged() Solution: Here we will override the method of selectionchanged() as below [ExtensionOf(classStr(VendTableListPageInteraction))] final class VendTableListPageInteractionCFSJSClass_Extension public void selectionChanged() { next selectionChanged(); //for visibility this.listPage().actionPaneControlVisible(formControlStr(VendTableListPage, ), false); //for enable/disable this.listPage().actionPaneControlEnabled(formControlStr(VendTableListPage, true); } For all other ListPage, we can go through interaction class. For reference, go through below mentioned classes: AgreementListPageInteraction BankDocumentTableListPageInteraction CatProcureOrderListPageInteraction CatVendorCatalogListPageInteraction CustBillOfExchEndorseListPageInteraction CustomsExportOrderListPageInteraction CustPDCListPageInteraction CustPDCSettleListPageInteraction CzCustAdvanceInvoiceListPageInteraction CzVendAdvanceInvoiceListPageInteraction EcoResCategoryHierarchyPageInteraction EcoResProductListPageInteraction EmplAdvTableListPageInteraction EntAssetObjectCalendarListPageInteraction EntAssetWorkOrderPurchaseListPageInteraction EntAssetWorkOrderPurchReqListPageInteraction EntAssetWorkOrderScheduleListPageInteraction EPRetailPickingListPageInteraction EPRetailStockCountListPageInteraction EximAuthorizationListPageInteraction EximDEPBListPageInteraction EximEPCGListPageInteraction GlobalAddBookListPageInteraction HcmCourseAttendeeListPageInteraction HcmWorkerAdvHoldTableListPageInteraction InventBatchJournalListPageInteraction InventDimListPageInteractionAdapter JmgProdStatusListPageInteraction JmgProjStatusListPageInteraction PCProductModelListPageInteraction PMFSeqReqRouteChangesListPageInteraction ProdBOMVendorListPageInteraction ProdRouteJobListPageInteraction ProdTableListPageInteraction ProjForecastListPageInteraction ProjInvoiceListPageInteraction ProjInvoiceProposalListPageInteraction ProjProjectContractsListPageInteraction ProjProjectsListPageInteraction projProjectTransListPageInteraction ProjUnpostedTransListPageInteraction PurchCORListPageInteraction PurchCORRejectsListPageInteraction PurchLineBackOrderListPageInteraction PurchReqTableListPageInteraction PurchRFQCaseTableListPageInteraction PurchRFQReplyTableListPageInteraction PurchRFQVendorListPageInteraction_PSN PurchRFQvendTableListPageInteraction PurchTableVersionListPageInteraction ReqTransActionListPageInteraction ReqTransFuturesListPageInteraction ReqTransListPageInteraction RetailOnlineChannelListPageInteraction RetailSPOnlineStoreListPageInteraction ReturnTableListPageInteraction SalesAgreementListPageInteraction SalesQuotationListPageInteraction SalesTableListPageInteraction SysListPageInteractionBase SysUserRequestListPageInteraction UserRequestExternalListPageInteraction UserRequestListPageInteraction VendEditInvoiceHeaderStagingListPageInteraction VendNotificationListPageInteraction VendPackingSlipJourListPageInteraction VendPDCListPageInteraction VendPDCSettleListPageInteraction VendProfileContactListPageInteraction VendPurchOrderJournalListPageInteraction VendRequestCategoryListPageInteraction VendRequestListPageInteraction VendRequestWorkerListPageInteraction VendTableListPageInteraction VendUnrealizedRevListPageInteraction Thanks for reading !!!
Share Story :
Change colour of selected record of the Grid
Introduction: In this blog, we will learn how to change the colour of selected record of the Grid. Use Case: We have a requirement where there is a Grid of CDS Data Source, on clicking any record, it should get highlighted. Steps: There is a Screen on which there a Editable grid of custom Entity Objective. To Create an Editable Grid refer to the following link. https://www.cloudfronts.com/create-an-editable-grid-view-in-powerapps/ To add Lookup Fields in the Grid refer to the following link. https://www.cloudfronts.com/add-lookup-fields-in-an-editable-grid-using-powerapps/ This is the grid without highlighting any record. To change the colour of selected records, update the TemplateFill Property: TemplateFill property of the Deactivate Button: Set Gallery.TemplateFill = If( <Guid of record> = <Selected Record GUID>, Color, Color ) For eg: BrowseGalleryObjectives.TemplateFill= If( Objective = BrowseGalleryObjectives.Selected.Objective, RGBA(220, 231, 238, 1), RGBA(0,0,0,0) ) This is the grid with highlighting record. Conclusion: Hope above Blog helps you change the colour of selected record of the Grid.
Share Story :
Change planned purchase order status as draft insted of default approved
When we create purchase order using planned order its default approval status will be approved as displayed in screenshot. To change that status to draft write following code where we will change its status to draft and further code to is to remove version of purchase order which necessary to make delete button enabled on purchase order form code:- /// <summary> /// extension of class: ReqTransPoMarkFirm /// </summary> [ExtensionOf(classStr(ReqTransPoMarkFirm))] final class ReqTransPoMarkFirmCFSClass_Extension { public container conPurchOrders; /// <summary> /// updatePurchTable /// </summary> /// <param name = “_purchTable”>_purchTable</param> protected void updatePurchTable(PurchTable _purchTable) { conPurchOrders += _purchTable.PurchId; next updatePurchTable(_purchTable); } /// <summary> /// purchTablePostProcessing /// </summary> protected void purchTablePostProcessing() { next purchTablePostProcessing(); for (int i = 1; i <= conLen(conPurchOrders); i++) { PurchTable purchTable = PurchTable::find(conPeek(conPurchOrders, i), true); if(purchTable.RecId) { ttsbegin; //delete the version created for po PurchTableVersion purchTableVersion = PurchTableVersion::findLatest(purchTable.PurchId, purchTable.DataAreaId, true); if(purchTableVersion.RecId) { purchTableVersion.delete(); } purchTable.ChangeRequestRequired = NoYes::No; purchTable.DocumentState = VersioningDocumentState::Draft; purchTable.update(); ttscommit; } } } } I hope this will helo you,thank you
Share Story :
Change RFQ purchase order status as draft insted of default approved
When we create purchase order using RFQ its default approval status will be approved. To change that status to draft write following code where we will change its status to draft. create new class and add following code class CFSPOStatusRfq { [PostHandlerFor(classStr(PurchAutoCreate_RFQ), methodStr(PurchAutoCreate_RFQ, endUpdate))] public static void PurchAutoCreate_PurchReq_Post_endUpdate(XppPrePostArgs args) { //PurchTable purchTable = args.getThis(‘purchTable’); PurchAutoCreate_RFQ purchReq = args.getThis() as PurchAutoCreate_RFQ; PurchTable purchTable, purchTablenew; purchTable = purchReq.parmPurchTable(); ttsbegin; select forupdate purchTablenew where purchTableNew.PurchId == purchTable.PurchId; if(purchTablenew && purchTablenew.DocumentState == VersioningDocumentState::Approved) { purchTablenew.DocumentState = VersioningDocumentState::Draft; purchTablenew.update(); } ttscommit; } }
Share Story :
[Solved] Date Field Shows Wrong Date in Power Automate
Introduction: We recently noticed the Power Automate Trigger body showing a date prior to the date selected in CRM. This behavior was not expected because the field was set to Date Only and so the time zone would not cause this problem. However, after discussion we found that : The behavior of field was set to User Local and so when this field will be set it will be seen as per the user time zone settings as Power Automate processes the Date in UTC Format. All existing date/time fields in CRM are set as User Local by default. Given below are the two approaches by which we can get the proper date in Power Automate. Approach 1: Create a new field in CRM with Format and Behavior set to Date Only. The date for this field will be correctly captured by trigger in power automate. Approach 2: Create a formula in Power Automate to add 1 day to the date coming from CRM, using add days expression. Adddays(parameter from which date is coming from, number of days to add, format of date[optional]) Eg: addDays(triggerBody()?[‘Fieldnamexyz’],1) Conclusion : The above workaround can help rectify the Date in Power Automate.
Share Story :
Enable Record as Active or Inactive record in PowerApps
Introduction: In this blog, we will learn how to Enable multiple records as active or inactive record. Use Case: We have a requirement where there is a Grid of CDS Data Source, on clicking the Deactivate or Active Button on top of the Grid, it should Deactivate every record which is selected through the checkbox which is there on every record of the Grid. Steps: There is a Screen on which there a Editable grid of custom Entity Objective. To Create an Editable Grid refer to the following link. To add Lookup Fields in the Grid refer to the following link. This is the grid with a checkbox. To Deactivate or Activate selected records, first create a Collection: OnSelect property of the Deactivate Button: When we select the Deactivate Button, it will collect all the records where the Checkbox is selected. To Deactivate the records from the CDS, set the OnSelect property of the Deactivate Button to the following formula: OnSelect property of the Deactivate Button: Combine the Whole formula in the OnSelect property of Deactivate Button : For eg: DeactivateSelectedRecord.OnSelect = Note: For Activating the record just replace the Inactive to Active in the Patch Formula Conclusion: Hope above Blog helps you Activate, Deactivate multiple records of CDS from the Grid.
Share Story :
[Solved] Resource not found for the segment in Power Automate
Introduction: Using Common data service(Current environment) connector to create a record, if we are trying to populate lookup field we might get the below error message. Solution: When you use the current environment connector. To populate a look up field, we need to specify the plural name of the entity and then the record GUID. Eg: opportunities(GUID). If we use the below approach, we will get the error Resource not found for the segment. Use the below method to resolve the same.
Share Story :
Financial Dimensions in Retail Stores and payment methods in D365 Commerce and Retail
Overview: As we are aware that Financial Dimensions are available for user to identify the posting routine of payments, sales, purchases etc in the ledger account. These values are selectable / mandatory at all checkpoints on D365 FNO. However, in retail we would have to configure the financial dimensions in Retail Store or Payment Methods of retail store. This will help user to identify the posting routine with details of the transaction. If financial dimensions are not mapped then posting will happen but it will be posted as entry without dimensions as below images. Without Financial Dimensions: With Financial Dimensions: To configure Financial Dimensions: Payment Methods: Goto Retail and Commerce > Channels > Stores In Action Tab > Set Up > Payment Methods Select Desired Payment method and in details tab you can find Financial Dimensions 2. Stores: Goto Retail and Commerce > Channels > Stores And select desired store that you want to set the default dimensions on the bottom as shown in the image. (Note: Enabling this will overwrite the Financial Dimensions that were enabled on payment methods as this will be set as Default Dimensions for all types of transactions.) Thanks! Hope this was helpful!
Share Story :
Send D365 Email Using Power Automate
Introduction: Searching Power Automate connectors for Send Email Step available in Workflow? Follow the below steps to send Email from Power Automate . 1)Go to Common Data Service(Current Environment)Connector. Select Create a new record, Entity: Email Messages Add Activity Party Attributes, Email Body, Subject and set regarding. 2) Once Draft Email is ready, add Action Perform a bound action from Common Data Service( Current Environment)Connector. Entity name – Email Message Action name – Send Email Item ID – This will be the GUID (unique ID) of the record to send. (Note: Here, we will provide the Email message ID of the Draft email created in Step 1. IssueSend – This is a No/Yes option list. Set this to “yes” for the email to send. Conclusion: We can replicate the Send Email functionality of Workflows in Power Automate easily.