Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Mike Hatfield

#1
I get a Microsoft Pick an Account error when clicking on the link to register for the AI Assistant.

Selected user account does not exist in tenant 'PVX Plus Technologies Ltd' and cannot access the application 'c9a.....' in that tenant. The user account needs to be added as an external user in the tenant.

My email address with PxPLus is my Microsoft Business email.
Mike Hatfield
#2
We have been experimenting with Copilot. We have a company subscription.
First we point the AI to the online documentation.
I have tried asking AI to improve the code in a couple of short and simple programs.
First thing is that it removes some of the Comment lines already in the program.
It does add functional Comment lines.
It attempts to add multiple error branches and reporting.

Second effort, we asked AI to read our customer payments history and produce a summary report of one line for each customer with a grand total.
The basic flow in the program was OK but it comletely screwed up its for next loop code.
It was trying to add each customer to an array and then accumulate for the customer in the array.
It was a total mess and didn't work.

We have a program that creates html code for emailing out invoces etc.
I asked it to improve the html. Since the html was ok to start with it only made a couple of minor changes.

I would be interested in which AI you are using and how you are doing your requests.
You certainly sound like you have made good progress.

Mike Hatfield
#3
There is the PxPlus WebServer and Webster+. The question is about a secure way to expose user data for online orders and enquiries. I would not recommend direct access to the user data. Way too easy for a competent hacker to get through to the live data snd then to the client network.
What is the recommended best practice to achieve this.
We have some clients that use Magento and we keep Magento updated with latest data. Orders are downloaded in JSON by a background task that connects to Magento and imports the order into the application.
I guess another way would be to user the PxPlus file sync service to keep a copy of the data up to date on a separate server. You could then use Webster+ as the web interface.
What tools or methods would you use to interface with something like Wordpress?
Thanks
#4
Nomads / Re: SELECTING A LINE OR LINES FROM A LIST BOX
October 21, 2024, 05:12:38 PM
James,

Great explanation.
I shall try this and report back.
Thank you.
#5
Nomads / Re: SHOW CONTROL
October 21, 2024, 04:25:21 PM
Thank you everybody for the help and comments.

Four days of frustration could have been avoided if the documentation noted that SHOW/HIDE doesn't apply to Fonted Text as it does for other controls.
In fact, from what I'm reading in these replies the documentation should be amended to recommend that Fonted Text not even be used as it's historic and retained for compatibility.
#6
Nomads / Re: SHOW CONTROL
October 19, 2024, 07:01:17 PM
MARTIN - Header has suppress.val checked.

I think you are right SHOW does not work with FONTEWD TEXT
Jean - I have finally got the SHOW to work with MULTI_LINE as you suggested.
HOWEVER, I had to move the directive from the initial section of the program to where the List Box is loaded.
I initially thought I could ECEUTE the code in the HEADER at POST-DiSPLaY but that didnt work either.
Now that I have changed to MULTI-LINE POST-Display works
Nomads is such a confusing product.
Some good working examples would be so much more helpful.

Thanks
#7
Nomads / Re: SHOW CONTROL
October 19, 2024, 02:18:55 AM
Still doesnt work
#8
Nomads / SHOW CONTROL
October 18, 2024, 01:41:42 AM
If my panel I have a fonted text control named SELECT.TEXT with some instruction text for the user.
The attribute is "Initially Hidden"

There is an argument in the calling program ARG_4$
When it is set to "INVOICE_ENTRY" I want to SHOW the control on the panel.

I've added this line to the default program.
If ARG_4$="INVOICE_ENTRY" SHOW CONTROL SELECT.TEXT
I can't get this to work
Why Not??

THanks
#9
Nomads / Re: SELECTING A LINE OR LINES FROM A LIST BOX
October 17, 2024, 07:03:56 PM
Again thank you both.

I am now more confused.
Clearly I am misunderstanding how this process works.


I want to highlight a selection of rows which will be returned to the calling program. These rows will be highlighted with a chosen colour for identity purposes. If I click on the row again I want the row to be unselected. I only want to pass the selected (highlighted rows) back to the calling progam.

Based on your previous replies these are the only ticked atrributes:
In Atttributes I have ticked Tab Stop
In Formatted ListBox Attributes I have ticked Multiple Selection
 
In Logic
I have a default Program
I have selected Perform in "When Entry is Selected from List Box"
This points to the code label "LINE SELECTED" in the default program.

