【发布时间】:2017-02-08 18:52:14
【问题描述】:
我想复制 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!! ');
但是如果我只放一个开始日期,那么错误消息已经显示
好的,我现在有完整的代码如下:
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!! ');
但什么也没发生
例如我想比较日期:像这样:
好的,这行得通。但仅在第一条记录上
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
【问题讨论】:
-
StartDate2和EndDate2是BOM表的字段吗? -
是的,他们没问题
-
很抱歉,但这个问题很混乱 :( 不建议使用像变量名称一样的字段名称创建字段(例如 StartDate2)。不建议使用非英文变量名称...
-
将日期的值放在调试器的Watch1中,因为没有看到。你现在的错误是什么??
标签: navision dynamics-nav dynamics-nav-2009