我正在尝试确认销售订单,但我收到的错误如下所示。环境最近从CU1更新到CU9。我做了完全编译和完整CIL和增量CIL没有错误。你能否说一下可能出现的问题?
提前谢谢。
Error : Map object not initialized.
Stack trace
(S)\Classes\FormletterService\postJournal - line 52
(S)\Classes\FormletterService\run - line 221
(S)\Classes\FormletterService\postSalesOrderConfirmation - line 14
(S)\Classes\DictClass\callObject
(S)\Classes\SysOperationServiceController\runOperation - line 93
(S)\Classes\SysOperationServiceController\runServiceOperation - line 22
(S)\Classes\DictClass\callStatic
(S)\Classes\SysDictClass\invokeStaticMethod - line 26
(S)\Classes\SysDictClass\invokeStaticMethodIL - line 39
(S)\Classes\SysOperationRPCFrameworkService\runServiceOperation - line 5
(C)\Classes\SysOperationServiceController\runOperationWithRunAs - line 7
(C)\Classes\SysOperationServiceController\run - line 22
(C)\Classes\FormLetterServiceController\run - line 3
(C)\Classes\SalesFormLetter\run - line 95
(C)\Classes\SalesFormLetter\main - line 138
(C)\Classes\FormFunctionButtonControl\Clicked
答案 0 :(得分:1)
导致错误是因为未初始化类// creates a circle image object
// Function arguments.
// radius is the you know ....
// number is the value to display in the circle
// style is this style
// style.color the circle colour. Defaults to "red";
// style.font the font. Defaults to '18px arial';
// style.fontColor is the font colour. Defaults to "white";
// style.fit if true then the number is made to fit te circle as best it can. Defaults to true
// style.decimals number of decimal places to display. Defaults to 0
//
// returns
// Html canvas element with the following custom attributes
// ctx the 2D context
// number the value to display
// radius the radius
// displayStyle the referance to the style arrgument passed when createCircleNumberImage
// was called
// draw the function used to render the image. This function has no arguments
// use the displayStyle atrribute to set the style
function createCircleNumberImage(radius,number,style){
// create HTML 5 image element
img = document.createElement("canvas");
// size it
img.width = Math.ceil(radius * 2);
img.height = Math.ceil(radius * 2);
// get a drawing context
img.ctx = img.getContext("2d");
// set custom attributes
img.radius = radius;
img.number = number;
img.displayStyle = style;
// set defaults
style.color = style.color ? style.color : "red";
style.font = style.font ? style.font : '18px arial';
style.fontColor = style.fontColor ? style.fontColor : "white";
style.fit = style.fit === undefined ? true : style.fit;
style.decimals = style.decimals === undefined || isNaN(style.decimals) ? 0 : style.decimals;
// add draw function
img.draw = function(){
var fontScale, fontWidth, fontSize, number;
// resize
this.width = Math.ceil(this.radius * 2);
this.height = Math.ceil(this.radius * 2);
// clear (incase resize did not do it)
this.ctx.clearRect(0,0,this.width,this.height);
// draw the circle
this.ctx.fillStyle = this.displayStyle.color;
this.ctx.beginPath();
this.ctx.arc(radius,radius,radius,0,Math.PI * 2);
this.ctx.fill();
// setup the font styles
this.ctx.font = this.displayStyle.font;
this.ctx.textAlign = "center";
this.ctx.textBaseline = "middle";
this.ctx.fillStyle = this.displayStyle.fontColor;
// get the value to display
number = this.number.toFixed(this.displayStyle.decimals);
// get the font size
fontSize = Number(/[0-9\.]+/.exec(this.ctx.font)[0]);
if(!this.displayStyle.fit || isNaN(fontSize)){ // Dont fit text or font height unknown
this.ctx.fillText(number,radius,radius);
}else{
// fit font as based on the angle from text center to bottom right
fontWidth = this.ctx.measureText(number).width;
fontScale = Math.cos(Math.atan(fontSize/fontWidth)) * this.radius * 2 / fontWidth;
this.ctx.setTransform(fontScale,0,0,fontScale,this.radius,this.radius);
this.ctx.fillText(number,0,0);
this.ctx.setTransform(1,0,0,1,0,0); // restor the transform
}
if(!this.displayStyle.fit || isNaN(fontSize)){ // Dont fit text or font height unknown
this.ctx.fillText(number,radius,radius);
}else{
fontScale = Math.cos(Math.atan(fontSize/fontWidth)) * this.radius * 2 / fontWidth;
this.ctx.setTransform(fontScale,0,0,fontScale,this.radius,this.radius);
this.ctx.fillText(number,0,0);
this.ctx.setTransform(1,0,0,1,0,0); // restor the transform
}
// return this so you can call the draw function from within a canvas drawImage function
return this;
}
// draw first time
img.draw()
// return new image
return img;
}
var canvas = document.createElement("canvas");
canvas.width = 320;
canvas.height = 200;
var ctx = canvas.getContext("2d");
document.body.appendChild(canvas);
// set comments above the function declaration for help
var sun = createCircleNumberImage (
60,1,{
fontColor : "white",
font : "24px arial",
color : "#EE0",
fit : true,
decimals : 0,
}
)
function doAgain(){
ctx.fillStyle = "black";
ctx.fillRect(0,0,canvas.width,canvas.height/2)
ctx.fillStyle = "Red";
ctx.fillRect(0,canvas.height /2 ,canvas.width,canvas.height/2)
if(sun.number > 5000000000){
sun.number = 0;
}
sun.number = sun.number + Math.floor(sun.number/10) + 1;
ctx.drawImage(sun.draw(),ctx.canvas.width / 2 - sun.radius,ctx.canvas.height / 2 - sun.radius);
setTimeout(doAgain,200);
}
doAgain();
的{{1}}变量。此变量初始化的调试方法docuRefRecIdsPerJournalMap
以及调用初始化方法的方法FormLetterService
。您可能还必须检查从initDocuRefRecIdsPerJournalMap
扩展的类并覆盖任何这些方法或更改run
变量。另请检查您是否对这些类进行了任何自定义。
答案 1 :(得分:0)
尝试向前编译'基类FormletterService
然后再次进行完整的CIL编译
希望有所帮助