One of the powerful aspects of the Navigator NX SQL server is an built in Webserver and powerful scripting functionality. Because the scripting engine has access to the database it's possible for the Webserver to generate all manor of useful information that can be displayed in a web browser on screens in your offices and warehouses.
This is an advanced facility that is not covered by our standard support contracts, and only "power users" with IT skills are likely to have the ability to produce their own scripts. However, as an example of what can be achieved we are pleased to provide a "sample web app", which is a "White Board" to show the warehouse staff what lists still require prepping.
The web page auto refreshes and shows lists that haven't been fully prepped and are due out today or the next few days. The header colour indicates the status and the salmon background indicates subhires.
To install the script, simply follow these steps
- Download the attached DayBook.zip file.
- Extract it to it's own folder, keeping the structure of the folders from the zip
- Give the user that runs the Navigator NX server (by default Navigator_SQL) access rights to this folder and files
- Navigate to the Users page of the Navigator NX server (via it's web interface) and create a new user called DayBook, choose a password and set the Tokens to RW. Press Add User and then Press Save Changes
- Navigate to the Alias page and make a note of the Alias Name.
- Navigate to the folder created in Step 2 and open the file index.nxscript using NotePad.
- Edit Line 8 - MyPassword = 'PPPPP'; to whatever password you chose in step 4 e.g MyPassword = '1234';
- Edit Line 5 - DataBaseAlias = XXXXX'; to your database alias e.g DataBaseAlias = 'Live Data';
- Save the index.nxscript file.
- Navigate to the AppServer - Webscripts page of the Navigator NX server
- Enter the Display Name as Warehouse Day Book
In the Base directory field, enter the name of the folder you created in Step 2, make sure that it's the full path to the index.nxscript file.
Leave the Authentication Method as NONE - we don't want users to have to login via their browser to run this script
Choose a Port that's not in use by any other application - I've used 10077
Check the Active box
Press the Add Application button and then Press the Save Changes button - Open up your browser and navigate to the Navigator NX SQL server's address, but instead of port 10088, use port 10077 e.g http://127.0.0.1:10077
NOTE: this sample application is supplied "as is". We think that it's useful in it's own right but should you want assistance to modify it, or have it modified by us, or have any other web interface supplied, then this work does not fall within your standard support contract and would be considered to be a chargeable service. P.O.A.
Comments
34 comments
Is there any easy way to only display one warehouse's activities?
How can I display both OUT and BACK on the Day Viewer? I was trying to find the right references in the database, but I find it impossible to understand the db design.
First off: the Day Viewer is amazing. As soon as I set it up at the shop everyone here fell in love with it.
...And then someone had to ask if there's a way to have active/fully prepped jobs remain visible on the day viewer...
I'm not a coder so i was wondering if there's a (simple) way to achieve this. Either way thanks so much for this awesome tool!
UPDATE: Figured it out it's line 37 change the <> to = If (aQuery.fieldbyname('Sum_PreppedQty').asstring = aQuery.fieldbyname('Sum_Quant').asstring) then
begin
set up a separate "Active book" and seems to work great. Thanks again for this awesome tool!
I am wondering if there is an answer to Mathew's question about only displaying one warehouse's activities? Also I am wondering if there is displaying warehouse transfers in a separate way or on a separate screen in a similar method as David talked about with the Active Book.
David
UPDATE: Figured it out it's line 37 change the <> to = If (aQuery.fieldbyname('Sum_PreppedQty').asstring = aQuery.fieldbyname('Sum_Quant').asstring) then
begin
Did you replaced the line 37 for = If (aQuery.fieldbyname('Sum_PreppedQty').asstring = aQuery.fieldbyname('Sum_Quant').asstring) then
begin
Could you how it looks like line 35 to 38 ?
Hello ,
Can you advise someone able to create a script for planner book , crew task ... ?
thanks
Stéphane
Matias
only change i made was: replace <> with = in line 37
everything else stays the same from daybook
Hi
just found this and have it up an running no problem.
Trying to get my head around the script to expand to 7 day output.
Cheers
Lindsay
A 7 day version would be cool. One thing I have been trying to figure out is how to get real dates into the column headers instead of Next Working Day and Next Working Day +1, etc...
Also, I have modified mine quite a bit and have a few different flavors if anyone is interested. I might need to clean them up a bit first though. I have:
Eqlists going Out
Eqlists Coming Back
All Transport requests including Transport Tasks.
Hi Keith,
I think you will find quite a bit of interest.... andrew@enlx.co.uk :-)
I'm really keen to find a way to display to do equipment lists to be returned! Transport display sound neat.
Many thanks
Andrew
We have tried a few different options page space wasn't working brilliantly on additional columns for us, everything seemed quite bunched up when we got much over 5 columns and the information became less useful. We have now moved to a list view that shows a little more information per a line but is more desktop friendly and has a load of links to further information (all in we now have about 40 "toolbox" pages)
Keith regarding dates if you just want the specific dates the easiest option is:
For today: output.writeln(DateToStr(Now))
For tomorrow: output.writeln(DateToStr(Now+1))
For day after: output.writeln(DateToStr(Now +2))
Challenge with this page is the "Next working Day" in the default file returns multiple days if you are looking at the end of the week. To get around that I would probably just copy the "if(curDay < 5) then" section up to the column headers and just get it to put in the correct dates based on which day of the week it is.
If you want day names that is doable:
First up in the variables section you need to define an array (this is basically just a list of different text items):
var
LongDayNames : array[1..7] of string;
In the general code area you need to then populate the array:
LongDayNames[1] := 'Sunday';
LongDayNames[2] := 'Monday';
LongDayNames[3] := 'Tuesday';
LongDayNames[4] := 'Wednesday';
LongDayNames[5] := 'Thursday';
LongDayNames[6] := 'Friday';
LongDayNames[7] := 'Saturday';
Then where you want to output you need to: (The "DayOfWeek(Date)" function returns a number 1-7 based on the day of week)
LongDayNames[DayOfWeek(Now)]
Hopefully that makes sense!
Thanks Colin, that is awesome! I will give it a whirl.
Andrew, give me a couple days to see what type of cleanup will be required. Right now they are very customized to our business. I'll go in with broad strokes, but you might need to tweak them a bit for your business.
Colin and Keith. Fantastic.
Quick question - what is the programming language? Delphi??
nxscript is a variation of PascalScript and almost all the online resources related to that apply.
There is a little information here:
https://www.nexusdb.com/support/index.php?q=web_applications.htm
The server also comes with a couple of example nxscript files which give a little more insight into how it works,
I was able to finally get the dates into the column headers per Colin's suggestions. It turned out very good!
Hi All,
Has anyone built a Sales Dashboard?
Our sales team are wanting to have QPC by person by month ect
Many Thanks
@Mark
No sales dashboard here, but off the top of my head it would seem that any eqlist based design should be rather easy to convert to a sales-only version with one line of code in the SQL. I could be wrong though as I haven't looked at it in a long time. What happens when you run the version here that is available for download? It would seem as though the code in that version is a little old, and therefore should display ALL types of lists, including sales lists. Is that the case?
Mark Buckley - when you say Dashboard, do you mean this, which is based around QBEs
or do you mean a web board of some kind ?
Either way we can write something for you. Just drop a ticket in to support and they'll give you an idea of the price.
Hi Keith Boreham ,
Much interested in your " eqlists coming back " viewer. :) Would you be able to send my way when you have the chance?
Thank you!
Best,
Dave
david@alny.net
Sent to David, and I'm happy to share with anyone else. To reiterate, I have 3 Daybook viewers that were derived off of this original design. All 3 are very different from the original though.
The Eqlists Out and Eqlists Back viewers were used by Operations, and they were on a computer at the back door of the shop. The idea with these was to alert Operations of everything that was supposed to come in and out of that back door throughout the day. This includes both Eqlists and Subhires. Project Managers found it helpful too. It does not track the status of the prep as the original viewer does.
The third one is for Transport, which shows all transport requests for the 3 days. These include transport tasks as well, so this one was also very helpful at the backdoor of the shop. We were able to keep everyone on the same page when it came to truck maintenance, and deliveries outside of Hiretrack. (Which we stored in the Planner Tasks). The tiles also display the vehicle allocation, which in our company were the driver's names. So for us, we could also see who the intended driver was for all Transport requests. If anyone is interested, just post your email.
Thanks Keith!
Hi Keith Boreham
We are also interested in those reports.
I enclose my email to see how we can implement these processes in our company
soporte@rampa.net
Thank you very much
regards
I have a new update to my Jobs Out whiteboard. This is the one that was designed as an overview of everything leaving the shop over the next 3 days... eqlists going out, and subhire's being returned to vendors. Well I have now added a new tile. If the eqlist has the Prep checkbox enabled, the tile then begins to appear on that date with a different tint. The tile then remains on the grid everyday during the prep until the day it goes out. The sample below shows the subhire return with the yellow tint, the preps scheduled have the orange tint, and then normal eqlists going out remain white. I'm happy to share the update with anyone who wants it. Just post your email address if interested.
Thanks Keith... Good stuff, as always.
Would you mind posting your code for your version of the Day Viewer?
If not, my email is: ccarpenter@absolutepros.com
Great work Kieth!
I would love to try out your Day viewers. They look great.
If it's possible I would be superglad if you could email the files to info@caligolighting.se
Thanks in advance!
Best regards
Mattias
Happy to share
Over the years, several people have asked me if a 5-day version of my Daybook scripts was available. The answer to that was always no.... until today! I now have a 5 column version of all 3 Daybook scripts for anyone who is interested.
The first one (Jobs Out) shows Eqlists which are due to go out the door, and also Subhires (in yellow) which are scheduled to be returned to their vendors. (Also going out the door). A 3rd feature of this script is that any Eqlist which has the Prep checkbox enabled will show up as an orange tile, and that tile will stay active every day until the Date Out of the list. The general idea with this script is to give the Operations Manager an overview of all things leaving the building over the next 5 days, and also a vision of the overall shop schedule.
The next script is the Jobs Back. This one is similar to the Jobs Out script, only is shows everything expected to return to the show (coming in the door), as well as Subhires which are due to arrive. (Also coming in the door).
And then lastly, is the Transport script which shows all Transport requests and Transport Tasks that are created in the Planner. Those tiles are shown in yellow once again.
Happy to share with anyone who is interested. Post your email. The code is quite extensive for these 3 scripts, so it's easier to just email them to you.
It is always good to have this information for the future.
soporte@rampa.net
Thanks Keith Boreham
Dark Mode versions of my 5 column scripts are now available... 😎
Please sign in to leave a comment.