将问卷(KMQuestionnaireRun)导出为XML

时间:2015-02-24 08:23:51

标签: axapta x++

如何访问客户的问卷调查表(KMQuestionnaireRun类型)的结果,以便动态地将结果导出到XML。

我正在处理的课程样本:

while select rmlSomaticMeasures
            outer join rmlSomatometryWorker
                where rmlSomatometryWorker.RMLRef == rmlTable.RecId
                && rmlSomatometryWorker.SomaticMeasureId == rmlSomaticMeasures.SomaticMeasureId
        {
            if (rmlSomatometryWorker.Value)
            {
                nodeMeasure = doc.createElement(strReplace(strUpr(rmlSomaticMeasures.SomaticMeasureId)," ","_"));//.text(strReplace(strUpr(rmlPhysiologicalHabitWorker.Value)," ","_"));
                nodeMeasure.text(strReplace(Num2Str(rmlSomatometryWorker.Value,0,5,1,0)," ",""));
                nodeSOMATOMETRIA.appendChild(nodeMeasure);
            }
            else
            {
                nodeMeasure = doc.createElement(strReplace(strUpr(rmlSomaticMeasures.SomaticMeasureId)," ","_"));
                nodeSOMATOMETRIA.appendChild(nodeMeasure);
            }
        }

1 个答案:

答案 0 :(得分:1)

简短回答,又名"鱼"

结果存储在表格KMVirtualNetworkAnswerTableKMVirtualNetworkAnswerLine

答案很长,又名"让我告诉你如何捕鱼":

您已经发现,每次调查问卷完成后,都会由抽象类KMQuestionnaireRun的一个子类处理。当我在Contoso中做了一份调查问卷时,我注意到之后会弹出一条消息"已完成的调查问卷已经保存了#34;。我认为这是一个很好的起点,所以我跳到产生该消息的代码行(只需在infolog中选择消息并单击"编辑")。这使我进入了课程KMQuestionnaireSave,方法save(由课程close中的方法KMQuestionnaireRun调用)。从那里可以很容易地导航到类KMQuestionnaireSaveResult,方法saveAll,并查看上面的表格是如何编写的。

我在版本AX 2012 R2 CU7中想到了这一点。我没有检查其他版本,但我猜测数据模型是相似或相同的。