Commit baff7363 authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander.Trofimov

Bug 26104 - Автозаполнение работает некорректно для формул отформатированных как текст

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@57907 954022d7-b5bf-4e40-9824-e11837661b57
parent e84850a5
...@@ -4120,17 +4120,18 @@ Cell.prototype.setValue=function(val,callback){ ...@@ -4120,17 +4120,18 @@ Cell.prototype.setValue=function(val,callback){
this.formulaParsed = null; this.formulaParsed = null;
} }
} }
var DataNew = null;
if(History.Is_On())
DataNew = this.getValueData();
if(History.Is_On() && false == DataOld.isEqual(DataNew))
History.Add(g_oUndoRedoCell, historyitem_Cell_ChangeValue, this.ws.getId(), new Asc.Range(this.oId.getCol0(), this.oId.getRow0(), this.oId.getCol0(), this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), DataOld, DataNew));
if ( this.ws.workbook.isNeedCacheClean ){ if ( this.ws.workbook.isNeedCacheClean ){
/* /*
Если необходим пересчет, то по списку пересчитываемых ячеек сортируем граф зависимостей и пересчиываем в получившемся порядке. Плохим ячейкам с цикличискими ссылками выставляем ошибку "#REF!". Если необходим пересчет, то по списку пересчитываемых ячеек сортируем граф зависимостей и пересчиываем в получившемся порядке. Плохим ячейкам с цикличискими ссылками выставляем ошибку "#REF!".
*/ */
//sortDependency вызывается ниже History.Add(historyitem_Cell_ChangeValue, потому что в ней может быть выставлен формат ячейки(если это текстовый, то принимая изменения формула станет текстом)
sortDependency(this.ws.workbook,true); sortDependency(this.ws.workbook,true);
} }
var DataNew = null;
if(History.Is_On())
DataNew = this.getValueData();
if(History.Is_On() && false == DataOld.isEqual(DataNew))
History.Add(g_oUndoRedoCell, historyitem_Cell_ChangeValue, this.ws.getId(), new Asc.Range(this.oId.getCol0(), this.oId.getRow0(), this.oId.getCol0(), this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), DataOld, DataNew));
//todo не должны удаляться ссылки, если сделать merge ее части. //todo не должны удаляться ссылки, если сделать merge ее части.
if(this.isEmptyTextString()) if(this.isEmptyTextString())
{ {
...@@ -7703,12 +7704,6 @@ Range.prototype._promoteFromTo=function(from, to, bIsPromote, oCanPromote, bCtrl ...@@ -7703,12 +7704,6 @@ Range.prototype._promoteFromTo=function(from, to, bIsPromote, oCanPromote, bCtrl
oCopyCell = this.worksheet._getCell(i, j); oCopyCell = this.worksheet._getCell(i, j);
else else
oCopyCell = this.worksheet._getCell(j, i); oCopyCell = this.worksheet._getCell(j, i);
if(null != oFromCell)
{
oCopyCell.setStyle(oFromCell.getStyle());
if(bIsPromote)
oCopyCell.setType(oFromCell.getType());
}
if(bIsPromote) if(bIsPromote)
{ {
if(false == bCopy && null != data.nCurValue) if(false == bCopy && null != data.nCurValue)
...@@ -7742,6 +7737,12 @@ Range.prototype._promoteFromTo=function(from, to, bIsPromote, oCanPromote, bCtrl ...@@ -7742,6 +7737,12 @@ Range.prototype._promoteFromTo=function(from, to, bIsPromote, oCanPromote, bCtrl
} }
} }
} }
//выставляем стиль после текста, потому что если выставить числовой стиль ячейки 'text', то после этого не применится формула
if (null != oFromCell) {
oCopyCell.setStyle(oFromCell.getStyle());
if (bIsPromote)
oCopyCell.setType(oFromCell.getType());
}
} }
} }
} }
......
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