Добрый день. При выводе отчета в word происходит некорректная замена текстовых меток в шаблоне. Шаблон хранится в разделе "Библиотека". Скрипт вывода отчета:
function Item5OnExecute(ScriptItem, IsComplete) {
var ParentDiagram = GetDiagramByItem(ScriptItem);
var AccCSCSID = WFGetParamValue(ParentDiagram, 'AccCSCSID');
ShowInstallAct(AccCSCSID);
}
function ShowInstallAct(AccCSCSID){
//var ContractID = GetDatasetFieldValueByID('ds_AccCSniping', AccCSnipingID, 'ContractID');
var WordRecord = new Object();
WordRecord = OpenWordTemplate('InstallActTest');
var Datasets = InitBankClientReportDatasets(AccCSCSID);
if (!ReplaceWordBookmarks(WordRecord, Datasets, false, false, null, null)) {
WordRecord.word.Visible = true;
return;
}
}
function InitBankClientReportDatasets(AccCSCSID) {
var Datasets = GetNewDictionary();
if (!IsEmptyValue(AccCSCSID)) {
var dsBankClientReport = GetSingleItemByCode('ds_BankClienReport','ds_BankClienReport1');
dsBankClientReport.Close();
ApplyDatasetFilter(dsBankClientReport, 'ID', AccCSCSID, true);
dsBankClientReport.Open();
AddDatasetToDictionaryByUSI(Datasets, 'ds_BankClienReport',
dsBankClientReport);
}
return Datasets;
}
var ParentDiagram = GetDiagramByItem(ScriptItem);
var AccCSCSID = WFGetParamValue(ParentDiagram, 'AccCSCSID');
ShowInstallAct(AccCSCSID);
}
function ShowInstallAct(AccCSCSID){
//var ContractID = GetDatasetFieldValueByID('ds_AccCSniping', AccCSnipingID, 'ContractID');
var WordRecord = new Object();
WordRecord = OpenWordTemplate('InstallActTest');
var Datasets = InitBankClientReportDatasets(AccCSCSID);
if (!ReplaceWordBookmarks(WordRecord, Datasets, false, false, null, null)) {
WordRecord.word.Visible = true;
return;
}
}
function InitBankClientReportDatasets(AccCSCSID) {
var Datasets = GetNewDictionary();
if (!IsEmptyValue(AccCSCSID)) {
var dsBankClientReport = GetSingleItemByCode('ds_BankClienReport','ds_BankClienReport1');
dsBankClientReport.Close();
ApplyDatasetFilter(dsBankClientReport, 'ID', AccCSCSID, true);
dsBankClientReport.Open();
AddDatasetToDictionaryByUSI(Datasets, 'ds_BankClienReport',
dsBankClientReport);
}
return Datasets;
}
В результате открывается файл шаблона, но вместо меток нет ничего. Отладчик показал, что при замене меток добавляется "from text" и дальше идет текст метки: ds_BankClienReport.OrgName.
Нравится
3 комментария
28 марта 2013 13:28
пожалуйста, уточните версию (к примеру 3.4.1.105) и продукт
28 марта 2013 17:22
Здравствуйте.
А что это у Вас за функции замены меток? Самописные? Т.к. не встречал таких в "коробке".
Нужно смотреть их код.
А вообще лучше переделать, ведь есть стандартные методы, которые оттестированы и 100% работают.
case rstWord: var ReportData = GetFieldValueFromDisabledField(Dataset, 'ReportData'); if (IsEmptyValue(ReportData)) { ShowWarningDialog(NoTemplateAvailableForThisReport); return; } var QueryID = GetFieldValueFromDisabledField(Dataset, 'QueryID'); var ReportID = Dataset.Values('ID'); var WorkspaceWindow = Self.ParentContainer.ParentWindow; ProcessPrepareWordReport(ReportID, QueryID, WorkspaceWindow); break;
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать