Home | Forums | Contact | Search | Syndication  
 
 [login] [create account]   Monday, November 25, 2024 
 
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!
 Architect Forums - SalesLogix .NET Extensions
Forum to discuss the use of .NET Extensions in SalesLogix version 7 and higher. View the code of conduct for posting guidelines.
Forums RSS Feed


 Back to Forum List | Back to SalesLogix .NET Extensions | New ThreadView:  Search:  
 Author  Thread: Refresh Sales logix from 3rd party app
Terry
Posts: 14
 
Refresh Sales logix from 3rd party appYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 19 Apr 11 12:24 PM
fiogf49gjkf0d

My company has developped a quoting application that is launched from a .net extension inside of SalesLogix.


The quoting application uses SData to add opportunities and Quotes (Sales Orders) to Sales logix.  This all work great, but it would be nice to refresh The currently executing SalesLogix UI once the opportunity is added


The .Net extension has a listing of Quotes created by the quoting application and provides references to the Opportunity createdf for each quote. Using F5 from within sales logix is workable but lacks the policsh I would like to provide.


I tried adding a refresh button in the .net extension and that refreshes the data grid but Application.BasicFunctions.RefreshMainView (); does not appear to refresh the entire main voew as it should.


I would like the third party application to initiate the refresh of sales logix.  


I tried initiating a process using the URL shortcut but that didn't work. (This does work for launching the SLX UI to a specific mainview though)


string contactID = "C6UJ9A0009RM";//just using a known contactid for testing contactid is typically associated to our quote object

Process myProcess = new Process();

ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("rundll32.exe" );

myProcessStartInfo.UseShellExecute = false;

myProcessStartInfo.Arguments= string.Format("url.dll ,FileProtocolHandler slx:CONTACT/{0}", contactID);

myProcess.StartInfo = myProcessStartInfo;

myProcess.Start();


Any ideas?

 


 


 

[Reply][Quote]
RJ Samp
Posts: 973
Top 10 forum poster: 973 posts
 
Re: Refresh Sales logix from 3rd party appYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 23 Apr 11 9:32 AM
fiogf49gjkf0d

I don't know where your datagrid is in relationship to your quoting system.....but the basics are:


1. your application updates database tables


2. retrieve the records desired into an ADO Recordset (variety of ways to do this including stored procedures, ADO command objects, SQL udf table functions, SQL, et al)


3. Set the Gridcontrol record set to your retrieved recordset in step 2. THAT is a grid refresh and the user sees the updated data from the database if the grid is visible on the focused Tab that they are viewing.


An F5 refreshes the data (saves UnSaved data changes in SLX recognized controls that are databound to the SLX database on SLX forms).


This includes firing off an AXFormchange on the Detail view that the user is currently on (Account, Contact, Opportunity, et al....and not ALL!)...runs a refresh on the GROUP that you are on, runs an AXFormChange on the Middle View tab form (if any)....and runs an AXFormChange on the Tab form (which might include refreshing your grid using SQL, or Recordsets, or BINDID, et al AND AND AND might include a (redundant) second refresh (or more) that you just did in step 2 and 3)


A Control F5 (RefreshMainView) refreshes several COLLECTIONS from the database and fires off Global Scripts and refreshes all of the MainViews.....usually overkill.


 


My recommendation is to retrieve your data into a recordset and throw it into the grid control to refresh the grid data....we do this 99.99% of the time


 


If you are updating\inserting 1 or more Opportunities then an F5 is appropriate.


 

[Reply][Quote]
Terry
Posts: 14
 
Re: Refresh Sales logix from 3rd party appYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 25 Apr 11 3:48 PM

Perhaps I was not clear enough.  I'll try to clarify what I want to do.


 


I have created a .NetExtension QuoteLauncher that has a DataGid and a few controls for launching our internally developped quotng application.


The Quotuing Application IS NOT hosted inside sales Logix and has no reference to the ISLXApplication object.


Ideally, when a user creates a new quote with the quoting application I would like to refresh the current saleslogx main view (Contacts).


Currently, the user has to return to sales logix and press the F5 key. since they don't always remember it would be nice if I could do the job for them.


I do have a "Refresh" button on the QuoteLauncher, that refreshes the list of quotes created with the quoting application, unfortunately I have had no luck in refreshing the SalesLogix client from within the .net extension.


 


I just think it is rude to ask the users to constantly press F5. I don't understand why slxAplication.MainViews.ActiveView.Refresh() is not refreshing the clien like it should.


 


All kind of puzzling.

[Reply][Quote]
Lane
Posts: 121
 
Re: Refresh Sales logix from 3rd party appYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 26 Apr 11 11:19 AM
fiogf49gjkf0d

It's been a while and i don't care to remember the api that carefully but ... You can access the client interface using several tools gad get access to the doevents or doinvoke interface. From that you can launch whatever you want inside the interface, including pushing your own script in (used to do it in v3/4/5) and that interface still exists. That gets you pretty much everything!


I used to launch an exe, sometimes from slx, sometimes to interogate the active connection, it made a com call back into slx and got a connection. At that point i could write the script in my app, puch it back to the slx interface where it'd compile on the fly, execute and drop the results into a global for retrieval. Once that block of code is firing, you can do anything, including interogate any active slx login, make updates, fixes, reports whatever without needing to load anything in the db (or login for that matter). This interface has been around since the dark ages. Current security might have tightened the holes and forced a login but assuming NT authentication, you're in.


Specifically, for you. Write a script that walks the forms collection and refreshes all active/visible forms. Place a Custom script on any forms that need manual refreshing and call the process if it exists. I've had to do it in a few specific cases where looping occured, but usually you can fix the form so the parent form refresh updates everything without doing this.


 


 

[Reply][Quote]
RJ Samp
Posts: 973
Top 10 forum poster: 973 posts
 
Re: Refresh Sales logix from 3rd party appYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 26 Apr 11 1:00 PM

I don't know of a way to 'talk' back to the specific instance of the SLX Application that your user is running.....but then again I'm not a .Net developer....someone else with more knowledge than I will have to chime in.

[Reply][Quote]
 Page 1 of 1 
  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!
 

 
 slxdeveloper.com is brought to you courtesy of Ryan Farley & Customer FX Corporation.
 This site, and all contents herein, are Copyright © 2024 Customer FX Corporation. The information and opinions expressed here are not endorsed by Sage Software.

code of conduct | Subscribe to the slxdeveloper.com Latest Article RSS feed
   
 
page cache (param): 11/25/2024 7:08:59 PM