URL's to either full Epicor client or Web Access?

We create quite a bit of tools that live outside of Epicor but reference Epicor data. The issue is there’s been on easy way of allowing our employees to link from these lists with url’s back to the Epicor data without copying and pasting.

Is there a way, say for like a job number, via a URL to launch and open a job tracker in either the full client or the web interface? I appear able with the long URL fire the web interface and open job tracker but not pull in a specific job number.

http://epicorweb/EpicorWebAccess/Erp.UI.JobTracker.JobTrackerForm.aspx?source=opener&formNS=Erp.UI.App.JobTracker&formidx=0&menuID=JCGO3003&LangID=enu&UserInfo=net.tcp://EPICORAPP/EPICOR10/~DS~MfgSys#

Sure thing use the Send Record to File feature

This creates an XML that is understood by the epicor client which launches the specified record in the fat client. You’ll have register .sysconfig files in the workstation to launch with Epicor.exe but it should work.

Then from your interface you generate an equivalent XML file and have your user “Open” it

2 Likes

Good question.
In the rich client you can perform a File->Send which will create a .sysconfig file. These files can be crafted to contain the record data to open the relevant form with the data prepopulated. I would expect if you are wanting to do this via the web you may need to get the form to open in the Epicor Light Weight Client. I have not done this, but do it for Case management in E9 by the file as an attachment in a BPM email.

I’ll be interested to see other peoples contributions on this as I know I will be needing to do something like this in 10 down the track.

Jose just beat me to to it…

1 Like

To add to Jose’s comment. I use a template XML file and then do a replace on the tags that I need to update. I store the template in the Epicordata directory.

Here is a sample but it is for E9 Case management.Case_Entry_Template.mfgsys.xml (8.8 KB)

I had to add .xml to the file so take that off.

2 Likes

Not sure this will work for what I’m asking, unless I’m misunderstanding what you’re suggesting. I’ll have a web page that lists dozens of jobs. What I wanted was the ability for each of those jobs to be a dynamically generated URL on the backside (i.e. href=server?jobnum=####) so that they’re clickable and opens the respective window (either in full client or web client).

Right this will work for the full client

So what I would do is have the link href to an updated version of the mfgsys file (changing the value for the jobnumber). If the user has the Epicor client on their PC and you have a file association for the mfgsys file then it should open up the client, even if it is not running.

Try it out go to the Full client open up a job in job entry and save the file as Jose suggested. Close the client then double click on the file. Magic should happen. You should be able to translate that to behind a link in the web page, What are you building the web page in?

I’m very interested in this, it’s something I have considered in the past and never dug into it much as short of the File > Send feature I couldn’t figure out how to make it dynamic.
For instance, if I understand what @pbparker is saying, is that he has outside systems that have some of the Epicor key field data, such as Job Numbers and these outside systems can or can be queried to generate HTML URL links… likewise, if I were in Epicor I could use a BAQ/Dashboard to create dynamic URL links, like for dynamically creating a QR code:


But with what has been posted so far and from what I’ve looked into in the past, is that what the Epicor client needs is the .mfgsys file which the OS can recognize as a file to be opened by the Epicor client (but I found this file association does not happen on install and needs to be created manually or with a GPO or logon script) and it contains the key data to open that record in Epicor.
And Simon mentioned he uses a template… ok, so how do we dynamically on the fly dynamically change the content of the template as it’s downloaded? Is that what is needed or am I missing something simpler here. Cause all @pbparker really seems to have is a Job number for his URL link.
Maybe I’m missing something,but it sounds like there needs to be a script or something that his URL points at and passes the Job number and that script then takes the template, replaces ‘token’ data with the passed Job number and offers that to the browser for download.
:exploding_head:

To do it dynamically I would use a web scripting language, like C# to build the webpage smarts, or Php

If you don’t have full Visual Studio, you should be able to use VS Community to do this, which you will probably have if you are doing debugging. I recall that was mentioned in another post.

You could probably do something similar with the QR Codes, I am sure there is a library which would do all the work, or even more fun a REST API on the internet somewhere.

1 Like

I’ve already related the sysconfig extension to Epicor and yes, it properly opens up the job tracker as everyone has said. However, as Rick indicated - what exactly am I looking to script on the web page, the entire sysconfig logic or just something to pass the job number into the execution of the sysconfig call?

This is 10.1.600.6 I’m on and I’m using PHP for the logic of the web pages. The purpose is I’ve created a web based dashboard for all upcoming jobs by resource groups and resources by date that allows the assigning of employees to individual ops.

1 Like

If your using Php you should be able to dynamically create the file based on the template, use PHP to replace the relevant strings and there you go.

Probably oversimplfied that a bit, you may need to create a file for each jobnumber as the page loads. That might cause a bit of overhead.

1 Like

Anyone actually done this? I have thousands of ops and thousands of jobs, I would really prefer not to have to generate thousands of files on the web server to launch from. Was hoping for a more dynamic process where the clicking of the job number executes.

You don’t have to generate thousands of files… have the files generate on the fly when they Click the button.
You save a copy of the “sample” xml file which looks like this and you store it on the server


But replace the RecordID with a easily unique “template” flag for example {REPLACE_ME_AT_RUNTIME}

Then when the user clicks “Launch In Epicor” you simply read the XML File in do a replace of your {REPLACE_ME_AT_RUNTIME} with the PartNum that you want and output that file down to the browser which will prompt you to “Save” or “Run” if the user clicks “Run” it will launch Epicor proper.

3 Likes

See this Post

2 Likes

So given @josecgomez example I’m thinking something like this might work for PHP…

(this was just thrown together in notepad as I thought this through, not tested or anything at all!)

So with a URL link of something like:
http://yourwebsiteserver/location/OpenEpicorFile.php?tmpt=job.mfgsys&key=123456
and the contents of OpenEpicorRecord.php would have something like this in it:

<?php
$tmplt = 'path/to/templates/' . $_Get['tmplt']
if     (file_exists($tmplt)) {

$file = file_get_contents($tmplt);

header('Content-Disposition: attachment; filename="OpenJob.mfgsys"');
header('Content-Type: text/plain'); 
header('Content-Length: ' . strlen($file));
header('Connection: close');

echo str_replace('{REPLACE_ME_AT_RUNTIME}', $_GET['key'], $file);
exit;
}

?>
4 Likes

Got it, makes sense now, thanks folks. Will work on a php script today and report back on how it goes.

Thanks @Rick_Bird #ShortOnTimeToWritePhP :wink:

1 Like

Also to reiterate @Jaicker_Avila post, if you have webaccess installed and have it working you probably don’t even need php, just the link as he provided an example in his post here

2 Likes

Yeah, I have already tried that and it works. I like the idea of having two links personally and allowing the user to select whether they want to launch the web client or the full client - so I’m going to write both methods.

post back with the final product if you can get it working.
(I’m curious how bad I butchered that PHP)
:wink:

1 Like