我想将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;
这是一张图片
黑色标记线 - 必须复制相同的日期
谢谢
这是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!! ');
但没有任何反应
例如,我想比较日期:像这样:
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
答案 0 :(得分:0)
当您调用SetDates()
函数StartDate2
并且EndDate2
具有正确的值时,请进行初步检查。也许这就是错误。
您的代码是:
BeginDate - OnValidate()
SetDates(Rec, StartDate2, EndDate2, Regelkorting);
您在这里传递Rec
,StartDate2
和EndDate2
他们的值为Rec
,而不是正确的值。
尝试更改此代码:
BeginDate - OnValidate()
SetDates(Rec, StartDateItem, EndDateItem, Regelkorting);