Commit a843a6df authored by Ilya Kirillov's avatar Ilya Kirillov

Fix bug #32490 Исправлен баг с работой базы для MailMerge, в которой нет ни...

Fix bug #32490 Исправлен баг с работой базы для MailMerge, в которой нет ни одно записи, но есть имена полей.
parent 5ca9d142
...@@ -1425,9 +1425,10 @@ function CDocument(DrawingDocument, isMainLogicDocument) ...@@ -1425,9 +1425,10 @@ function CDocument(DrawingDocument, isMainLogicDocument)
this.CheckLanguageOnTextAdd = false; // Проверять ли язык при добавлении текста в ран this.CheckLanguageOnTextAdd = false; // Проверять ли язык при добавлении текста в ран
// Мап для рассылки // Мап для рассылки
this.MailMergeMap = null; this.MailMergeMap = null;
this.MailMergePreview = false; this.MailMergePreview = false;
this.MailMergeFieldsHighlight = false; // Подсвечивать ли все поля связанные с рассылкой this.MailMergeFieldsHighlight = false; // Подсвечивать ли все поля связанные с рассылкой
this.MailMergeFields = [];
// Класс, управляющий полями // Класс, управляющий полями
this.FieldsManager = new CDocumentFieldsManager(); this.FieldsManager = new CDocumentFieldsManager();
...@@ -1486,6 +1487,8 @@ CDocument.prototype.On_EndLoad = function() ...@@ -1486,6 +1487,8 @@ CDocument.prototype.On_EndLoad = function()
{ {
this.Set_FastCollaborativeEditing(true); this.Set_FastCollaborativeEditing(true);
} }
//this.Footnotes.Init();
}; };
CDocument.prototype.Add_TestDocument = function() CDocument.prototype.Add_TestDocument = function()
{ {
......
...@@ -18,7 +18,7 @@ Asc['asc_docs_api'].prototype.asc_StartMailMerge = function(oData) ...@@ -18,7 +18,7 @@ Asc['asc_docs_api'].prototype.asc_StartMailMerge = function(oData)
}; };
Asc['asc_docs_api'].prototype.asc_StartMailMergeByList = function(aList) Asc['asc_docs_api'].prototype.asc_StartMailMergeByList = function(aList)
{ {
if (!aList || !aList.length || aList.length <= 1) if (!aList || !aList.length || aList.length <= 0)
aList = [[]]; aList = [[]];
var aFields = aList[0]; var aFields = aList[0];
...@@ -65,7 +65,7 @@ Asc['asc_docs_api'].prototype.asc_StartMailMergeByList = function(aList) ...@@ -65,7 +65,7 @@ Asc['asc_docs_api'].prototype.asc_StartMailMergeByList = function(aList)
DstList.push(oDstElement); DstList.push(oDstElement);
} }
this.WordControl.m_oLogicDocument.Start_MailMerge(DstList); this.WordControl.m_oLogicDocument.Start_MailMerge(DstList, aFields);
}; };
Asc['asc_docs_api'].prototype.asc_GetReceptionsCount = function() Asc['asc_docs_api'].prototype.asc_GetReceptionsCount = function()
{ {
...@@ -181,13 +181,14 @@ Asc['asc_docs_api'].prototype['asc_DownloadAsMailMerge'] = Asc['asc_docs ...@@ -181,13 +181,14 @@ Asc['asc_docs_api'].prototype['asc_DownloadAsMailMerge'] = Asc['asc_docs
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
// Функции для работы с MailMerge // Функции для работы с MailMerge
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
CDocument.prototype.Start_MailMerge = function(MailMergeMap) CDocument.prototype.Start_MailMerge = function(MailMergeMap, arrFields)
{ {
this.EndPreview_MailMergeResult(); this.EndPreview_MailMergeResult();
this.MailMergeMap = MailMergeMap; this.MailMergeMap = MailMergeMap;
editor.sync_HighlightMailMergeFields(this.MailMergeFieldsHighlight); this.MailMergeFields = arrFields;
editor.sync_StartMailMerge(); editor.sync_HighlightMailMergeFields(this.MailMergeFieldsHighlight);
editor.sync_StartMailMerge();
}; };
CDocument.prototype.Get_MailMergeReceptionsCount = function() CDocument.prototype.Get_MailMergeReceptionsCount = function()
{ {
...@@ -199,7 +200,7 @@ CDocument.prototype.Get_MailMergeReceptionsCount = function() ...@@ -199,7 +200,7 @@ CDocument.prototype.Get_MailMergeReceptionsCount = function()
CDocument.prototype.Get_MailMergeFieldsNameList = function() CDocument.prototype.Get_MailMergeFieldsNameList = function()
{ {
if (this.Get_MailMergeReceptionsCount() <= 0) if (this.Get_MailMergeReceptionsCount() <= 0)
return []; return this.MailMergeFields;
// Предполагаем, что в первом элементе перечислены все поля // Предполагаем, что в первом элементе перечислены все поля
var Element = this.MailMergeMap[0]; var Element = this.MailMergeMap[0];
...@@ -280,9 +281,9 @@ CDocument.prototype.Get_MailMergeReceptionsList = function() ...@@ -280,9 +281,9 @@ CDocument.prototype.Get_MailMergeReceptionsList = function()
var aList = []; var aList = [];
var aHeaders = []; var aHeaders = [];
var nCount = this.MailMergeMap.length var nCount = this.MailMergeMap.length;
if (nCount <= 0) if (nCount <= 0)
return []; return [this.MailMergeFields];
for (var sId in this.MailMergeMap[0]) for (var sId in this.MailMergeMap[0])
aHeaders.push(sId); aHeaders.push(sId);
......
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