2016-09-30 35 views
-2

我想复制起始日期和结束日期copiing到其他线路,副本STARTDATE和结束日期到其他线路

我有这样的:

GetDates(Bom : Record "BOM Component";VAR StartDateItem : Date;VAR EndDateItem : Date;RegelkortingItem : Decimal) 

IF GET(Bom."Parent Item No.",Bom."Line No.") THEN BEGIN 
    StartDateItem :=StartDate2; 
    EndDateItem := EndDate2; 
    RegelkortingItem := Regelkorting; 
END; 

SetDates(Bom : Record "BOM Component";VAR StartDateItem : Date;VAR EndDateItem : Date;RegelkortingItem : Decimal) 
"Parent Item No." := Bom."Parent Item No."; 
"Line No." := Bom."Line No."; 
StartDate2 := StartDateItem; 
EndDate2 := EndDateItem; 
Regelkorting := RegelkortingItem; 

IF NOT MODIFY THEN 
    INSERT; 

这是一个图像

enter image description here

黑色标记线 - 有相同的日期必须复制

谢谢

这是的OnValidate:

BeginDate - OnValidate() 
SetDates(Rec, StartDate2, EndDate2, Regelkorting); 

所以我试试这个:

Rec.SETRANGE(StartDate2,StartDate2); 
IF StartDate2 <> StartDate2 THEN 
//IF (Rec.COUNT > 1) THEN //AND (FORMAT(Rec.StartDate2) = FORMAT(Rec.StartDate2))) THEN 
ERROR('The dates has to be the same!! '); 
//END; 

所以日期必须是相同的。

我现在有这样的:

IF StartDate2 <> BOMB.StartDate2 THEN 
//IF (Rec.COUNT > 1) THEN //AND (FORMAT(Rec.StartDate2) = FORMAT(Rec.StartDate2))) THEN 
ERROR('The dates has to be the same!! '); 

不过,如果我只是把一个开始日期,那么错误信息已经显示

好了,我现在有完整的代码是这样的:

SetDates(Rec, StartDate2, EndDate2, Regelkorting); 
//StartDateInsert := Rec.StartDate2; 
BOMB.RESET; 
BOMB.SETRANGE(StartDate2,StartDate2); 
IF BOMB.FINDFIRST THEN; 
IF StartDate2 <> BOMB.StartDate2 
THEN ERROR('The dates has to be the same!! '); 

但没有任何反应

查看图像。最后一行之后,它将结束调试。并没有任何反应: enter image description here

例如,我想比较日期:这样的:

enter image description here

奥凯,这工作。但是,只有在第一条记录

SetDates(Rec, StartDate2, EndDate2, Regelkorting); 
BOMB.RESET; 
BOMB.SETRANGE(StartDate2,StartDate2); 
IF BOMB.FINDFIRST THEN BEGIN 
IF BOMB.StartDate2 > BOMB.EndDate2 THEN BEGIN 
ERROR('startdatum kan niet groter zijn dan einddatum'); 
END; 
END 
+0

'StartDate2'和'EndDate2'是'BOM'表中的字段? –

+0

是的,他们没事 – SavantCode

+0

抱歉,但这个问题非常混乱:(建议不要使用字段名称创建类似变量名称的字段(例如StartDate2)。不推荐使用非英文变量名称... – azatoth

回答

0

Firt检查,当你调用SetDates()功能StartDate2EndDate2有一个正确的价值观。也许这是错误。

你的代码是这样的:

BeginDate - OnValidate() 
SetDates(Rec, StartDate2, EndDate2, Regelkorting); 

在这里,你传递一个RecStartDate2EndDate2他们有和Rec值不正确的值。

试图改变这种代码:

BeginDate - OnValidate() 
SetDates(Rec, StartDateItem, EndDateItem, Regelkorting); 
+0

我编辑问题。但不起作用 – SavantCode

+0

最后一个代码这是错误的,'rec.SETRANGE(StartDate2,StartDate2)'你用'rec'过滤'rec',像recBomTable,BOM那样创建一个'rec'的变量。并过滤这个变量。 –

+0

谢谢。我更新了帖子 – SavantCode

相关问题