Не выводятся поля из датасета в шаблон WORD

Добрый день. При выводе отчета в 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;
}

В результате открывается файл шаблона, но вместо меток нет ничего. Отладчик показал, что при замене меток добавляется "from text" и дальше идет текст метки: ds_BankClienReport.OrgName.

Нравится

3 комментария

пожалуйста, уточните версию (к примеру 3.4.1.105) и продукт

XRM Bank (ver. 3.3.2.260)

Здравствуйте.

А что это у Вас за функции замены меток? Самописные? Т.к. не встречал таких в "коробке".

Нужно смотреть их код.
А вообще лучше переделать, ведь есть стандартные методы, которые оттестированы и 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;
Показать все комментарии