Axapta MS Dynamics AX 2009:是否可以从infologdata重新创建infolog?
是否可以从InfologData恢复infolog?考虑代码Axapta MS Dynamics AX 2009:是否可以从infologdata重新创建infolog?,axapta,dynamics-ax-2009,Axapta,Dynamics Ax 2009,是否可以从InfologData恢复infolog?考虑代码 static void Job12(Args _args) { InfologData infologData; ; // here we report something error("something awful"); error("something terrible"); setprefix("scary"); warning("mouse"); // he
static void Job12(Args _args)
{
InfologData infologData;
;
// here we report something
error("something awful");
error("something terrible");
setprefix("scary");
warning("mouse");
// here we get infolog data
infologData = infolog.infologData();
infolog.clear(0);
// SOME CODE
// here we view infolog once again
}
我应该写什么来代替//SOME code
从infologData将“可怕的东西”、“可怕的东西”、“可怕的房子”恢复到infolog中
我的目标是执行一些操作,将infolog存储在数据库中,然后在用户需要时将其显示给用户。简单的解决方案是:将返回的值存储在容器字段中。请记住,不要在事务表中存储容器字段,因为每个容器/备注字段需要一个额外的磁盘操作才能检索记录 您可以稍后在信息日志中显示该值:
infolog.view(x.InfoLogData);
您可以将容器转换为字符串:
info(Info::infoCon2str(x.InfoLogData));
infologData可以在Infolog中还原,如下所示:
infolog.import(infologData);
例如:
我将saveInfolog与restoreInfolog分开,以避免前缀问题
另外,我更喜欢import()而不是view(),原因很简单:如果在saveInfolog()和restoreInfolog()之间显示额外的信息/警告/错误,输出将完全不同-import()在大多数情况下更合适。谢谢!很有魅力
static void Job12(Args _args)
{
InfologData infologData;
void saveInfolog()
{
;
// here we report something
error("something awful");
error("something terrible");
setprefix("scary");
warning("mouse");
// here we get infolog data
infologData = infolog.infologData();
infolog.clear(0);
}
void restoreInfolog()
{
;
// here we view infolog once again
infolog.import(infologData);
}
;
saveInfolog();
restoreInfolog();
}