将startdate和enddate复制到其他行

时间:2016-09-30 08:48:27

标签: navision dynamics-nav dynamics-nav-2009

我想将startDate和Enddate复制复制到另一行,

我有这个:

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!! ');

但是如果我只放了一个startdate,那么错误信息已经显示

好吧,我现在有完整的代码:

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

Oke,这很有效。但仅限于第一条记录

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

1 个答案:

答案 0 :(得分:0)

当您调用SetDates()函数StartDate2并且EndDate2具有正确的值时,请进行初步检查。也许这就是错误。

您的代码是:

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

您在这里传递RecStartDate2EndDate2他们的值为Rec,而不是正确的值。

尝试更改此代码:

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