2016-09-30 8 views
-2

にそして私はたstartDateと終了日は、他のラインにcopiingコピーしたい、コピー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!! '); 

しかし、私はちょうどそのエラーメッセージはすでに

OKを見せている、1 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

おけば、これは動作します。しかし、唯一のあなたはSetDates()機能StartDate2EndDate2を呼び出すときFirtチェック

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

'StartDate2'と' EndDate2'は 'BOM'テーブルのフィールドですか? –

+0

はい彼らは大丈夫です – SavantCode

+0

申し訳ありませんが、この質問は非常に混乱しています:(フィールド名を変数名のように作成することはお勧めしません(StartDate2など)。 – azatoth

答えて

0

最初のレコードには、正しい値を持っています。多分ここに誤りがある。あなたは彼らがRecの値ではなく、正しい値を持っているRecStartDate2EndDate2を渡すここ

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

次のコードはこれです。

てみてください、このコードを変更するには:

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

質問を編集します。しかし、それは動作しません – SavantCode

+0

最後のコードそれは間違っています、 'rec.SETRANGE(StartDate2、StartDate2)' 'rec'と同じ値で' rec'をフィルタリングします。recBomTable、BOMのような 'rec'の変数を作ります。この変数をフィルタリングします。 –

+0

ありがとうございます。私は投稿を更新します – SavantCode

関連する問題