-2

そして、別の行にコピーしている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
4

1 に答える 1

0

SetDates()関数StartDate2を呼び出しEndDate2て正しい値を持っているときに最初に確認してください。おそらくここにエラーがあります。

あなたのコードはこれです:

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

Recここで aを渡します。これらの値はであり、正しい値ではありませんStartDate2EndDate2Rec

このコードを変更してみてください:

BeginDate - OnValidate()
SetDates(Rec, StartDateItem, EndDateItem, Regelkorting);
于 2016-09-30T13:56:58.840 に答える