そして、別の行にコピーしている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!! ');
しかし、開始日を1つだけ入力すると、エラーメッセージがすでに表示されています
わかりました、次のような完全なコードがあります。
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