遵循这个指令这里
在里面创建了我自己的document template fragment自定义字段。绑定自定义脚本(代码将在下面)
创建了document模板,其中包含document template fragment(在custom标记中的模板片段中,添加了自定义字段,如Author和TimeGen)
用过的文件生成,但我得到的是一个空的文件!为什么会发生这种事?
我有Sparx Ea 12版本
脚本代码(从示例这里复制)
function MyRtfData(objectID) {
var i;
var xmlDOM = new ActiveXObject("Microsoft.XMLDOM");
xmlDOM.validateOnParse = false;
xmlDOM.async = false;
var node = xmlDOM.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'");
xmlDOM.appendChild(node);
var xmlRoot = xmlDOM.createElement("EADATA");
xmlDOM.appendChild(xmlRoot);
var xmlDataSet = xmlDOM.createElement("Dataset_0");
xmlRoot.appendChild(xmlDataSet);
var xmlData = xmlDOM.createElement("Data");
xmlDataSet.appendChild(xmlData);
var xmlRow = xmlDOM.createElement("Row");
xmlData.appendChild(xmlRow);
var xmlName = xmlDOM.createElement("DateGen");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = mm + '/' + dd + '/' + yyyy;
xmlName.text = today;
xmlRow.appendChild(xmlName);
var xmlName = xmlDOM.createElement("TimeGen");
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (minutes < 10) {
minutes = "0" + minutes
}
xmlName.text = hours + ":" + minutes + " ";
xmlRow.appendChild(xmlName);
var xmlName = xmlDOM.createElement("Author");
xmlName.text = Session.UserName;
xmlRow.appendChild(xmlName);
var xmlName = xmlDOM.createElement("EA_REPOS");
xmlName.text = Repository.ConnectionString;
xmlRow.appendChild(xmlName);
return xmlDOM.xml;
};当我在调试模式下运行它时,它似乎可以输出一些xml结构,但是当我生成文档时,我只得到了emtpy工作表。
UPD:
现在我得到rtf错误,而系统输出只是空的。
错误看起来是这样的:

UPD2:
当我调试它时,它输出有效的XML。
发布于 2016-12-25 17:23:32
问题解决了!我的意思是,我可以使用template framents + scripts机制生成带有自定义字段的文档。
我所做的一切(长话短说-从零开始):
JScript文件(上面的代码包含在Javascript文件中,可能是因为这个原因)fragment template,在那里定制了Autor字段template,在那里添加了我的fragment templatehttps://stackoverflow.com/questions/41297922
复制相似问题