xTuple.com xTupleU Blog & News Customer Support

Script broken in 4.11.0RC

I read all the release “change document” and did not find an answer.

Is there any changes in 4.11.0RC that involves changes to a script that works fine in 4.95
I am looking for any release /changelog type document that pertain to scripting changes?

Thanks!

I’m sure there are many such changes that would affect scripts. If nothing else, the underlying version of Qt changed between 4.9.5 and 4.11.0RC so anything that depends on specific properties of Qt objects may have broken. The scripting API is much bigger than it used to be - more Qt classes have been made available - but that would not break a script.

Can you please be more specific about what broke? If possible, attach your script here and tell us the specific failure - what behavior you see and how it differs from what you expect.

Gil

Thanks Gil!

I will take a deeper look and reprort my finding / script

After some research it seems that the filter widget is not retaining the options after closing.

Here is the pertinent portion of the script. It worked in 4.9.5 and 4.10

//get sales order number
var pItem = _list.currentItem();
var _so=pItem.rawValue(“lshist_ordernumber”)
var _pos=_so.lastIndexOf("-")
var _so = _so.substring(3,_pos)
//get cohead_id for this sales order
var result = toolbox.executeQuery(“select getcoheadid(’” + _so + “’)”);
result.first();
var _soid=result.value(0);

var params = new Object;
params.cohead_id=_soid

var wnd = toolbox.openWindow(“dspSalesHistory”, 0, Qt.NonModal, Qt.Window);
toolbox.lastWindow().set(params);
toolbox.lastWindow().sFillList();

setting the filter widget manually on that display and closing the display, the setting was not retained

adding the following to the script before the sFillList() made it work consistently.

toolbox.lastWindow().parameterWidget().applyDefaultFilterSet();

@lanwater

Good find!

This sounds like either bug 29385 or 29512, not your script and not the scripting API. According to our QA team these have been fixed in 4.11.0* and 4.10.2* if you run in free-floating mode. We found out too late in the development cycle that there is still a problem in workspace mode.

To switch modes:

  • open the User Account Preferences window
    • Linux and Windows - System > Preferences
    • Mac - xtuple > Preferences
  • click on the Free Floating Windows mode radio button about half way down on the left-hand side of the Application tab
  • quit and restart the client

Changing Qt versions between 4.9.x and 4.10.x unexpectedly changed the timing of certain events. As a result, we needed to move calls to ParameterWidget::applyDefaultFilterSet(), as you found.

Gil

*People are going to ask so … 4.11.0 and 4.10.2 will be available either today (Aug 17, 2017) or tomorrow.

Thanks Gil.
I have my setup in free-floating. I tried going to the worksapce mode and going back to the free floating,existing xtuple , with the same results.
It’s doing the same thing in both mode.
I attached 2 screen shot of the setup just in case I am missing something.

It’s not critical for me as I can just add the applyDefaultFilterSet() or

design a new display that would not have the filter widget.