2016-09-30 75 views
-2

我想複製起始日期和結束日期copiing到其他線路,副本STARTDATE和結束日期到其他線路

我有這樣的:

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!! '); 

不過,如果我只是把一個開始日期,那麼錯誤信息已經顯示

好了,我現在有完整的代碼是這樣的:

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(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

Firt檢查,當你調用SetDates()功能StartDate2EndDate2有一個正確的價值觀。也許這是錯誤。

你的代碼是這樣的:

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

在這裏,你傳遞一個RecStartDate2EndDate2他們有和Rec值不正確的值。

試圖改變這種代碼:

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

我編輯問題。但不起作用 – SavantCode

+0

最後一個代碼這是錯誤的,'rec.SETRANGE(StartDate2,StartDate2)'你用'rec'過濾'rec',像recBomTable,BOM那樣創建一個'rec'的變量。並過濾這個變量。 –

+0

謝謝。我更新了帖子 – SavantCode

相關問題