I’ll do that, but probably this evening.
Thanks
I’ll do that, but probably this evening.
Thanks
If I put an application.output in the two main calcs I get the following output in tableview.
>>in calc_verkoopprijs_totaal calculation: pk = 212
--in calc_inkoopprijs_totaal calculation : pk = 212
>>in calc_verkoopprijs_totaal calculation: pk = 211
--in calc_inkoopprijs_totaal calculation : pk = 211
>>in calc_verkoopprijs_totaal calculation: pk = 210
--in calc_inkoopprijs_totaal calculation : pk = 210
>>in calc_verkoopprijs_totaal calculation: pk = 222
>>in calc_verkoopprijs_totaal calculation: pk = 219
--in calc_inkoopprijs_totaal calculation : pk = 219
--in calc_inkoopprijs_totaal calculation : pk = 222
--in calc_inkoopprijs_totaal calculation : pk = 218
>>in calc_verkoopprijs_totaal calculation: pk = 218
--in calc_inkoopprijs_totaal calculation : pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 213
--in calc_inkoopprijs_totaal calculation : pk = 213
>>in calc_verkoopprijs_totaal calculation: pk = 203
--in calc_inkoopprijs_totaal calculation : pk = 203
--in calc_inkoopprijs_totaal calculation : pk = 124
>>in calc_verkoopprijs_totaal calculation: pk = 124
--in calc_inkoopprijs_totaal calculation : pk = 3
--in calc_inkoopprijs_totaal calculation : pk = 122
>>in calc_verkoopprijs_totaal calculation: pk = 129
>>in calc_verkoopprijs_totaal calculation: pk = 3
>>in calc_verkoopprijs_totaal calculation: pk = 61
>>in calc_verkoopprijs_totaal calculation: pk = 122
--in calc_inkoopprijs_totaal calculation : pk = 129
--in calc_inkoopprijs_totaal calculation : pk = 61
>>in calc_verkoopprijs_totaal calculation: pk = 128
--in calc_inkoopprijs_totaal calculation : pk = 128
--in calc_inkoopprijs_totaal calculation : pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 39
--in calc_inkoopprijs_totaal calculation : pk = 39
>>in calc_verkoopprijs_totaal calculation: pk = 156
--in calc_inkoopprijs_totaal calculation : pk = 156
>>in calc_verkoopprijs_totaal calculation: pk = 72
--in calc_inkoopprijs_totaal calculation : pk = 72
--in calc_inkoopprijs_totaal calculation : pk = 158
>>in calc_verkoopprijs_totaal calculation: pk = 158
--in calc_inkoopprijs_totaal calculation : pk = 46
>>in calc_verkoopprijs_totaal calculation: pk = 116
>>in calc_verkoopprijs_totaal calculation: pk = 170
--in calc_inkoopprijs_totaal calculation : pk = 116
>>in calc_verkoopprijs_totaal calculation: pk = 46
--in calc_inkoopprijs_totaal calculation : pk = 170
>>in calc_verkoopprijs_totaal calculation: pk = 64
--in calc_inkoopprijs_totaal calculation : pk = 64
>>in calc_verkoopprijs_totaal calculation: pk = 76
--in calc_inkoopprijs_totaal calculation : pk = 76
>>in calc_verkoopprijs_totaal calculation: pk = 96
--in calc_inkoopprijs_totaal calculation : pk = 96
>>in calc_verkoopprijs_totaal calculation: pk = 62
--in calc_inkoopprijs_totaal calculation : pk = 62
>>in calc_verkoopprijs_totaal calculation: pk = 112
--in calc_inkoopprijs_totaal calculation : pk = 112
>>in calc_verkoopprijs_totaal calculation: pk = 26
--in calc_inkoopprijs_totaal calculation : pk = 26
>>in calc_verkoopprijs_totaal calculation: pk = 139
--in calc_inkoopprijs_totaal calculation : pk = 139
>>in calc_verkoopprijs_totaal calculation: pk = 63
--in calc_inkoopprijs_totaal calculation : pk = 63
>>in calc_verkoopprijs_totaal calculation: pk = 1
>>in calc_verkoopprijs_totaal calculation: pk = 169
--in calc_inkoopprijs_totaal calculation : pk = 1
--in calc_inkoopprijs_totaal calculation : pk = 169
>>in calc_verkoopprijs_totaal calculation: pk = 138
>>in calc_verkoopprijs_totaal calculation: pk = 8
--in calc_inkoopprijs_totaal calculation : pk = 138
--in calc_inkoopprijs_totaal calculation : pk = 8
--in calc_inkoopprijs_totaal calculation : pk = 108
>>in calc_verkoopprijs_totaal calculation: pk = 108
and in listview I get
>>in calc_verkoopprijs_totaal calculation: pk = 1
--in calc_inkoopprijs_totaal calculation : pk = 1
>>in calc_verkoopprijs_totaal calculation: pk = 212
--in calc_inkoopprijs_totaal calculation : pk = 212
>>in calc_verkoopprijs_totaal calculation: pk = 211
--in calc_inkoopprijs_totaal calculation : pk = 211
>>in calc_verkoopprijs_totaal calculation: pk = 210
--in calc_inkoopprijs_totaal calculation : pk = 210
>>in calc_verkoopprijs_totaal calculation: pk = 222
--in calc_inkoopprijs_totaal calculation : pk = 222
>>in calc_verkoopprijs_totaal calculation: pk = 219
--in calc_inkoopprijs_totaal calculation : pk = 219
>>in calc_verkoopprijs_totaal calculation: pk = 218
--in calc_inkoopprijs_totaal calculation : pk = 218
>>in calc_verkoopprijs_totaal calculation: pk = 215
--in calc_inkoopprijs_totaal calculation : pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 213
--in calc_inkoopprijs_totaal calculation : pk = 213
>>in calc_verkoopprijs_totaal calculation: pk = 203
--in calc_inkoopprijs_totaal calculation : pk = 203
>>in calc_verkoopprijs_totaal calculation: pk = 124
--in calc_inkoopprijs_totaal calculation : pk = 124
>>in calc_verkoopprijs_totaal calculation: pk = 129
--in calc_inkoopprijs_totaal calculation : pk = 129
>>in calc_verkoopprijs_totaal calculation: pk = 122
--in calc_inkoopprijs_totaal calculation : pk = 122
>>in calc_verkoopprijs_totaal calculation: pk = 3
--in calc_inkoopprijs_totaal calculation : pk = 3
>>in calc_verkoopprijs_totaal calculation: pk = 61
--in calc_inkoopprijs_totaal calculation : pk = 61
>>in calc_verkoopprijs_totaal calculation: pk = 182
--in calc_inkoopprijs_totaal calculation : pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 128
--in calc_inkoopprijs_totaal calculation : pk = 128
>>in calc_verkoopprijs_totaal calculation: pk = 39
--in calc_inkoopprijs_totaal calculation : pk = 39
>>in calc_verkoopprijs_totaal calculation: pk = 156
--in calc_inkoopprijs_totaal calculation : pk = 156
>>in calc_verkoopprijs_totaal calculation: pk = 72
--in calc_inkoopprijs_totaal calculation : pk = 72
>>in calc_verkoopprijs_totaal calculation: pk = 158
--in calc_inkoopprijs_totaal calculation : pk = 158
>>in calc_verkoopprijs_totaal calculation: pk = 46
--in calc_inkoopprijs_totaal calculation : pk = 46
>>in calc_verkoopprijs_totaal calculation: pk = 116
--in calc_inkoopprijs_totaal calculation : pk = 116
the output when using application.output ( also for pk) in the calc_marge calculation is :
in tableview
pk= 212
vk= 0
ik= 0
pk= 211
vk=
ik= 0
pk= 210
vk=
ik= 0
pk= 222
vk=
ik= 1839.2
pk= 219
vk=
ik= 0
pk= 218
vk=
ik= 0
pk= 215
vk=
ik= 20
pk= 213
vk= 0
ik= 0
pk= 203
vk= 0
ik= 0
pk= 124
vk= 0
ik= 0
pk= 129
vk=
pk= 122
vk=
pk= 3
vk=
ik= 0
ik= 0
ik= 0
pk= 61
vk= 0
ik= 0
pk= 182
vk=
pk= 128
vk= 0
ik= 0
ik= 0
pk= 39
vk=
ik= 0
pk= 156
vk= 0
ik= 0
pk= 72
vk=
ik= 0
pk= 158
vk= 21
ik= 17.85
pk= 46
vk=
pk= 116
vk=
pk= 170
vk=
ik= 0
ik= 0
ik= 0
pk= 64
vk= 3500
ik= 0
pk= 76
vk=
ik= 0
pk= 96
vk=
ik= 0
pk= 62
vk= 0
ik= 0
pk= 112
vk=
ik= 0
pk= 26
vk= 0
pk= 139
ik= 0
vk= 0
ik= 0
pk= 138
vk=
pk= 8
vk=
pk= 1
vk=
pk= 63
vk= 3000
ik= 0
pk= 169
vk=
ik= 162.25
pk= 108
vk=
ik= 0
ik= 1721.96
ik= 146.56
ik= 392.72
pk= 211
vk= 0
ik= 0
pk= 210
vk= 0
ik= 0
pk= 218
vk= 0
ik= 0
pk= 122
vk= 0
ik= 0
pk= 116
vk= 0
ik= 0
pk= 108
vk= 822.59
ik= 392.72
in listview :
pk= 1
vk= 341.54
ik= 162.25
pk= 212
vk= 0
ik= 0
pk= 211
vk= 0
ik= 0
pk= 210
vk= 0
ik= 0
pk= 222
vk= 3084.9230769230767
ik= 1839.2
pk= 219
vk= 0
ik= 0
pk= 218
vk= 0
ik= 0
pk= 215
vk= 20
ik= 20
pk= 213
vk= 0
ik= 0
pk= 203
vk= 0
ik= 0
pk= 124
vk= 0
ik= 0
pk= 129
vk= 0
ik= 0
pk= 122
vk= 0
ik= 0
pk= 3
vk= 0
ik= 0
pk= 61
vk= 0
ik= 0
pk= 182
vk= 0
ik= 0
pk= 128
vk= 0
ik= 0
pk= 39
vk= 0
ik= 0
pk= 156
vk= 0
ik= 0
pk= 72
vk= 0
ik= 0
pk= 158
vk= 21
ik= 17.85
pk= 46
vk= 0
ik= 0
pk= 116
vk= 0
ik= 0
the tree calcs that are involved are :
on both tableview and listview, the calc_verkoopprijs_totaal and calc_marge are shown , the calc_inkoopprijs_totaal is not shown in both.
the _dumx variables in the calcs are there to get a recalculation if one of the referenced fields is show, that still works fine.
b.t.w. we do not edit in tableview only in record and listview.
function calc_inkoopprijs_totaal()
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels))
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels))
{
var _dum2 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_aantal
var _dum3 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_ikprijs
}
}
application.output('--in calc_inkoopprijs_totaal calculation : pk = ' + ondhcon_id)
var args = new Array();
args[0] = java.sql.Types.NUMERIC;
args[1] = ondhcon_id
var typesArray = new Array();
typesArray[0] = 1;
typesArray[1] = 0;
var proc_declaration = '{?=call get_ondh_verkorder_inkbedr_tot(?)}';
var dmesp = plugins.rawSQL.executeStoredProcedure('berp2', proc_declaration, args, typesArray, 1);
return dmesp.getValue(1, 1);
}
function calc_verkoopprijs_totaal()
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels))
{
var _dum4 = bcom_full_ondh_contracten_to_ondh_contractregels.ondhconrgl_korting_perc
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels))
{
var _dum2 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_aantal
var _dum3 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_vkprijs
}
}
application.output('>>in calc_verkoopprijs_totaal calculation: pk = ' + ondhcon_id)
var args = new Array();
args[0] = java.sql.Types.NUMERIC;
args[1] = ondhcon_id
var typesArray = new Array();
typesArray[0] = 1;
typesArray[1] = 0;
var proc_declaration = '{?=call get_ondh_verkok_vkbedr_tot(?)}';
var dmesp = plugins.rawSQL.executeStoredProcedure('berp2', proc_declaration, args, typesArray, 1);
return dmesp.getValue(1, 1);
}
function calc_marge()
{
//application.output('pk= ' + ondhcon_id)
//application.output('vk= ' + calc_verkoopprijs_totaal)
//application.output('ik= ' + calc_inkoopprijs_totaal)
var marge = calc_verkoopprijs_totaal - calc_inkoopprijs_totaal;
return marge;
}
Regards,
This problem also exists in 5.2.11.
Sorry for this, I developed in 5.2.10, then changed to 5.2.12 ( I skipped 5.2.11 ).
The problem does not exist in 5.2.10
addition : I installed it in 5.2.11 this afternoon and checked.
so as far as i can see, the 2 calcs are called just fine
i only see a difference with PK = 1 in listview that isn’t there in tableview (but i guess that is not that important)
i see this:
in calc_verkoopprijs_totaal calculation: pk = 212
–in calc_inkoopprijs_totaal calculation : pk = 212
in calc_verkoopprijs_totaal calculation: pk = 211
–in calc_inkoopprijs_totaal calculation : pk = 211
and this:
pk= 212
vk= 0
ik= 0
pk= 211
vk=
ik= 0
Why is that output not alternated?
i would expect:
pk=212
in calc_verkoopprijs_totaal calculation: pk = 212
vk=0
–in calc_inkoopprijs_totaal calculation : pk = 212
ik = 0
pk = 211
in calc_verkoopprijs_totaal calculation: pk = 211
vk=
–in calc_inkoopprijs_totaal calculation : pk = 211
ik=0;
if you have the right application outputs everywhere
But if that is what you get, are you sue that the vk returns the right value??
so if you do:
application.output(‘>>in calc_verkoopprijs_totaal calculation: pk = ’ + ondhcon_id +’ value: '+ dmesp.getValue(1, 1));
(as the last line just before the return)
Ok, did that.
It looks like in tableview, sometimes the calculation calc_verkoopprijs_totaal is not done in sync with the rest.
You can see that for Pk 211 the newly added application.output is much later on in the output!!
In listview they are always in synch !!
The output from tableview is :
>>in calc_verkoopprijs_totaal calculation: pk = 212
>>in calc_verkoopprijs_totaal calculation: pk = 212 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 212
>>in calc_verkoopprijs_totaal calculation: pk = 211
--in calc_inkoopprijs_totaal calculation : pk = 211
>>in calc_verkoopprijs_totaal calculation: pk = 210
--in calc_inkoopprijs_totaal calculation : pk = 210
>>in calc_verkoopprijs_totaal calculation: pk = 219
--in calc_inkoopprijs_totaal calculation : pk = 219
>>in calc_verkoopprijs_totaal calculation: pk = 222
>>in calc_verkoopprijs_totaal calculation: pk = 222 value: 3084.9230769230767
--in calc_inkoopprijs_totaal calculation : pk = 222
>>in calc_verkoopprijs_totaal calculation: pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 215 value: 20
--in calc_inkoopprijs_totaal calculation : pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 213
>>in calc_verkoopprijs_totaal calculation: pk = 213 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 213
>>in calc_verkoopprijs_totaal calculation: pk = 203
>>in calc_verkoopprijs_totaal calculation: pk = 203 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 203
>>in calc_verkoopprijs_totaal calculation: pk = 124
>>in calc_verkoopprijs_totaal calculation: pk = 124 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 124
>>in calc_verkoopprijs_totaal calculation: pk = 210 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 219 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 211 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 218
>>in calc_verkoopprijs_totaal calculation: pk = 218 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 218
>>in calc_verkoopprijs_totaal calculation: pk = 61
--in calc_inkoopprijs_totaal calculation : pk = 129
>>in calc_verkoopprijs_totaal calculation: pk = 129
>>in calc_verkoopprijs_totaal calculation: pk = 61 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 122
>>in calc_verkoopprijs_totaal calculation: pk = 122
--in calc_inkoopprijs_totaal calculation : pk = 3
>>in calc_verkoopprijs_totaal calculation: pk = 3
--in calc_inkoopprijs_totaal calculation : pk = 61
>>in calc_verkoopprijs_totaal calculation: pk = 3 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 128
--in calc_inkoopprijs_totaal calculation : pk = 128
>>in calc_verkoopprijs_totaal calculation: pk = 128 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 39
--in calc_inkoopprijs_totaal calculation : pk = 39
>>in calc_verkoopprijs_totaal calculation: pk = 122 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 156
--in calc_inkoopprijs_totaal calculation : pk = 156
>>in calc_verkoopprijs_totaal calculation: pk = 72
>>in calc_verkoopprijs_totaal calculation: pk = 129 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 39 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 72
>>in calc_verkoopprijs_totaal calculation: pk = 158
>>in calc_verkoopprijs_totaal calculation: pk = 158 value: 21
--in calc_inkoopprijs_totaal calculation : pk = 158
>>in calc_verkoopprijs_totaal calculation: pk = 72 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 156 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 182 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 46
>>in calc_verkoopprijs_totaal calculation: pk = 46
>>in calc_verkoopprijs_totaal calculation: pk = 46 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 64
>>in calc_verkoopprijs_totaal calculation: pk = 64 value: 3500
--in calc_inkoopprijs_totaal calculation : pk = 76
>>in calc_verkoopprijs_totaal calculation: pk = 96
>>in calc_verkoopprijs_totaal calculation: pk = 96 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 96
>>in calc_verkoopprijs_totaal calculation: pk = 62
>>in calc_verkoopprijs_totaal calculation: pk = 62 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 62
>>in calc_verkoopprijs_totaal calculation: pk = 112
>>in calc_verkoopprijs_totaal calculation: pk = 112 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 112
>>in calc_verkoopprijs_totaal calculation: pk = 26
>>in calc_verkoopprijs_totaal calculation: pk = 26 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 26
>>in calc_verkoopprijs_totaal calculation: pk = 139
>>in calc_verkoopprijs_totaal calculation: pk = 139 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 139
>>in calc_verkoopprijs_totaal calculation: pk = 76
>>in calc_verkoopprijs_totaal calculation: pk = 76 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 170
>>in calc_verkoopprijs_totaal calculation: pk = 170
--in calc_inkoopprijs_totaal calculation : pk = 64
>>in calc_verkoopprijs_totaal calculation: pk = 170 value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 116
--in calc_inkoopprijs_totaal calculation : pk = 116
>>in calc_verkoopprijs_totaal calculation: pk = 1
>>in calc_verkoopprijs_totaal calculation: pk = 1 value: 341.54
>>in calc_verkoopprijs_totaal calculation: pk = 8
>>in calc_verkoopprijs_totaal calculation: pk = 8 value: 1990.33
>>in calc_verkoopprijs_totaal calculation: pk = 116 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 1
>>in calc_verkoopprijs_totaal calculation: pk = 63
>>in calc_verkoopprijs_totaal calculation: pk = 169
>>in calc_verkoopprijs_totaal calculation: pk = 63 value: 3000
--in calc_inkoopprijs_totaal calculation : pk = 169
>>in calc_verkoopprijs_totaal calculation: pk = 169 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 108
>>in calc_verkoopprijs_totaal calculation: pk = 138
--in calc_inkoopprijs_totaal calculation : pk = 138
--in calc_inkoopprijs_totaal calculation : pk = 8
--in calc_inkoopprijs_totaal calculation : pk = 63
>>in calc_verkoopprijs_totaal calculation: pk = 138 value: 297.89
>>in calc_verkoopprijs_totaal calculation: pk = 108
>>in calc_verkoopprijs_totaal calculation: pk = 108 value: 822.59
--in calc_inkoopprijs_totaal calculation : pk = 108
output from listview is :
>>in calc_verkoopprijs_totaal calculation: pk = 1
>>in calc_verkoopprijs_totaal calculation: pk = 1 value: 341.54
--in calc_inkoopprijs_totaal calculation : pk = 1
>>in calc_verkoopprijs_totaal calculation: pk = 212
>>in calc_verkoopprijs_totaal calculation: pk = 212 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 212
>>in calc_verkoopprijs_totaal calculation: pk = 211
>>in calc_verkoopprijs_totaal calculation: pk = 211 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 211
>>in calc_verkoopprijs_totaal calculation: pk = 210
>>in calc_verkoopprijs_totaal calculation: pk = 210 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 210
>>in calc_verkoopprijs_totaal calculation: pk = 222
>>in calc_verkoopprijs_totaal calculation: pk = 222 value: 3084.9230769230767
--in calc_inkoopprijs_totaal calculation : pk = 222
>>in calc_verkoopprijs_totaal calculation: pk = 219
>>in calc_verkoopprijs_totaal calculation: pk = 219 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 219
>>in calc_verkoopprijs_totaal calculation: pk = 218
>>in calc_verkoopprijs_totaal calculation: pk = 218 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 218
>>in calc_verkoopprijs_totaal calculation: pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 215 value: 20
--in calc_inkoopprijs_totaal calculation : pk = 215
>>in calc_verkoopprijs_totaal calculation: pk = 213
>>in calc_verkoopprijs_totaal calculation: pk = 213 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 213
>>in calc_verkoopprijs_totaal calculation: pk = 203
>>in calc_verkoopprijs_totaal calculation: pk = 203 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 203
>>in calc_verkoopprijs_totaal calculation: pk = 124
>>in calc_verkoopprijs_totaal calculation: pk = 124 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 124
>>in calc_verkoopprijs_totaal calculation: pk = 129
>>in calc_verkoopprijs_totaal calculation: pk = 129 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 129
>>in calc_verkoopprijs_totaal calculation: pk = 122
>>in calc_verkoopprijs_totaal calculation: pk = 122 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 122
>>in calc_verkoopprijs_totaal calculation: pk = 3
>>in calc_verkoopprijs_totaal calculation: pk = 3 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 3
>>in calc_verkoopprijs_totaal calculation: pk = 61
>>in calc_verkoopprijs_totaal calculation: pk = 61 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 61
>>in calc_verkoopprijs_totaal calculation: pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 182 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 182
>>in calc_verkoopprijs_totaal calculation: pk = 128
>>in calc_verkoopprijs_totaal calculation: pk = 128 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 128
>>in calc_verkoopprijs_totaal calculation: pk = 39
>>in calc_verkoopprijs_totaal calculation: pk = 39 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 39
>>in calc_verkoopprijs_totaal calculation: pk = 156
>>in calc_verkoopprijs_totaal calculation: pk = 156 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 156
>>in calc_verkoopprijs_totaal calculation: pk = 72
>>in calc_verkoopprijs_totaal calculation: pk = 72 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 72
>>in calc_verkoopprijs_totaal calculation: pk = 158
>>in calc_verkoopprijs_totaal calculation: pk = 158 value: 21
--in calc_inkoopprijs_totaal calculation : pk = 158
>>in calc_verkoopprijs_totaal calculation: pk = 46
>>in calc_verkoopprijs_totaal calculation: pk = 46 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 46
>>in calc_verkoopprijs_totaal calculation: pk = 116
>>in calc_verkoopprijs_totaal calculation: pk = 116 value: 0
--in calc_inkoopprijs_totaal calculation : pk = 116
regards,
i am completely confused.
Please add 3 (and only 3) application.outputs()
1 in every calc (at the same time so all 3 should be seen at once)
so:
calc_inkoopprijs_totaal:
application.output('–in calc_inkoopprijs_totaal calculation : pk = ’ + ondhcon_id + ', value: ’ + dmesp.getValue(1, 1));
calc_verkoopprijs_totaal
application.output('>>in calc_verkoopprijs_totaal calculation: pk = ’ + ondhcon_id + ', value: ’ + dmesp.getValue(1, 1));
and the last in calc_marge:
application.output(‘pk=’ + ondhcon_id+ ', ik= ’ + calc_inkoopprijs_totaal + ', vk= ’ +calc_verkoopprijs_totaal);
Then it should be more clear, we need to know exactly when is called what
because you say that for Pk 211 it is called way later
which is completely not logical also because i see those also in the first lines:
in calc_verkoopprijs_totaal calculation: pk = 211
–in calc_inkoopprijs_totaal calculation : pk = 211
Johan, sorry for the confussion.
I’ll give you the required info in my next reply, but I think it is important to reply on my previous reply.
As you can see the two calculations had one application output before and one after the call to the stored procedure.
I did that to show to You that the calculation calc_verkoopprijs_totaal is called when it should, but the other calculations
are called before the stored procedure call is completed.
That is why you see the line : >>in calc_verkoopprijs_totaal calculation: pk = 211 in sync.
but the line : >>in calc_verkoopprijs_totaal calculation: pk = 211 value: 0 is way to late in tableview
function calc_verkoopprijs_totaal()
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels))
{
var _dum4 = bcom_full_ondh_contracten_to_ondh_contractregels.ondhconrgl_korting_perc
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels))
{
var _dum2 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_aantal
var _dum3 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_vkprijs
}
}
application.output('>>in calc_verkoopprijs_totaal calculation: pk = ' + ondhcon_id)
var args = new Array();
args[0] = java.sql.Types.NUMERIC;
args[1] = ondhcon_id
var typesArray = new Array();
typesArray[0] = 1;
typesArray[1] = 0;
var proc_declaration = '{?=call get_ondh_verkok_vkbedr_tot(?)}';
var dmesp = plugins.rawSQL.executeStoredProcedure('berp2', proc_declaration, args, typesArray, 1);
application.output('>>in calc_verkoopprijs_totaal calculation: pk = ' + ondhcon_id +' value: '+ dmesp.getValue(1, 1));
return dmesp.getValue(1, 1);
}
function calc_inkoopprijs_totaal()
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels))
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels))
{
var _dum2 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_aantal
var _dum3 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_ikprijs
}
}
application.output('--in calc_inkoopprijs_totaal calculation : pk = ' + ondhcon_id)
var args = new Array();
args[0] = java.sql.Types.NUMERIC;
args[1] = ondhcon_id
var typesArray = new Array();
typesArray[0] = 1;
typesArray[1] = 0;
var proc_declaration = '{?=call get_ondh_verkorder_inkbedr_tot(?)}';
var dmesp = plugins.rawSQL.executeStoredProcedure('berp2', proc_declaration, args, typesArray, 1);
return dmesp.getValue(1, 1);
}
Johan,
Below the output You requested :
Same thing here, in tableview the calcs are not in sync !
In Listview they are in sync and everything is correct !
Tableview
>>in calc_verkoopprijs_totaal calculation: pk = 212, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 212, value: 0
pk=212, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 211, value: 0
pk=211, ik= 0, vk=
>>in calc_verkoopprijs_totaal calculation: pk = 211, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 210, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 210, value: 0
pk=210, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 222, value: 1839.2
pk=222, ik= 1839.2, vk=
>>in calc_verkoopprijs_totaal calculation: pk = 222, value: 3084.9230769230767
>>in calc_verkoopprijs_totaal calculation: pk = 219, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 219, value: 0
pk=219, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 218, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 218, value: 0
pk=218, ik= 0, vk=
--in calc_inkoopprijs_totaal calculation : pk = 215, value: 20
>>in calc_verkoopprijs_totaal calculation: pk = 215, value: 20
pk=215, ik= 20, vk=
>>in calc_verkoopprijs_totaal calculation: pk = 213, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 213, value: 0
pk=213, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 203, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 203, value: 0
pk=203, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 124, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 124, value: 0
pk=124, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 122, value: 0
pk=122, ik= 0, vk=
--in calc_inkoopprijs_totaal calculation : pk = 3, value: 0
pk=3, ik= 0, vk=
>>in calc_verkoopprijs_totaal calculation: pk = 3, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 61, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 129, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 61, value: 0
pk=61, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 128, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 128, value: 0
pk=128, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 182, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 182, value: 0
pk=182, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 129, value: 0
pk=129, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 122, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 39, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 39, value: 0
pk=39, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 156, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 156, value: 0
pk=156, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 72, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 72, value: 0
pk=72, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 158, value: 17.85
pk=158, ik= 17.85, vk=
>>in calc_verkoopprijs_totaal calculation: pk = 158, value: 21
>>in calc_verkoopprijs_totaal calculation: pk = 46, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 116, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 170, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 170, value: 0
pk=170, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 116, value: 0
pk=116, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 46, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 64, value: 3500
pk=46, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 76, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 64, value: 0
pk=64, ik= 0, vk= 3500
--in calc_inkoopprijs_totaal calculation : pk = 76, value: 0
pk=76, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 96, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 96, value: 0
pk=96, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 62, value: 0
pk=62, ik= 0, vk=
>>in calc_verkoopprijs_totaal calculation: pk = 62, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 112, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 112, value: 0
pk=112, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 26, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 139, value: 0
>>in calc_verkoopprijs_totaal calculation: pk = 139, value: 0
pk=139, ik= 0, vk=
--in calc_inkoopprijs_totaal calculation : pk = 26, value: 0
pk=26, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 63, value: 3000
--in calc_inkoopprijs_totaal calculation : pk = 63, value: 0
pk=63, ik= 0, vk= 3000
--in calc_inkoopprijs_totaal calculation : pk = 1, value: 162.25
>>in calc_verkoopprijs_totaal calculation: pk = 169, value: 0
pk=1, ik= 162.25, vk=
--in calc_inkoopprijs_totaal calculation : pk = 169, value: 0
pk=169, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 1, value: 341.54
>>in calc_verkoopprijs_totaal calculation: pk = 108, value: 822.59
--in calc_inkoopprijs_totaal calculation : pk = 108, value: 392.72
pk=108, ik= 392.72, vk= 822.59
>>in calc_verkoopprijs_totaal calculation: pk = 8, value: 1990.33
--in calc_inkoopprijs_totaal calculation : pk = 8, value: 1721.96
pk=8, ik= 1721.96, vk= 1990.33
--in calc_inkoopprijs_totaal calculation : pk = 138, value: 146.56
>>in calc_verkoopprijs_totaal calculation: pk = 138, value: 297.89
pk=138, ik= 146.56, vk= 297.89
pk=211, ik= 0, vk= 0
--in calc_inkoopprijs_totaal calculation : pk = 222, value: 1839.2
pk=222, ik= 1839.2, vk= 3084.9230769230767
pk=122, ik= 0, vk= 0
pk=3, ik= 0, vk= 0
pk=158, ik= 17.85, vk= 21
pk=62, ik= 0, vk= 0
pk=1, ik= 162.25, vk= 341.54
Listview
>>in calc_verkoopprijs_totaal calculation: pk = 1, value: 341.54
--in calc_inkoopprijs_totaal calculation : pk = 1, value: 162.25
pk=1, ik= 162.25, vk= 341.54
>>in calc_verkoopprijs_totaal calculation: pk = 212, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 212, value: 0
pk=212, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 211, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 211, value: 0
pk=211, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 210, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 210, value: 0
pk=210, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 222, value: 3084.9230769230767
--in calc_inkoopprijs_totaal calculation : pk = 222, value: 1839.2
pk=222, ik= 1839.2, vk= 3084.9230769230767
>>in calc_verkoopprijs_totaal calculation: pk = 219, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 219, value: 0
pk=219, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 218, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 218, value: 0
pk=218, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 215, value: 20
--in calc_inkoopprijs_totaal calculation : pk = 215, value: 20
pk=215, ik= 20, vk= 20
>>in calc_verkoopprijs_totaal calculation: pk = 213, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 213, value: 0
pk=213, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 203, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 203, value: 0
pk=203, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 124, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 124, value: 0
pk=124, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 129, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 129, value: 0
pk=129, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 122, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 122, value: 0
pk=122, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 3, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 3, value: 0
pk=3, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 61, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 61, value: 0
pk=61, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 182, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 182, value: 0
pk=182, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 128, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 128, value: 0
pk=128, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 39, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 39, value: 0
pk=39, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 156, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 156, value: 0
pk=156, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 72, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 72, value: 0
pk=72, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 158, value: 21
--in calc_inkoopprijs_totaal calculation : pk = 158, value: 17.85
pk=158, ik= 17.85, vk= 21
>>in calc_verkoopprijs_totaal calculation: pk = 46, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 46, value: 0
pk=46, ik= 0, vk= 0
>>in calc_verkoopprijs_totaal calculation: pk = 116, value: 0
--in calc_inkoopprijs_totaal calculation : pk = 116, value: 0
pk=116, ik= 0, vk= 0
function calc_verkoopprijs_totaal()
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels))
{
var _dum4 = bcom_full_ondh_contracten_to_ondh_contractregels.ondhconrgl_korting_perc
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels))
{
var _dum2 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_aantal
var _dum3 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_vkprijs
}
}
var args = new Array();
args[0] = java.sql.Types.NUMERIC;
args[1] = ondhcon_id
var typesArray = new Array();
typesArray[0] = 1;
typesArray[1] = 0;
var proc_declaration = '{?=call get_ondh_verkok_vkbedr_tot(?)}';
var dmesp = plugins.rawSQL.executeStoredProcedure('berp2', proc_declaration, args, typesArray, 1);
application.output('>>in calc_verkoopprijs_totaal calculation: pk = ' + ondhcon_id + ', value: ' + dmesp.getValue(1, 1));
return dmesp.getValue(1, 1);
}
function calc_inkoopprijs_totaal()
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels))
{
if(utils.hasRecords(bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels))
{
var _dum2 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_aantal
var _dum3 = bcom_full_ondh_contracten_to_ondh_contractregels.bcom_full_ondh_contractregels_to_ondh_inkorderspecregels.ondhiksrg_ikprijs
}
}
var args = new Array();
args[0] = java.sql.Types.NUMERIC;
args[1] = ondhcon_id
var typesArray = new Array();
typesArray[0] = 1;
typesArray[1] = 0;
var proc_declaration = '{?=call get_ondh_verkorder_inkbedr_tot(?)}';
var dmesp = plugins.rawSQL.executeStoredProcedure('berp2', proc_declaration, args, typesArray, 1);
application.output('--in calc_inkoopprijs_totaal calculation : pk = ' + ondhcon_id + ', value: ' + dmesp.getValue(1, 1));
return dmesp.getValue(1, 1);
}
function calc_marge()
{
var marge = calc_verkoopprijs_totaal - calc_inkoopprijs_totaal;
application.output('pk=' + ondhcon_id+ ', ik= ' + calc_inkoopprijs_totaal + ', vk= ' +calc_verkoopprijs_totaal);
return marge;
}
i think i know what goes wrong in your situation now.
Tableview has a special threading mode, so rows are filled in in the background in multiply threads.
So are you also showing that calc_verkoopprijs_totaal in the tableview itself or is it also touched through another calc that is shown?
Because then one thread is trying to show the calc itself and calculates it and then the other is asking for that same calc (through another calc) but it is not calculated yet and it will return the previous value (in your case null/nothing)
Well, I am glad it can be explained.
But this was no problem in 5.2.10 and before.
calc_verkoopprijs_totaal is shown in the tableview and also calc_marge.
calc_inkoopprijs_totaal is NOT shown.
I guess this is a bug then.
What would be the best workaround ?
I could create an extra calculation that is a copy of calc_verkoopprijs_totaal and show that in the tableview.
But this means that the stored procedure is fired twice and the reason I use it, is performance/resources.
Thanks
the thing is that in 5.2.10 the SP where fired twice because everytime you touched a calc in a calc that calc that you called was never cached…
So that calc was always executed no matter what, even worse if you would do:
function mycalc()
{
var x = myothercalc;
var y = myothercalc;
}
then myothercalc is really called and executed twice…
There where also other side effects because if myothercalc would return something that is not directly its type (so it is declared as a number but you (sometimes) return a string)
it would be a string in the calc that calls it, but if you would call it directly from normal scripting or from the ui it would be a number… because we do the conversion then.
So that is what we fixed, by making sure it always goes through the cache, but this seems to have a side effect in your case.
I can think of a quick fix, but that would still mean that the calcs with the SP would be called twice, because if they really are accessed at the same time by 2 threads i just execute them twice, so i am still thinking what the best fix would be.
Hello
I just would like to add that we see similar behavior in our school admin application. We are very dependent on correctly and fast working calcs (using other calcs and stored calcs), as we use them to calc test and exam results over many semesters. We only use table view (edit and non edit)
The calc enhancements introduced in 5.2.11 are for us a good move, as far as we can see. But there are still things like Hans mentions and we are also very happy if Johan and Rob investigate further in good working calcs, as they are often a fundamental part of an application.
Regards,
hans his problem is already fixed and tested by hans.
Very nice, I assume the fix will be in version 5.2.13?
jcompagner:
hans his problem is already fixed and tested by hans.