grid stat_total not recalculating after cell edited

I use grid to create a list of related positions (products in invoice)

I have footer with #stat_total for few columns. When I add a new empty row and fill it with some data, stat function does not recalculate. I have to add additional empty row for it to calculate. Every change in any row does not recalculate stats. I tried to use refreshMath() function but I get the error, that there is no such function.

var gridPozycje = cellPozycje.attachGrid();
            gridPozycje.setIconsPath('./codebase/imgs/');
            gridPozycje.setHeader(["Produkt/Usługa","JM","Ilość","Cena netto","Wart. netto","Stawka VAT","Wart. VAT","Wart. brutto"]);
            gridPozycje.setColTypes("co,ed,edn,edn,ron,coro,ron,ron");
            gridPozycje.attachFooter(["","#cspan","#cspan","Razem","#stat_total","-","#stat_total","#stat_total"],['','','',"text-align: right; font-weight: bold","text-align: right;","text-align: center;","text-align: right;","text-align: right;"]);
            
            var comboProducts = gridPozycje.getCombo('0');
            comboProducts.put('1','Usługa księgowa');
            comboProducts.put('2','Rozliczenie');
            var comboVat = gridPozycje.getCombo('5');
            comboVat.put('23','23%');
            comboVat.put('8','8%');
            gridPozycje.setColAlign('left,left,right,right,right,center,right,right');
            gridPozycje.enableResizing('true,true,false,false,true,true,true,true');
            gridPozycje.setColSorting('str,str,int,int,str,str,int,int');
            gridPozycje.setInitWidths('*,50,50,80,80,80,80,85');
            gridPozycje.setNumberFormat('0,000.00',3, ',', ' ');
            gridPozycje.setNumberFormat('0,000.00',4, ',', ' ');
            gridPozycje.setNumberFormat('0,000.00',6, ',', ' ');
            gridPozycje.setNumberFormat('0,000.00',7, ',', ' ');
            gridPozycje.setDateFormat('%Y-%m-%d');
            gridPozycje.attachEvent('onEditCell', function(stage, rId, cId, nVal, oVal) {
                if(stage == 2 && cId == 0 && nVal != oVal) {
                        if(nVal == 1) {
                            gridPozycje.cells(rId,1).setValue('szt.');
                            gridPozycje.cells(rId,2).setValue('1');
                            gridPozycje.cells(rId,3).setValue('120');
                            gridPozycje.cells(rId,5).setValue('23');
                            gridPozycje.cells(rId,4).setValue('120');
                            gridPozycje.cells(rId,6).setValue(120*0.23);
                            gridPozycje.cells(rId,7).setValue(120 + gridPozycje.cells(rId,6).getValue());
                        } else if (nVal == 2) {
                            gridPozycje.cells(rId,1).setValue('szt.');
                            gridPozycje.cells(rId,2).setValue('1');
                            gridPozycje.cells(rId,3).setValue('220');
                            gridPozycje.cells(rId,5).setValue('8');
                            gridPozycje.cells(rId,4).setValue('220');
                            gridPozycje.cells(rId,6).setValue(220*0.08);
                            gridPozycje.cells(rId,7).setValue(220 + gridPozycje.cells(rId,6).getValue());
                        }
                
                }
                if(stage == 2 && (cId == 2 || cId == 3) && nVal != oVal) {
                    gridPozycje.cells(rId,4).setValue(gridPozycje.cells(rId,3).getValue() * gridPozycje.cells(rId,2).getValue());
                    gridPozycje.cells(rId,6).setValue(gridPozycje.cells(rId,4).getValue() * (gridPozycje.cells(rId,5).getValue() / 100));
                    gridPozycje.cells(rId,7).setValue(gridPozycje.cells(rId,4).getValue() + gridPozycje.cells(rId,6).getValue());
                }

                if(stage == 2 && cId == 5 && nVal != oVal) {
                    gridPozycje.cells(rId,6).setValue(gridPozycje.cells(rId,4).getValue() * (gridPozycje.cells(rId,5).getValue() / 100));
                    gridPozycje.cells(rId,7).setValue(gridPozycje.cells(rId,4).getValue() + gridPozycje.cells(rId,6).getValue());
                }


                return true;
            })
            gridPozycje.init();

Please, try to call
gridPozycje.callEvent(“ongridreconstructed”,[]);
after the cell is edited.