I am unable to highlight multiple lines as per Jane's reply with a chosen colour.
If I could highlight multiple rows, how are those rows captured in the Perform above?
In my current code I can't remove a selected row from my returning string.

This is my Line Selected Code

The code creates a list of the selected rows, Adds a counter at the beginning of the list and a "!" separator between the selected rows so that I can parse it in the calling program.
00740 LINE_SELECTED:
00750  IF POS(_EOM$=$020D$) \
        THEN LET XXX$=LB.CTL'VALUE$;
             IF POS(XXX$=ARG_3$(4)) \
              THEN RETURN
00760  SELECTED++;
       LET ARG_3$(1,3)=STR(SELECTED:"000");
       LET ARG_3$=ARG_3$+STR(LB.CTL'CURRENTITEM:"000")+LB.CTL'VALUE$+"!"
00770  RETURN
#10
Nomads / Re: SELECTING A LINE OR LINES FROM A LIST BOX
October 16, 2024, 09:14:25 PM
Thank you both.

Now that I can double click a row I want to leave it highlighted with a colour.
The aim is to select one or more rows from the list box and return them to the calling program for processing.
This I have achieved but I want to highlight the row(s) with a colour as it/they is/are selected.
What is the property to do this?

Thanks
#11
Nomads / SELECTING A LINE OR LINES FROM A LIST BOX
October 16, 2024, 02:26:20 AM
I want to select a line or lines from a list box containing product sales information.
The list box is PROCESSed from invoice entry.
I only want the line in the list box to be added to the output from the process on a double click.
Currently a single click selects the line.
In the Nomads panel I have put an entry in the "When Entry is Selected from the List Box" to Perform a code section in the main program.
LINE_SELECTED:
  SELECTED++;
       LET ARG_3$(1,3)=STR(SELECTED:"000");
       LET ARG_3$=ARG_3$+LB.CTL'VALUE$+"!"

This works perfectly in sending the value of ARG_3$ back to the invoice program.
However, I don't want to select a line just by pointing the mouse and highlighting it.

I hope this makes sense.
Thanks
#12
Language / Re: Easiest way to create an XML file
June 03, 2024, 05:20:41 PM
Hi Mike,

I will try this irrespective of whether the object can handle the whole xml.
Thanks
#13
Language / Re: Easiest way to create an XML file
June 02, 2024, 05:19:41 PM
Hi jane

I tried it, works well however I need to create XML for a specific EDI enabled provider.
They require the name tags on each element within the node.

I used the *obj/xml to create xml with specific name tags.
This works well for small XML string creation however I suspect the XML string it will create for my purpose will be too large for a call to handle.
What is the best way to create a large XML string?
It would be great if the obj/xml had a write to file option.
Thanks
#14
Language / Easiest way to create an XML file
May 31, 2024, 01:22:48 AM
Hi All,

Is there a program or utility that can read file with a dictionary definition and Output it an XML file 
Thanks
#15
Nomads / Re: Library Query
May 29, 2024, 08:46:44 PM
Hi Jane,
Is there a reason why you chose %C and %S?
As I understand it, these two global variables are reserved and inbuilt into PxPlus and are also linked with ODBC as 'Session ID' and 'Company Code'.

We use %C and %S extensively throughout the dictionary in the file name expression for most of the application files.
EG "./comp"+%S$+"/APTR"+%C$

We set these two Globals in the application session startup, Local and WindX.
If we change the value of these in this program will it 'screw up' the normal operation of file access in the Dictionary in the current session or other sessions or separately in ODBC?

I decided not to use %C$ and %S$ just in case.

In my program I have set a variable %SEQN$=str(int(tim)*1000)
In the Dictionary the file NAME is "General Ledger Enquiry" and physical file is Expression "./WKFL"+%SEQN$
01010  CLOSE (8);
       LET FILECHAN=8;
       LET %SEQN$=STR(INT(TIM*1000));
       LET WORKFILE$="WKFL"+%SEQN$
01020  ERASE WORKFILE$,ERR=1030;
       GOTO 1020
01030  CALL "*dict/dd_updt;update_physical",ERR=9700,"General Ledger Enquiry","","",ERRMSG$

The Query file name is Fixed "General Ledger Enquiry"

Now my program works.
I think including FID(0) in the workfile name was causing a mismatch between the dictionary and the query.
Once I removed FID(0) it all worked.
How nice to 'waste' 1.5 days trying to do something that intuitively you knew should work but stymied by an intenal variable.  :(
Thank you for your input.