tag:blogger.com,1999:blog-4238310088008617972024-03-21T08:22:27.207-07:00Talkin' DAXBradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.comBlogger67125tag:blogger.com,1999:blog-423831008800861797.post-5363341328127461342024-03-21T08:21:00.000-07:002024-03-21T08:21:42.627-07:00Power Automate Looks like your flow's connection needs to be signed-in again<p> Yesterday one of my Power Automate cloud flows started fail with the following message:</p><p><i>Looks like your flow's myemail@mywork.com connection needs to be signed-in again. The most common cause is a changed password or a policy set by your tenant administrator. Connections may also require reauthentication, if multi-factor authentication has been recently enabled for your account.</i></p><p>I didn't have a password change nor did I enable MFA. It could have been a policy change in our tenant, however, my infrastructure team hasn't been able to confirm. </p><p>I was able to fix the issue by logging into make.powerautomate.com in a Chrome incognito window. Once I logged in I was showin this:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEizBNr46kVpcnTPyUCtK-HqlRqoFZjSyl-0P3U_TbQGwTwm0UZDsDZUK1-UPVzr9Ahg4kdy1_C1QxWlDTozqmrZJpyyqpl5yMUdSlCGxe8PF8gKae0N0qGKtOIsN4n7gt1yJcMJmUJCcPZL1kepZ9uRE1XoMT72sNWLxZUMEaoObIM34Z3hKcljmkVcFJtz" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="292" data-original-width="708" height="264" src="https://blogger.googleusercontent.com/img/a/AVvXsEizBNr46kVpcnTPyUCtK-HqlRqoFZjSyl-0P3U_TbQGwTwm0UZDsDZUK1-UPVzr9Ahg4kdy1_C1QxWlDTozqmrZJpyyqpl5yMUdSlCGxe8PF8gKae0N0qGKtOIsN4n7gt1yJcMJmUJCcPZL1kepZ9uRE1XoMT72sNWLxZUMEaoObIM34Z3hKcljmkVcFJtz=w640-h264" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">These are the 3 cloud flows that I have created. Once I hit 'Reauthenticate' I was then taken to:</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi03MrCntpAl77TFt0_UvxCTKXPFcz5p8f2wpMxRJWapQ0GdILhzJY4qJ4ShKQ4zvenrrAFkqGLujW-UPEytPTicMKCNk2rodpxEL9MeOr5SEURfaTNoQD_aA4CHTvO8zgzSqGNjQ5xFtHgB64OjiJsnXATvkNSGJ-OYlGAzfMlMEPqnZ9vJspIx99PMlKl" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="416" data-original-width="1151" height="232" src="https://blogger.googleusercontent.com/img/a/AVvXsEi03MrCntpAl77TFt0_UvxCTKXPFcz5p8f2wpMxRJWapQ0GdILhzJY4qJ4ShKQ4zvenrrAFkqGLujW-UPEytPTicMKCNk2rodpxEL9MeOr5SEURfaTNoQD_aA4CHTvO8zgzSqGNjQ5xFtHgB64OjiJsnXATvkNSGJ-OYlGAzfMlMEPqnZ9vJspIx99PMlKl=w640-h232" width="640" /></a></div><div style="text-align: left;">I clicked 'Fix connection' on each item and completed a short logon procedure. This fixed the issue.</div><div style="text-align: left;">This <a href="https://sharepains.com/2019/04/11/broken-connections-in-microsoft-flow/" target="_blank">blog post</a> was helpful in understanding what possible causes were and the solution.</div><div style="text-align: left;"><br /></div><br /></div><br /><br /></div><br /><br /><p></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-5056941815880899692023-09-13T07:50:00.003-07:002023-09-13T07:50:37.581-07:00Dataverse web api 'Expand'<p>Today, I was attempting to use the 'Expand' feature in the web api to help me with a lookup field on my custom dataverse table. No matter what I did, I could get it to work. It kept telling me that my property 'ver_dataareaid' didn't exist on my table. It, obviously, did so I knew I was doing something wrong. When using the 'Expand' you need to use the Schema name of the field:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwOpJTGvqMk65G_7jpGWsQMRCqtnoAwg3EVpGMzqZeipkf_78R_28mKZ5j7t0_UhspNLDTrg5IwiGaQCc9S-yVud9qK_YxnGXLGHHUJC9BOk0HZogwHvxa50LxhvnsqeQ662IHNppRy9J6jwLaF-1RR7F2Lg9rxAG5ssLyHFxGKLt-H-RqJSWO_Nciwo7T/s372/SchemaName.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="291" data-original-width="372" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwOpJTGvqMk65G_7jpGWsQMRCqtnoAwg3EVpGMzqZeipkf_78R_28mKZ5j7t0_UhspNLDTrg5IwiGaQCc9S-yVud9qK_YxnGXLGHHUJC9BOk0HZogwHvxa50LxhvnsqeQ662IHNppRy9J6jwLaF-1RR7F2Lg9rxAG5ssLyHFxGKLt-H-RqJSWO_Nciwo7T/s320/SchemaName.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">As you can see, the 'Schema name' can be found under the 'Advanced options' when you 'Edit' the column. This gave me the actual 'Name' value of the column rather than a guid from the lookup.</div><br /><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-3492868313926692162023-08-30T08:38:00.004-07:002023-09-13T07:44:56.188-07:00Edit Dataverse table record error: It is not possible to change transferred line.<p>I have a dataverse table that was populated using Dual-Write and a D365 F&O entity. When attempting to edit a record directly on the dataverse table, I get the following error: </p><p>
</p><p><em>There was an error in saving this record. Unable to write to Finance and Operations apps due to following error(s): {"Write failed for entity VER_SMAServiceOrderLineEntity with unknown exception - It is not possible to change transferred line.\nvalidateWrite failed on data source 'SMAServiceOrderLine (SMAServiceOrderLine)'"} Please rectify your data and try again. If issue persists after multiple retries, please contact your system administrator.</em></p><p>This error is coming from the 'validateWrite' method on the SMAServiceOrderLine table because the service order is in a 'Posted' status.</p><p> </p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-4090084982157368222023-08-10T14:34:00.001-07:002023-08-10T14:34:59.829-07:00D365 F&O - DMF Import 'Field 'Service Order' does not allow editing'<p> I came across this error while trying to import data into a copied version of the 'SMAServiceOrderHeaderEntity'. I posted a question about <a href="https://community.dynamics.com/forums/thread/details/?threadid=80d89050-b437-ee11-bdf4-000d3a4e5de0" target="_blank">here</a> and was able to find the following solution.</p><div>I have a custom Data Entity for the Service Order Table. My primary key is my ServiceOrderNumber field.</div><div>When I import a file with an existing ServiceOrderNumber it updates the record as expected.</div><div>However, if I want it to create a new record I can't use the 'Auto Generate' on my primary key as that would break the 'update'.</div><div><br /></div><div>So, I decided to follow what had been done in the CustCustomerV3Entity.</div><div>I set my 'ServiceOrderNumber' 'Allow Edit' field properties on the Entity and Staging table to 'Yes'.</div><div><br /></div><div>In looking through all the setup and code for the customer entity, this seems to be it. However, I still get:</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgu6I6xJvv4USc_Rqu0C_I195wWJpNIKL9d2Vu2dboSxB9flMeOTcdfkgCvvpbPOujL9CnP1TUYYZD26f1b6ni0hR_s0zD-z1RxHSsFMUp4NC60-_OxsrlJLI86jQppo8C_qsqkMgUPVTBxnVwR61DMVG1ewVqc7XCiVBJVefz6UEt5TkB7tEWU18uHJmVW" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="151" data-original-width="473" height="102" src="https://blogger.googleusercontent.com/img/a/AVvXsEgu6I6xJvv4USc_Rqu0C_I195wWJpNIKL9d2Vu2dboSxB9flMeOTcdfkgCvvpbPOujL9CnP1TUYYZD26f1b6ni0hR_s0zD-z1RxHSsFMUp4NC60-_OxsrlJLI86jQppo8C_qsqkMgUPVTBxnVwR61DMVG1ewVqc7XCiVBJVefz6UEt5TkB7tEWU18uHJmVW" width="320" /></a></div><br /><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>Originally, I thought the second error was tied to the first, however, it was not.</div><div><div>In doing more research, I found that the label from this error was this:</div>
<div> </div>
<div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj2EsdGkdd3kz6sAD6gmo-uEzZARXbU_M1DaQdYVMMhD00qTDOFW7I6LEj7k52Wz5-j4rwRfbYYWmNaoxUarpoZgRQ2_krG0qY3MNnD9vFAAhQiFujGe95wfFZRZZ5aqN1Ei-fsO2wlv6Mlah3AJgMoRNeKT2ErVh0KNgTcUAOwZZXq6cYqi8SrsmATq6bg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="257" data-original-width="759" height="108" src="https://blogger.googleusercontent.com/img/a/AVvXsEj2EsdGkdd3kz6sAD6gmo-uEzZARXbU_M1DaQdYVMMhD00qTDOFW7I6LEj7k52Wz5-j4rwRfbYYWmNaoxUarpoZgRQ2_krG0qY3MNnD9vFAAhQiFujGe95wfFZRZZ5aqN1Ei-fsO2wlv6Mlah3AJgMoRNeKT2ErVh0KNgTcUAOwZZXq6cYqi8SrsmATq6bg" width="320" /></a></div><br /><br /></div>
<div> </div>
<div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>This label is referenced in 4 classes. Only 1 of which would be used by DMF. </div>
<div> </div>
<div>That led me to the NumberSequenceTable and the 'numAllowEdit' method.</div>
<div>That method says that unless one of 3 fields is set to 'Yes', the field using the number sequence is NOT editable:</div>
<div> </div>
<div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjGQCQWunvVfrXmMXvvacvPIsi7r_O2krb0bX5TFPEXc-DUDIv_fjIh3Yb_SsI9BNoEVx52GqzeOtZ0Y4KGGSTAxYTNrftbjU9OkwRgEn-s_8jG8OTOtT85FbOdxi4PrihPOhtcOXw2HhzmgN4IniFH_Daxrb27kMJfGNe4gjjmb1ezlVmBxKxXQ30OWJSI" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="313" data-original-width="789" height="127" src="https://blogger.googleusercontent.com/img/a/AVvXsEjGQCQWunvVfrXmMXvvacvPIsi7r_O2krb0bX5TFPEXc-DUDIv_fjIh3Yb_SsI9BNoEVx52GqzeOtZ0Y4KGGSTAxYTNrftbjU9OkwRgEn-s_8jG8OTOtT85FbOdxi4PrihPOhtcOXw2HhzmgN4IniFH_Daxrb27kMJfGNe4gjjmb1ezlVmBxKxXQ30OWJSI" width="320" /></a></div><br /><br /></div>
<div> </div>
<div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>Once I set 'To a Higher Number' to yes (Seemed like the safest change for my purposes) the '... does not allow editing.' error went away.</div>
<div>The other error remains. It looks like it isn't generating a new Service Order Number like it should. Based on the CustCustomerV3Entity, I did the following in the 'initvalue' method of my data entity:</div>
<div> </div>
<div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjGjBOlAv2v-Kzb72_WiA-FeEtLETvlPpfkqQjmcnZslT2QQYvIzBwJaRB6RBpXrVgxq3rsq-9Bro8FTSJtH1t6u3q7YD16X3MjvI3tfBEcS4z26vXoxjIyVKWXjHRMM7CNX3h6-akAd00w5BsCb4DZoIXRsQ7SNFlppna46NL02b3Crs6t0qtqcUI6vQLD" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="182" data-original-width="883" height="83" src="https://blogger.googleusercontent.com/img/a/AVvXsEjGjBOlAv2v-Kzb72_WiA-FeEtLETvlPpfkqQjmcnZslT2QQYvIzBwJaRB6RBpXrVgxq3rsq-9Bro8FTSJtH1t6u3q7YD16X3MjvI3tfBEcS4z26vXoxjIyVKWXjHRMM7CNX3h6-akAd00w5BsCb4DZoIXRsQ7SNFlppna46NL02b3Crs6t0qtqcUI6vQLD=w400-h83" width="400" /></a></div><br /><br /></div>
<div> </div>
<div><br /></div><div><br /></div><div>This is similar to what I see on the CustCustomerV3Entity and other Data Entities that allow Write operations.</div>
<div>I believe this is supposed to tell the field to use the Number Sequence specified in 'SMAParameters'.</div></div><div><br /></div><div>However this did not work. After some trial and error, I found that I had to remove the 'SERVICEORDERNUMBER' column (In my case XML attribute) from my file completely. It then would successfully import.</div><div><br /></div><div>This may cause an issue down the line as my import file could come with that field defined for an update or not defined for a new record creation. We will see how that works out.</div>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-3847602965942494862023-07-05T13:11:00.002-07:002023-07-05T13:11:44.512-07:00D365 F&O - Workspace form pattern error: The browser session was lost due to an error on the server.<p>This week I was attempting to prototype a workspace in F&O. After walking through the 'Pattern' I applied to the newly created form, I ran my workspace and ran into this error:</p><p></p><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiCpGHDHZZ0plsmJX0EYTHsBuFJbrrXf3Q9D4o-hGhhOSDI3oGoS9yL1z9Nn7T_ixs9-nmKwZ05JAgHvkDN1xHuAHlGoupFRkeXmY4iurSnLtX4BNPZDznke1le2cAwlf7v6JjdWCo_FgqLVnUq_LWpTKIL-j7Kpfk_xOjdngmqlBNomI3g0dB3wUEsh9ik" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="203" data-original-width="582" height="112" src="https://blogger.googleusercontent.com/img/a/AVvXsEiCpGHDHZZ0plsmJX0EYTHsBuFJbrrXf3Q9D4o-hGhhOSDI3oGoS9yL1z9Nn7T_ixs9-nmKwZ05JAgHvkDN1xHuAHlGoupFRkeXmY4iurSnLtX4BNPZDznke1le2cAwlf7v6JjdWCo_FgqLVnUq_LWpTKIL-j7Kpfk_xOjdngmqlBNomI3g0dB3wUEsh9ik" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">It doing some testing I found that once I got to the 'Form Part' of the 'Tab Page' of the pattern, I had to specify a menu item for the form part. This, basically, shows another form inside your workspace form. Once I specified that, it worked great.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><br /><p></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-54167315153718374052023-03-09T10:55:00.002-08:002023-03-09T10:55:58.763-08:00AX 2012 R2 CU9 (Originally CU6) to D365 F&O Code & Data Upgrade<p> Over the past several weeks I have been attempting to upgrade our AX DB into D365 mainly using instructions from <a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/migration-upgrade/data-upgrade-2012" target="_blank">here</a>. </p><p>Before doing the steps there, you will need to see if you have a 'Display' menu item named 'SysCheckList_UpgradeToNextV'. If you don't have that (Which I did not), then you will need to install KB4048614. This will give you an upgrade checklist to prep your database and modelstore for the upgrade. (This will require going through the standard software update checklist.)</p><p>After going through some failed attempts, I narrowed my focus to 2 main paths:</p><p></p><ol style="text-align: left;"><li>Upgrade my company's custom code / data ONLY.</li><ol><li>This means removing ALL ISV models. This was ok for us as our ISVs have D365 solutions.</li></ol><li>Upgrade my company's custom data that fits in vanilla AX. </li><ol><li>This means removing ALL custom models.</li></ol></ol><div>For BOTH options, you must do a full compile, full CIL, and FULL DB sync along with running the new checklist from above.</div><div><br /></div><div>For option 1, the best idea is to move ALL your customizations into 1 single model. For some reason, mine were spread out over 4 different models. You can keep it in different models, however, I think it makes it more difficult.<br />After attempting a code and data upgrade for option1, we decided to remove ALL non data related customizations. (Classes, forms, etc.) This would leave us with only our Tables, EDTs, etc. </div><div>However, after looking at the amount of work to upgrade this, we decided to give option 2, from above, a try.</div><div><br /></div><div>All customizations were removed and we began the 'Data upgrade' using the link above. Our database is pretty big (Over 300 GB). This upgrade process took over 48 hours. Aside from time, we only ran into a couple of errors in the 'ExecuteScripts' step. We had to skip 2 steps. To do that, you can follow instructions <a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/migration-upgrade/upgrade-data-to-latest-update#skip-failed-scripts" target="_blank">here</a>. For some reason there were duplicate records in 4 tables so there were some DB sync failures. They were easily fixed and we were able to get the full data upgrade completed.</div><p></p><p><br /></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-15187681787901663682023-03-09T09:43:00.002-08:002023-03-09T09:43:39.179-08:00AX 2012 R2 CU9 DIXF Data Export<p> As we are now moving to D365, we need to export our data. Our partner assumed we had DIXF, however, we are in CU6 and it doesn't have DIXF.</p><p>In order to use DIXF we upgrade one non-production environment to CU9. (Microsoft recommended either CU8 or CU9 not CU7).</p><p>Once we upgraded that, we could then use DIXF. However, this left an issue of how to get new data from PRODUCTION into this CU9 environment.</p><p></p><ol style="text-align: left;"><li>Using the test data transfer tool, export out ALL DMF tables.</li><li>Refresh non-production environment transactional DB as usual. (DO NOT refresh model DB)</li><li>Run CU9 KB upgrade to upgrade the DB</li><li>Run and complete the software update checklist.</li><li>Using the test data transfer tool, import ALL DMF tables.</li></ol><div>Although this does take me about 3 hours to complete it gets the job done. Steps 1 and 5 allow us to continue to develop our data entities in DIXF and perform refreshes without losing out progress.</div><p></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-87959442144605783662023-03-09T09:37:00.001-08:002023-03-09T09:37:08.900-08:00AX 2012 Workflow Originator<p> Recently, I had a request to bulk close out 500+ cases that were currently in workflow. The issue I came to was I couldn't find where the workflow was pulling the 'Workflow originator' from. After some research, I found that it is stored in the SysWorkflowTable and the Originator field.</p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-23043196863480793642023-01-24T10:44:00.003-08:002023-01-24T10:44:24.919-08:00AX 2012 to D365 Data Upgrade: Incremental sync did not complete successfully<p> Well, we are finally doing an upgrade to D365! It's exciting to get into this chapter of our ERP.</p><p>While attempting a data upgrade to D365, I ran into the following error when running the data upgrade 'execute' portion of the script:</p><p><i>AOS database sync failed.<span style="white-space: pre;"> </span>Microsoft.Dynamics.AX.Framework.Database.TableSyncException: Incremental sync did not complete successfully. Error: ArgumentException:tableId.</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.LegacyCodepath.<>c.<RunPartialTableSync>b__23_1(Tuple`2 result)</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.LegacyCodepath.ExecuteWithinAOS(SyncOptions syncOptions, String sqlConnectionString, IMetadataProvider metadataProvider, Func`1 func, Action`1 errorHandler)</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.LegacyCodepath.RunPartialTableSync(SyncOptions options, String sqlConnectionString, IMetadataProvider metadataProvider)</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.SyncEngine.PartialTableViewSync()</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.SyncEngine.PartialSync()</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.SyncEngine.RunSync()</i></p><p><i> at Microsoft.Dynamics.AX.Framework.Database.Tools.SyncEngine.Run(String metadataDirectory, String sqlConnectionString, SyncOptions options)</i></p><p><i>Failed operation step '/DataUpgrade/PreReqs/PartialDbSync'</i></p><p><i>Process 'K:\AosService\PackagesLocalDirectory\bin\SyncEngine.exe' failed with exit code -1; see error logs for details.</i></p><p><i> at Microsoft.Dynamics.Servicing.DataUpgrade.Operations.Operation.RunProcess(String fileName, ArgumentsBuilder args)</i></p><p><i> at Microsoft.Dynamics.Servicing.DataUpgrade.Operations.OperationStep.Execute()</i></p><p>I'm not sure, at this point, what the issue is. Still researching...</p><div><br /></div>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-36452474591682753562021-02-26T10:03:00.003-08:002021-02-26T10:03:44.288-08:00Send selected records from Temp Form Datasource to Class<p> Recently, I had the need to send selected records of Form datasource that is a Temp table. </p><p>The initial searches led me to the MultiSelectionHelper class with code something like this in my class:</p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div style="text-align: left;"><i>MultiSelectionHelper helper = MultiSelectionHelper::construct();</i></div><div style="text-align: left;"><i>helper.parmDataSource(_args.record().dataSource());</i></div><div style="text-align: left;"><i><br /></i></div><div style="text-align: left;"><i>myTempTable = helper.getFirst();</i></div><div style="text-align: left;"><i><br /></i></div><div style="text-align: left;"><i>while (myTempTable.RecId != 0)</i></div><div style="text-align: left;"><i>{</i></div><div style="text-align: left;"><i><span> ... [LOGIC] ...</span></i></div><div style="text-align: left;"><span><i><span> myTempTable = helper.getNext();</span></i></span></div><div style="text-align: left;"><span><span><i>}</i></span></span></div></blockquote><div style="text-align: left;"><span><span><br /></span></span></div><div style="text-align: left;"><span><span>This did NOT work at all. I tried every type of table; Temp, InMemory, Regular. I could not get MultiSelectionHelper to work.</span></span></div><div style="text-align: left;"><span><span><br /></span></span></div><div style="text-align: left;"><span><span>So, I ended up using FormDataSource:</span></span></div><div style="text-align: left;"><span><span><br /></span></span></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div style="text-align: left;"><div><i>FormDataSource fds;</i></div></div><div style="text-align: left;"><div><i>fds = _args.record().dataSource();</i></div></div><div style="text-align: left;"><div><i><br /></i></div></div><div style="text-align: left;"><div><i>myTempTable = fds.getFirst(true);</i></div></div><div style="text-align: left;"><div><i><br /></i></div></div><div style="text-align: left;"><div><i>while (myTempTable.RecId != 0)</i></div></div><div style="text-align: left;"><div><i>{</i></div></div><div style="text-align: left;"><div><i> ... [LOGIC] ...</i></div></div><div style="text-align: left;"><div><i> myTempTable = fds.getNext();</i></div></div><div style="text-align: left;"><div><i>}</i></div></div></blockquote><div style="text-align: left;"><div><i><br /></i></div><div>Very similar code. Just be sure to put 'true' in your call to 'getFirst' on the FDS object as that will ONLY retrieve marked / selected records.</div></div>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-31070050362604870332021-02-05T08:12:00.001-08:002021-02-05T08:12:25.384-08:00General Ledger - Foreign Currency Revaluation<p> Recently, I was brought into a conversation with my customer about their Foreign Currency Revaluation process. </p><p>They felt that the standard process in AX wasn't doing it correctly based on their manual calculations so I did some research and debugging to figure out that basics of how this works.</p><p>Here is our sample parameters:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFRdmQlpJg25h6LRF-pb_GIlLwYzWGOxvnZLT_D4vARKKAiTB_gOJuyG9oEnI7NcIHKpOxac6VyN512TNZ-Ij0k1-uoHR87Yr2rB-0R6wN5Ls2foERLRLnNh_At3yIkRXlgQcVRbj-Dw27/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="353" data-original-width="590" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFRdmQlpJg25h6LRF-pb_GIlLwYzWGOxvnZLT_D4vARKKAiTB_gOJuyG9oEnI7NcIHKpOxac6VyN512TNZ-Ij0k1-uoHR87Yr2rB-0R6wN5Ls2foERLRLnNh_At3yIkRXlgQcVRbj-Dw27/w420-h251/image.png" width="420" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">This is run in an entity that uses GBP as it's accounting currency. Our parameters would suggest that we want to revalue transactions in Jan. of 2021. However, due to my account being an 'Asset' account, the system changes my 'From' date to the beginning of my fiscal year. (In this case 11/1/2020) </div><div class="separator" style="clear: both; text-align: left;">This causes the revaluation to be run for the entire year each time I run it, instead of just for the month I have specified.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I would be interested to know if this is standard accounting practice or if this is a bug in the system. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">As an FYI, the system will revalue the transactions using an exchange rate from the 'To' date specified in the parameter form.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><br /><p></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-76171353081410541872020-10-06T10:54:00.004-07:002020-10-06T10:54:54.283-07:00AX 2012 EP - 'The referenced file '/_layouts/ep/EPSecurityControlascx' is not allowed on this page'<p> This morning I woke up to the following error in Enterprise Portal:<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6lft1gC62KvXNz0pX8uKVixLeJaqipHR_sUtefr2MZBBHjSCmJwzn6vAavTuDFe0bbtvswGaOe0m0nAbl_UnDGPeaIceBBf3J3VCE9oPVHnDJRvNaz4AxxMnidUy7A_9RshmNbOcOaF4/" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="256" data-original-width="576" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6lft1gC62KvXNz0pX8uKVixLeJaqipHR_sUtefr2MZBBHjSCmJwzn6vAavTuDFe0bbtvswGaOe0m0nAbl_UnDGPeaIceBBf3J3VCE9oPVHnDJRvNaz4AxxMnidUy7A_9RshmNbOcOaF4/w438-h194/image.png" width="438" /></a></p><p>We tried 'IISRESTART' and full restarts of our EP and AX servers.</p><p>I then looked at the web.config file and found that it had been modified last night. I also found the some Sharepoint security updates had come through as well. I knew the web.config was the issue but had no way of knowing what it was.</p><p>After posting on the AX forum, a great user gave me the solution.</p><p>https://community.dynamics.com/ax/f/microsoft-dynamics-ax-forum/404119/ep-the-referenced-file-is-not-allowed-on-this-page/1098599#1098599</p><p>In the <SafeMode><PageParserPaths> HERE </PageParserPaths></SafeMode> you need to put:</p><p><span style="background-color: white; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 15px;"><PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="true"></PageParserPath></span></p><p>Once I put that in there, it worked perfectly! No need to uninstall the updates. </p><p><br /></p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com1tag:blogger.com,1999:blog-423831008800861797.post-23757329415309920322020-09-15T13:21:00.000-07:002020-09-15T13:21:12.132-07:00When trying to open a view I get 'You are not authorized to access table ‘My View’ (MyView). Contact your system administrator.'<p> I was recently trying to open a view and received the following error:</p><p>You are not authorized to access table ‘Payments remaining amounts’ (VRFVendPaymentsNotSettled). Contact your system administrator.</p><p>Other posts on this topic suggested that you need 'Fields' on the view to open it. In my case I had fields. This turned out to be a simple fix. On the view properties, in AX, change 'Visible' to 'Yes' from 'No'.</p>Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-78894557285768695972020-03-31T14:01:00.001-07:002020-05-29T08:02:09.100-07:00AX 2012 R2 - OANDA Exchange Rate Provider API V2Recently, I have been tasked with getting exchange rates from an online service. I came across a <a href="https://docs.microsoft.com/en-us/dynamicsax-2012/appuser-itpro/creating-exchange-rate-providers-for-microsoft-dynamics-ax-2012" target="_blank">white paper</a> that explains how to setup an exchange rate provider. For the most part it is accurate. I came across 2 compile errors that required minor changes along with a few of other changes needed to make it work with V2 of Oanda's API. If you can get your 'ExchangeRateProviderOanda' class from the white paper, you should be able to follow my changes and make the provider work.<br />
****Note: This is setup for a single currency exchange rate for a single day. You can get averages over multiple days using the 'Candles' request instead of the 'Candle'<br />
<br />
Classes\ExchangeRateProviderOanda\classDeclaration<br />
Line 2 Original Code:<br />
ExchangeRateProviderIdAttribute('CB024E9B-312B-44CE-BE89-3ED8597B007D')<br />
Change To:<br />
ExchangeRateProviderIdAttribute('CreateNew')<br />
<div>
Create your own, unique GUID. You can do this in a Job in ax with the following code:</div>
<div>
info(strFmt("%1", WinAPI::createGUID()));</div>
<div>
<br /></div>
<div>
Classes\ExchangeRateProviderOanda\classDeclaration</div>
<div>
Lines 21 & 22 Original Code:</div>
<div>
<div>
#define.BidXPath("//bid")</div>
<div>
#define.DateXPath("//quote/date")</div>
<div>
Change To:</div>
</div>
<div>
#define.BidXPath("//average_bid")</div>
<div>
<div>
#define.DateXPath("//quote/close_time")</div>
These will get us the right xml nodes for the 'Bid' exchange rate and the quote date.<br />
<br />
Classes\ExchangeRateProviderOanda\getProviderId<br />
<div>
Change To:</div>
<div>
return 'YourNewlyCreatedGuid';</div>
<div>
Copy your new GUID from above.</div>
<br />
Classes\ExchangeRateProviderOanda\getConfigurationDefaults<br />
Line 5 Original Code:<br />
configurationDefaults.addNameValueConfigurationPair(#ServiceURL, 'https://www.oanda.com/rates/api/v1/rates/%1.xml?quote=%2&start=%3&end=%4&fields=averages');<br />
Change To:</div>
<div>
<div>
configurationDefaults.addNameValueConfigurationPair(#ServiceURL, 'https://www.oanda.com/rates/api/v2/rates/candle.xml?base=%1&quote=%2&date_time=%3');</div>
<div>
This is the V2 URL for the 'Candle' rate type.</div>
<div>
</div>
</div>
Classes\ExchangeRateProviderOanda\getExchangeRates<br />
Lines 41 & 42 Original Code:<br />
fromDate = _exchangeRateRequest.parmFromDate();<br />
compareResult = fromDate.CompareTo(_exchangeRateRequest.parmToDate());<br />
Change To:<br />
fromDate = _exchangeRateRequest.parmFromDate();<br />
compareResult = fromDate.CompareTo(fromDate);<br />
The 'CompareTo' method can't handle the 'Date' type in 'parmFromDate'. In essence, it was simply trying to compare the date to iteslf so I passed the 'fromDate' variable instead.<br />
<br />
Classes\ExchangeRateProviderOanda\getExchangeRates<br />
Line 61 Original Code:<br />
oandaRequestString = strFmt(serviceUrl,currencyPairRequest.parmFromCurrency(), currencyPairRequest.parmToCurrency(), dateForRequest, dateForRequest);<br />
Change To:<br />
oandaRequestString = strFmt(serviceUrl, currencyPairRequest.parmFromCurrency(), currencyPairRequest.parmToCurrency(), dateForRequest);<br />
This changes our 'oandaRequestString' to use the new url format and put the variables in the right spots.<br />
<br />
Classes\ExchangeRateProviderOanda\getExchangeRates<br />
Line 18 Original Code:<br />
System.DateTime fromDate, fromUTCDate;<br />
Change To:<br />
System.DateTime fromDate, fromUTCDate, toDateDateTime;<br />
This is needed for our next fix.<br />
<br />
Classes\ExchangeRateProviderOanda\getExchangeRates<br />
Lines 118 & 119 Original Code:<br />
fromDate = fromDate.AddDays(1);<br />
compareResult = fromDate.CompareTo(_exchangeRateRequest.parmToDate());<br />
Change To:<br />
fromDate = fromDate.AddDays(1);<br />
toDateDateTime = _exchangeRateRequest.parmToDate();<br />
<br />
compareResult = fromDate.CompareTo(toDateDateTime);<br />
Similar to the issue above. The 'CompareTo' can't handle the 'Date' type in 'parmToDate'. We created a new 'System.DateTime' variable called toDateDateTime and then set that variable to the 'parmToDate()'. We can then pass this variable to the 'CompareTo' method.<br />
<br />
Classes\ExchangeRateProviderOanda\getExchangeRates<br />
Line 71<br />
//webCollection.Add(#HttpHeaderAuthorization, #KeyTokenPrefix + TODO: Retrieve and concatenate your Key provided by OANDA);<br />
Change To:<br />
webCollection.Add(#HttpHeaderAuthorization, #KeyTokenPrefix + 'YourApiKey');<br />
Put your OANDA provided API key here.<br />
<br />
OPTIONAL:<br />
Classes\ExchangeRateProviderOanda\getExchangeRates<br />
Line 102 Original Code:<br />
catch (Exception::CLRError)<br />
{<br />
{Comments}<br />
}<br />
Change To<br />
catch (Exception::CLRError)<br />
{<br />
ex = CLRInterop::getLastException();<br />
if (ex != null)<br />
{<br />
ex = ex.get_InnerException();<br />
if (ex != null)<br />
{<br />
error(strFmt("From Currency:%1 - To Currency: %2 - Date: %3", currencyPairRequest.parmFromCurrency(),<br />
currencyPairRequest.parmToCurrency(), oandaRequestString));<br />
}<br />
}<br />
}<br />
I just put in some error handling so that if my batch job errors out, I will be able to see some details.<br />
<br />
Once you do this, compile into CIL. Then create your new provider through GL -> Setup -> Currency -> Configure exchange rate providers<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJr_jfRSE8XtUL1MXnOabDy4ZMwME8hr1Bdm5taxxrW5BxD5VTGjBtm9PBEmmXZ_o7R8nIwfgf-sDZMN4_88yedPYOtfivMcQA32IWohf5Q0Kn_Wf0pX2WbEkduKjrS4-1wz4pVybVjviD/s1600/Provider.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="968" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJr_jfRSE8XtUL1MXnOabDy4ZMwME8hr1Bdm5taxxrW5BxD5VTGjBtm9PBEmmXZ_o7R8nIwfgf-sDZMN4_88yedPYOtfivMcQA32IWohf5Q0Kn_Wf0pX2WbEkduKjrS4-1wz4pVybVjviD/s400/Provider.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then run Gl -> Periodic -> Import currency exchange rates:</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7oWQH-J5MW1KJvNlxG05cocQuLoSz-gU-fd0FDUI5Nsrdow7GzCIC5qd0SazA1v1Y7906Azi63WaekAHVik4_mNsTTSfRmIxnltemN0AVNJaRWS5yXTrGxceq9YwolwxxCcUyPkRAAbku/s1600/Import.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="327" data-original-width="528" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7oWQH-J5MW1KJvNlxG05cocQuLoSz-gU-fd0FDUI5Nsrdow7GzCIC5qd0SazA1v1Y7906Azi63WaekAHVik4_mNsTTSfRmIxnltemN0AVNJaRWS5yXTrGxceq9YwolwxxCcUyPkRAAbku/s400/Import.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This will create exchange rates for Today for all currency pairs that you have in the system.</div>
<div class="separator" style="clear: both; text-align: left;">
****Note: Daily exchange rates are posted at 0:00 UTC. For us in the US that means I can get the March 31 rate at 5:00 pm PT or 8:00 pm ET March 31. If you try and get a 'Candle' rate before then, your web api call will fail.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And that's it! This could easily be setup as a batch job and wouldn't require further intervention. Not a hard way to get exchange rates automatically pulled in to AX.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-58818166297818098512019-11-20T13:53:00.000-08:002019-11-20T13:53:00.330-08:00AX 2012 R2 - SSRS - The formatter thew an exception while trying to deserialize the messageThis strange error popped up with one of my users the other day while running a report that use on a regular basis:<br />
<br />
<i>The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:queryBuilderArgs. The InnerException message was 'Element 'http://tempuri.org/:queryBuilderArgs' contains data from a type that maps to the name 'http://schemas.datacontract.org/2004/07/XppClasses:SrsReportProviderQueryBuilderArgs'. The deserializer has no knowledge of any type that maps to this name. Consider using a DataContractResolver if you are using DataContractSerializer or add the type corresponding to 'SrsReportProviderQueryBuilderArgs' to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to the serializer.'. Please see InnerException for more details.</i><br />
<i><br /></i>
A quick google search revealed most people restarting the AOS / SSRS servers to get it to clear out.<br />
Luckily I found this post <a href="https://axtechbirchendale.wordpress.com/2017/10/04/ax-2012-the-formatter-threw-an-exception-while-trying-to-deserialize-the-message/" target="_blank">here</a>. This solved my problem. Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-64600918111544513832019-11-12T10:04:00.001-08:002019-11-12T10:04:55.097-08:00SQl Server SSMS - Get letters from beginning of stringI had a requirement, in SSMS, where I needed to get the first letters of a Voucher string. It could be anywhere from 3-6 letters so I couldn't hard code a start and end point.<br />
<br />
I ended up coming up with this:<br />
<br />
SUBSTRING([MyCol], 1, PATINDEX('%[^a-z]%', [MyCol]) - 1)<br />
<br />
I was able to put a start of '1' as my Voucher letters ALWAYS come at the beginning. The 'PATINDEX' finds the column AFTER my letters end. So, I subtract 1 and I've found the end!Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-17633417942428694032019-10-04T08:13:00.003-07:002019-10-04T08:13:26.815-07:00Power APPS AX 2012 - New Entity Get Data With Exisiting ConnectionWelcome to my very first Power APPS post!!!<br />
My employer has decided to use Power APPS to replace our current T&E in Enterprise Portal.<br />
More posts will come on how I have designed this.<br />
<br />
On to the issue at hand...<br />
When creating a new entity I am forced to create a new SQL connection everytime, even though I have an existing SQL connection.<br />
I have an On-premise data gateway and a SQL connection setup:<li-image align="inline" alt="PowerAPPSConnections.jpg" height="180" id="91120i9FB4233F5CE0D8B5" resized="true" size="large" sourcetype="new" width="750"></li-image><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1gAbM0XAT3l1bP3ZrAsDS86scmyDuylu6u5WKELk0NXpg72wPAyFwmz1j6gqaP65gBbwzePMZkByxAWk98mHCRRCNb3DOvNDE8qKF9vS5Zny4F1ir-_Xpr76VT4RgRMZdfobvrbfR1utI/s1600/PowerAPPSConnections.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="267" data-original-width="1114" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1gAbM0XAT3l1bP3ZrAsDS86scmyDuylu6u5WKELk0NXpg72wPAyFwmz1j6gqaP65gBbwzePMZkByxAWk98mHCRRCNb3DOvNDE8qKF9vS5Zny4F1ir-_Xpr76VT4RgRMZdfobvrbfR1utI/s640/PowerAPPSConnections.jpg" width="640" /></a></div>
<br />
The 3rd one in the list is a connection created from a new entity. The blocked out portions of each SQL Server connection are the same name of the SQL Server. <br />
I couldn't figure out why I couldn't select my existing connection<br />
Here is what I see when getting data for a new entity:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8LPDBOEBdh3n9yuwf9L_WjDf-6ihMw1rFL748fzz1YuFwzLq0c5fvzdigPG5WYngf5ODynCUo09WSuGPM4_V8EDvVs7ETqo5L_qobGK-Ta2otCtHWywkJl7Y9bIBv0V-qlFjAu7RgUKjY/s1600/PowerAPPSNewEntityGetData.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="557" data-original-width="680" height="327" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8LPDBOEBdh3n9yuwf9L_WjDf-6ihMw1rFL748fzz1YuFwzLq0c5fvzdigPG5WYngf5ODynCUo09WSuGPM4_V8EDvVs7ETqo5L_qobGK-Ta2otCtHWywkJl7Y9bIBv0V-qlFjAu7RgUKjY/s400/PowerAPPSNewEntityGetData.jpg" width="400" /></a></div>
<br />
<li-image align="inline" alt="PowerAPPSNewEntityGetData.jpg" height="557" id="91122i9707DE773A1912F1" size="large" sourcetype="new" width="680"></li-image><br />
<br />
I can successfully select my On-premise gateway, however, no connections show under the Connection combo box.<br />
As I was about to post this on the Power APPS forum I had a small epiphany... By typing in the Server and Database first, it will automatically select my existing connection:<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdgHt3OAq87dD-PHo28vlGUGWDTacBHfMB7gXnSFR2Mck-X1vWvaYueb6xAhkxVdEQSAyEy4sBDSfTq8Fibn2-Wy_lw0eYI1ClIoneuL8caLUF7rX-aPMVZdWXRCimPoXmqWW9tuzFOpak/s1600/PowerAPPSExistingConnection.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="390" data-original-width="640" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdgHt3OAq87dD-PHo28vlGUGWDTacBHfMB7gXnSFR2Mck-X1vWvaYueb6xAhkxVdEQSAyEy4sBDSfTq8Fibn2-Wy_lw0eYI1ClIoneuL8caLUF7rX-aPMVZdWXRCimPoXmqWW9tuzFOpak/s640/PowerAPPSExistingConnection.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
As you can see, we can now use our existing connection and not be forced to create a new one.Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-91975224842565940612019-09-06T06:35:00.000-07:002019-09-06T06:35:08.176-07:00GL General Journal Fin Dim (Legal Entity) doesn't auto populate after entering Main AccountAfter setting up a new Legal Entity, my UAT testers noticed that the Legal Entity portion of the account string in a GL General Journal didn't automatically filled. That behavior is observed on other Legal Entities that are in the system so it didn't make a lot of sense of why the new Entity didn't have that behavior.<br />
<br />
<img height="144" src="https://community.dynamics.com/cfs-file/__key/communityserver-discussions-components-files/33/pastedimage1567612815766v1.png" width="640" /><br />
<br />
After getting some suggestions on my AX Forum <a href="https://community.dynamics.com/ax/f/microsoft-dynamics-ax-forum/365395/gl-general-journal-fin-dim-legal-entity-doesn-t-auto-populate-after-entering-main-account" target="_blank">question</a>, I started looking in the Main Accounts and their setup. When looking at the details of a Main Account, I found that the 'Companies' field was not auto-populating:<br />
<br />
<img height="89" src="https://community.dynamics.com/cfs-file/__key/communityserver-discussions-components-files/33/Companies1.jpg" width="640" /><br />
<br />
If you hit that green '+' I can add my new entity, however, I would have expected it to be auto-populated. I also noticed that the Legal Entity in the Financial dimensions on the Main Account wasn't set either:<br />
<br />
<img height="211" src="https://community.dynamics.com/cfs-file/__key/communityserver-discussions-components-files/33/Companies2.jpg" width="640" /><br />
<br />
As you can see in the image, I was able to set it with my new Entity, however, I would have expected it to be auto-populated after entity setup.<br />
<br />
Possible Root Cause:<br />
When setting up my entity I completed the setup in General ledger -> Setup -> Ledger before making the Entity a Virtual Company:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH3El99x0_In6gbQi09H-ZmeeymYxo-2dh2X03nNntQQAv-o0qnLjD_6cuvFLEGvQZQNx8fBJXSrdsEx5BWZvwvyD7AQO-Nebyu6agGQ5WtCtjDz4SSKuFd7_jMUycXDVbpiXd20X6IXmC/s1600/Ledger.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="230" data-original-width="581" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH3El99x0_In6gbQi09H-ZmeeymYxo-2dh2X03nNntQQAv-o0qnLjD_6cuvFLEGvQZQNx8fBJXSrdsEx5BWZvwvyD7AQO-Nebyu6agGQ5WtCtjDz4SSKuFd7_jMUycXDVbpiXd20X6IXmC/s640/Ledger.jpg" width="640" /></a></div>
<br />
I believe that if you setup the Virtual Company first and then do these Ledger settings the items above will auto-populate.<br />
<br />Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-1069184565648963162019-03-07T13:25:00.001-08:002019-03-07T13:25:37.626-08:00Expense Report Accounting Distribution missing Project and Category<div class="" style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
Lately, we have had several expense reports get posted with Accounting Distributions that don't account for the Project and Category. This causes a problem as it doesn't create a Project Transaction like it should.</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
ER:</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<a href="https://community.dynamics.com/cfs-file/__key/communityserver-discussions-components-files/33/ERDA.jpg" style="box-sizing: border-box; color: #007f88; text-decoration-line: none;"><img alt=" " src="https://community.dynamics.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/33/ERDA.jpg" style="border: 0px; box-sizing: border-box; max-width: 100%; vertical-align: middle;" /></a></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
Accounting Distribution:</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<a href="https://community.dynamics.com/cfs-file/__key/communityserver-discussions-components-files/33/DA.jpg" style="box-sizing: border-box; color: #007f88; text-decoration-line: none;"><img alt=" " src="https://community.dynamics.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/33/DA.jpg" style="border: 0px; box-sizing: border-box; max-width: 100%; vertical-align: middle;" /></a></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
As you can see, the Accounting Distribution fields for Project ID and Category are blank.</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
Even more interesting, the other 'Hotel' lines and other category lines are just fine. It's only this one.</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
Not sure at this point what is causing this, but I will update as soon as I have a root cause.</div>
Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-37782180645499915922019-01-31T07:13:00.000-08:002019-01-31T07:13:09.693-08:00AX Email Approval - The Requested Workflow Action Failed.We recently created a new Azure Service using SAS authentication. (Removed the old ACS Service Bus).<br />
It worked initially, however, after a few days we were receiving the following error when trying to approve from the email link:<br />
<br />
The Requested Workflow Action Failed.<br />
<br />
In order to remedy this I found this blog post which helped:<br />
<br />
http://msdynamicsaxtips.blogspot.com/2018/02/the-requested-workflow-action-failed.html<br />
<br />
I took some extra steps which I will list out here:<br />
<br />
1. Generate Full CIL on AOS which has the Mobile Connector software<br />
2. Stop the RapidStart Services in the Mobile Connector software<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYtYGGr3FlskVfzgVUB5Qmc3KJngj3ZPZQWZydatN_DHaNc800YMwVNZvESPuxyCPylTwAlV9PW7VciRvMMOFWdHFlM1mXd7DLHY6sc3KlnY1e_sQ0THsf8wGh6X5OHYdMwjEJr-BdW_9y/s1600/MobileConnector.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="435" data-original-width="649" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYtYGGr3FlskVfzgVUB5Qmc3KJngj3ZPZQWZydatN_DHaNc800YMwVNZvESPuxyCPylTwAlV9PW7VciRvMMOFWdHFlM1mXd7DLHY6sc3KlnY1e_sQ0THsf8wGh6X5OHYdMwjEJr-BdW_9y/s320/MobileConnector.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3. Deploy the 'SysWorkflowApprovalServiceGroup'<br />
AOT -> Service Groups -> SysWorkflowApprovalServiceGroup<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmDzNEDhAJffYlqY4HoMRFDvKaNzMnjJt28SDy7YlBzf0hrlfYz0YD7N-aWDBTRlmJhyb9cvHwWoY4ZfOgf3PzaCGeR-TSkSjygv3rhRJGAxWsqnBhfaTI7nRA6UpOpcFP7lfrv2d4Ww5J/s1600/ServiceGroup.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="147" data-original-width="449" height="104" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmDzNEDhAJffYlqY4HoMRFDvKaNzMnjJt28SDy7YlBzf0hrlfYz0YD7N-aWDBTRlmJhyb9cvHwWoY4ZfOgf3PzaCGeR-TSkSjygv3rhRJGAxWsqnBhfaTI7nRA6UpOpcFP7lfrv2d4Ww5J/s320/ServiceGroup.jpg" width="320" /></a></div>
<br />
<br />
4. Start RapidStart Services in the Mobile Connector software<br />
<br />
After doing this, I was able to successfully Approve via email link.<br />
<br />
I suspect that Step #3 is most likely what fixed this here, however, I think the other steps could be helpful.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzG3nTB1vGl-shgr0oirJ3u1tYOpGE2FQhqrdAb8TuhAR-XNbbtSV46KSaRSstlI6ijM0agEi5651EOAnP78OS0YtZnU-aDYkxSBZwnNxet2h3sR2G-Q0osmNYKZCzC34OFHOM3iXQD2xX/s1600/ServiceGroup.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a></div>
Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-15797109264882551452018-10-12T11:05:00.001-07:002018-10-12T11:05:13.049-07:00AX Workflow 'Stopped (error):'I received this error on my Timesheet workflows. There is no error given in the workflow nor in ANY event logs.<br />
<br />
The solution actually ended up being pretty simple. A reboot of our AX AOS Batch Server solved the issue.Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-56942599150987331702018-09-17T09:13:00.000-07:002018-09-17T09:13:04.918-07:00The User Control has caused a compilation errorAfter moving some code into my testing environment, I received the following error:<br />
<br />
<br />
<i>Message: The User Control ESSActivityPicker.ascx has caused a compilation error. To view details about this error, enable debugging in the web.config file or view the Windows event logs.</i><br />
<i><br /></i>
<i>Source: System.Web</i><br />
<i><br /></i>
<i>Exception details:</i><br />
<i><br /></i>
<i>c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ep\ESSActivityPicker.ascx.cs(33): error CS0234: The type or namespace name 'EPGlobalParameters' does not exist in the namespace 'Microsoft.Dynamics.Portal.Application.Proxy' (are you missing an assembly reference?)</i><br />
<i><br /></i>
<i>at System.Web.Compilation.AssemblyBuilder.Compile()</i><br />
<i>at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()</i><br />
<i>at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)</i><br />
<i>at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)</i><br />
<i>at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)</i><br />
<i>at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate)</i><br />
<i>at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath)</i><br />
<i>at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxUserControlUpdatePanel.LoadControl()</i><br />
<i><br /></i>
Now, the reason for moving code was to fix this control and fix the error listed above. When I opened the control up on VS 2010, line 33 is commented out and should not be in error. When I compiled in VS, it compiled just fine.<br />
<br />
After searching for a while I finally gave up and went on my EP server. I browsed out to the 'ep' folder listed in the error and checked the file. Sure enough, my changes to code were NOT reflected in this file. <br />
<br />
I simply edited the file, commented out the code, and then tried EP again. It worked! No issue at all any more.Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-85063190477727333952018-08-30T11:06:00.000-07:002018-09-04T12:23:43.068-07:00System can't cast 'LedgerJournalEngine)' to 'LedgerJournalEngine_VendInvoice' in BatchI came across an issue recently where my Timesheets wouldn't post in 'Batch'.<br />
<br />
It turns out that it wouldn't perform the following code in 'Batch', but would be fine doing it in the Client.<br />
<br />
LedgerJournalEngine_VendInvoice ledgerJournalEngine;<br />
ledgerJournalEngine = LedgerJournalEngine::construct(LedgerJournalType::VendInvoiceRegister);<br />
<br />
If we go to the 'construct' method, we will see it returns the 'default' in the switch case:<br />
<br />
default :<br />
ledgerJournalEngine = new LedgerJournalEngine(_formRun);<br />
<br />
When running this in the client, it works fine. When running it in 'Batch' on the server, it fails:<br />
<br />
Unable to cast object of type 'Dynamics.Ax.Application.LedgerJournalEngine' to type 'Dynamics.Ax.Application.LedgerJournalEngine_VendInvoice'.<br />
<br />
This does make sense that you can't cast a 'Child' class to it's 'Parent', however, why would this work on the Client but not in Batch?<br />
<br />
UPDATE:<br />
<br />
The answer here is that in X++, this is allowed. Thus, the client works.<br />
In CIL, it is a bit more strict and it is not allowed, therefore it fails in 'Batch'<br />
<br />
Simple solution is to just make this 'LedgerJournalEngine'. That is the type that is being returned anyway so it works just fine.Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-34666595778826002892018-08-20T07:01:00.000-07:002018-08-20T07:01:11.580-07:00AX 2012 Enterprise Portal - Server error in '/' Application<div class="" style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
After performing a code deployment (modelstore import), we attempted to update our 2 EP Websites with:</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
axupdateportal -updateall -websiteurl <a href="https://mysite.mydomain.com/Sites/DynamicsAX" style="box-sizing: border-box; color: #007f88; font-size: 15px; text-decoration-line: none;">https://mySite.mydomain.com/Sites/DynamicsAX</a></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
With each one having it's own 'mysite' address.</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
1 of our sites worked perfectly, however, the 2nd site wouldn't allow axupdateportal to run due to this error:</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<em style="box-sizing: border-box;"><b>The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:10:00'. ---> The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:10:00'. ---> The read operation failed, see inner exception. ---> The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:10:00'. ---> An existing connection was forcibly closed by the remote host</b></em></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
When navigating to the site this is what we see:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiTJgsvJ9itOHZ1k-EnufnpfzONXwKHj270yov3XmZ0pEbRcoiVD8v5HtJAHzjmi76hmcTzxzxCtyk1aNa9f1bzuzyol8Q5laFRN9FCiLza73sw5wplBlLGD0BdhwuKHs4HuwPRO5FrgK4/s1600/Error.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="991" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiTJgsvJ9itOHZ1k-EnufnpfzONXwKHj270yov3XmZ0pEbRcoiVD8v5HtJAHzjmi76hmcTzxzxCtyk1aNa9f1bzuzyol8Q5laFRN9FCiLza73sw5wplBlLGD0BdhwuKHs4HuwPRO5FrgK4/s640/Error.jpg" width="640" /></a></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
If you could scroll all the way to the bottom, it would seem that ALL 'Proxies' are showing the same error of:</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<i><b>CS0234: The type or namespace name 'AX' does not exist in the namespace 'Microsoft.Dynamics' (are you missing an assembly reference?)</b></i></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
After doing some reasearch, I found this <a href="https://organicax.com/2015/09/24/the-type-or-namespace-name-ax-does-not-exist/" target="_blank">post and video</a>. This video turned me on to my web.config file which had the same problem as in the video. My web.config file had NO reference to Dynamics. </div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
Thankfully, I had a backup of this file from a few days prior. Once I put the correct web.config file in worked perfectly.</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
However, I am still unsure about the 'socket' error I was getting when trying to use AxUpdatePortal... To be continued...</div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #2b2b2b; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 18px; font-stretch: normal; line-height: 1.33; margin-bottom: 0.5em; margin-left: 30px;">
<br /></div>
Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0tag:blogger.com,1999:blog-423831008800861797.post-53103966445871267602018-08-16T09:15:00.000-07:002018-08-16T09:15:07.985-07:00AxUpdatePortal 'Document Moved' errorWhen trying to run AxUpdatePortal -UpdateUrl -websiteurl https://myWebsite.domain.com/Sites/DynamicsAx I was receiving the following error:<br />
<br />
<br />
System.Net.WebException: The request failed with the error message:<br />
--<br />
<head><title>Document Moved</title></head><br />
<body><h1>Object Moved</h1>This document may be found <a HREF="https://uat-ep01.vipernet.net/_layouts/EPDeploymentService/EPDeploymentService.asmx">here</a></body><br />
--.<br />
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)<br />
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)<br />
at Microsoft.Dynamics.Framework.Deployment.Services.EPDeploymentService.DeployEnterprisePortal(String virtualServer)<br />
at AxUpdatePortal.Program.Deploy(String[] args, String webSiteUrl)<br />
at AxUpdatePortal.Program.Main(String[] args)<br />
<br />
This simply ended up being the wrong 'domain.com'. Once I put in the correct domain, all was well.Bradhttp://www.blogger.com/profile/05328248031071623888noreply@blogger.com0