Commit db300e98 authored by Dmitry.Shahtanov's avatar Dmitry.Shahtanov Committed by Alexander.Trofimov

fixed: Bug 19769 - Формула считается неверно после двойной сортировки от большего к меньшему

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@49037 954022d7-b5bf-4e40-9824-e11837661b57
parent d71b82c7
...@@ -7971,6 +7971,7 @@ Range.prototype.sort=function(nOption, nStartCol){ ...@@ -7971,6 +7971,7 @@ Range.prototype.sort=function(nOption, nStartCol){
} }
Range.prototype._sortByArray=function(oBBox, aSortData, bUndo){ Range.prototype._sortByArray=function(oBBox, aSortData, bUndo){
//сортируются только одинарные гиперссылки, все неодинарные убираем и восстанавливаем после сортировки //сортируются только одинарные гиперссылки, все неодинарные убираем и восстанавливаем после сортировки
var rec = {length:0};
var oExpandedHyperlinkRange = new Object(); var oExpandedHyperlinkRange = new Object();
var oSortRange = this.worksheet.getRange3(oBBox.r1, oBBox.c1, oBBox.r2, oBBox.c2); var oSortRange = this.worksheet.getRange3(oBBox.r1, oBBox.c1, oBBox.r2, oBBox.c2);
oSortRange._setPropertyNoEmpty(null, null, function(cell, nRow0, nCol0, nRowStart, nColStart){ oSortRange._setPropertyNoEmpty(null, null, function(cell, nRow0, nCol0, nRowStart, nColStart){
...@@ -8032,7 +8033,9 @@ Range.prototype._sortByArray=function(oBBox, aSortData, bUndo){ ...@@ -8032,7 +8033,9 @@ Range.prototype._sortByArray=function(oBBox, aSortData, bUndo){
this.worksheet.workbook.dependencyFormulas.deleteMasterNodes( this.worksheet.Id, lastName );//разрываем ссылки между старой ячейкой и ведущими ячейками для нее. this.worksheet.workbook.dependencyFormulas.deleteMasterNodes( this.worksheet.Id, lastName );//разрываем ссылки между старой ячейкой и ведущими ячейками для нее.
delete this.worksheet.workbook.cwf[this.worksheet.Id].cells[lastName]; delete this.worksheet.workbook.cwf[this.worksheet.Id].cells[lastName];
this.worksheet._BuildDependencies({sNewName:sNewName})// строим новые зависимости для новой ячейки. this.worksheet._BuildDependencies({sNewName:sNewName})// строим новые зависимости для новой ячейки.
this.worksheet._RecalculatedFunctions(sNewName);// пересчитываем новую ячейку. rec[sNewName] = [ this.worksheet.getId(), sNewName ];
rec.length++;
// this.worksheet._RecalculatedFunctions(sNewName);// пересчитываем новую ячейку.
} }
else{ else{
sortDependency(this.worksheet, {sNewName:sNewName}); sortDependency(this.worksheet, {sNewName:sNewName});
...@@ -8055,6 +8058,12 @@ Range.prototype._sortByArray=function(oBBox, aSortData, bUndo){ ...@@ -8055,6 +8058,12 @@ Range.prototype._sortByArray=function(oBBox, aSortData, bUndo){
var hyperlink = oExpandedHyperlinkRange[i]; var hyperlink = oExpandedHyperlinkRange[i];
hyperlink.Ref.setHyperlink(hyperlink); hyperlink.Ref.setHyperlink(hyperlink);
} }
// this.worksheet.workbook.buildDependency();
this.worksheet.workbook.needRecalc = rec;
recalc(this.worksheet.workbook);
}; };
Range.prototype.promote=function(bCtrl, bVertical, nIndex){ Range.prototype.promote=function(bCtrl, bVertical, nIndex){
var oBBox = this.bbox; var oBBox = this.bbox;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment