11/26/2024 4:25:41 AM
|
|
slxdeveloper.com Community Forums |
|
|
|
The Forums on slxdeveloper.com are now retired. The forum archive will remain available for the time being. Thank you for your participation on slxdeveloper.com!
Forum to discuss the use of the SalesLogix Web Platform, Client and Customer Portals, and the Application Architect (For version 7.2 and higher only). View the code of conduct for posting guidelines.
|
|
|
|
Showing SmartParts with DialogService
Posted: 04 Sep 07 9:07 AM
|
I've been trying to find a workaround for the unsupported Forms action for Sales Processes in the web client. First of all, in OpportunitySalesProcess.ascx.resx, changing the "MSG_WebFromsNotSupported" name to "MSG_WebFormsNotSupported" will at least show the correct message, "Web Forms are no longer supported." That done, I've been playing with the DialogService functions ShowMessage and SetSpecs with ShowDialog. I've added my SmartParts to the Opportunity Detail page and I call DialogService.SetSpecs(150, 150, 600, 400, "ClientSatReportEntry"), where "ClientSatReportEntry" is the Smart Part ID of the SmartPart. Following this with DialogService.ShowDialog() should, as near as I understand, display the form in a format that looks like a modal dialog box. This is precisely the functionality I want. What I get, however, is something different. The ShowMessage function works as expected, or not at all. The ShowDialog function will render a box of the specified size with an "X" to close, but no form, or it does nothing. As to nothing happening, I assume the DialogService is not initialized, but I can't figure out when that gets initialized. Similarly, I suspect the SmartPart has to be added to the page, like Page.LoadControl() in a typical ASP.Net application using dynamically added user controls, but I can't find the method to do it. Any suggestions? Thanks, Eric |
|
|
|
Re: Showing SmartParts with DialogService
Posted: 04 Sep 07 12:15 PM
|
You are correct that the smartpart does need to be added to the page in order to show it, whether using the dialog service or some other means. To add it, simply open the page under the portal and then add the smartpart to the page. You can also specify there to add the SmartPart to the DialogWorkspace as well. |
|
|
|
Re: Showing SmartParts with DialogService
Posted: 04 Sep 07 1:04 PM
|
Thanks, Ryan. I've done this, actually. Here's the detail:
I created an Entity and a series of associated forms in a new package.
The Smart Part is added to the Opportunity Detail page in the Sage SalesLogix portal. Smart Part ID: ClientSatReportEntryForm Smart Part: Client Satisfaction Report Entry Form Title: Client Satisfaction Report Entry Form Target Workspace: DialogWorkspace Show In Mode: Detail (I've also tried Insert)
I modified the actionType switch in the executeAction function on OpportunitySalesProcess_ClientScript so that the 'Form' case now reads: ProcessAction.prototype.Init = Init_Form; boolExecute = true; break;
I created the Init_Form function in the same js file to read as follows: this.selectWithOption = ''; this.selectForOption = ''; this.selectForValue = ''; this.IsInit = true; this.Execute;
Then, I've modified the actionType switch in the DoAction function in the OpportunitySalesProcess.ascx.cs so that the 'FORM' case reads as follows: DialogService.SetSpecs(150, 150, 600, 400, "ClientSatReportEntry"); DialogService.ShowDialog(); result = DoWebForm(spAudit); break; I placed it there just to test the functionality, because DialogService does not seem to do anything when called from DoWebForm.
When I run SalesLogix in the web client, navigate to an Opportunity, select the sales process and click a step associated with a "Form" action, a dialog box appears of the correct dimensions, but it does not show the Smart Part.
I believe if I can get this working I'll be ready to rock to implement a long list of business processes and other customizations my company requires, but I can't get my mind around why it isn't working so far. Thanks again, Eric |
|
|
|
Re: Showing SmartParts with DialogService
Posted: 05 Sep 07 12:05 PM
|
Okay, I have no idea what changed. After a couple of days of brute-force debugging it works! I'm pretty sure I made some change to every detail listed above and have changed them back. Certainly, I can confirm the current state is exactly as I described it above. Have the gremlins fled? Did the web-development gnomes sneak in and fix something? I don't know, but thanks, Ryan, for affirming for me that my approach was correct. |
|
|
|
You can
subscribe to receive a daily forum digest in your
user profile. View the site code
of conduct for posting guidelines.
Forum RSS Feed - Subscribe to the forum RSS feed to keep on top of the latest forum activity!
|
|
|
|
|
|
|
|