2016-09-21 77 views
1

我有一個功能,您可以添加文章。 和我有一個日期範圍。但如果是在該日期範圍內,我想跳過這個功能(表36):如何在navsion中跳過功能2009

FncCheckBOM(Description : Text[30]) 

LocRecSalesLine.SETRANGE("Document Type", Rec."Document Type"); 
LocRecSalesLine.SETRANGE("Document No.", Rec."No."); 
LocRecSalesLine.SETRANGE(Type,LocRecSalesLine.Type::Item); 
LocRecSalesLine.SETFILTER("BOM Item No.", ''); 
LocRecSalesLine.SETFILTER("Description 2", '*'+Description+'*'); 
LocRecSalesLine.SETFILTER("Purch. Order Line No.", '0'); 
LocRecSalesLine.SETFILTER("Job Contract Entry No.", '0'); 
IF LocRecSalesLine.FINDFIRST THEN 
    REPEAT 
    BEGIN 
    FromBOMComp.SETRANGE("Parent Item No.",LocRecSalesLine."No."); 
    NoOfBOMComp := FromBOMComp.COUNT; 
    IF (NoOfBOMComp <> 0) AND (LocRecSalesLine."BOM Item No." = '') THEN 
    BEGIN 
     LocRecSalesLine.FncExplodeBOM; 
    END; 
    END 
    UNTIL LocRecSalesLine.NEXT = 0; 

LocRecSalesLine.RESET; 
LocRecSalesLine.SETRANGE("Document Type", Rec."Document Type"); 
LocRecSalesLine.SETRANGE("Document No.", Rec."No."); 
LocRecSalesLine.SETRANGE(Type,LocRecSalesLine.Type::" "); 
LocRecSalesLine.SETFILTER("Description 2", '*'+Description+'*'); 
IF LocRecSalesLine.FINDFIRST THEN 
    REPEAT 
    LocRecSalesLine.DELETE; 
    UNTIL LocRecSalesLine.NEXT = 0; 

//AddItemDates.CheckDates(BeginDate, EndDate); 

COMMIT; 

,我的方法是這樣的(表50012):

BetginDatumMessage := 'begindatum is yessss:'; 
Rec.SETRANGE("Parent Item No.","Parent Item No."); 
IF Rec.FIND() THEN; 
    //Rec.SETRANGE("Parent Item No.","Parent Item No."); 
    //Rec.SETRANGE("Item No.","Item No."); 
    MESSAGE('Date is ok'); 
    //BeginDate := TODAY + 1 ; 
    //EndDate := TODAY + 2; 
    MESSAGE(BetginDatumMessage + '' + FORMAT(Rec.BeginDate)); 
    MESSAGE(FORMAT(TODAY)); 
    IF (TODAY >= Rec.BeginDate) AND (TODAY <= Rec.EndDate) THEN BEGIN 
    MESSAGE('Dat is fine'); 
    RecSalesHeaderQuote.FncCheckBOM(SalesLines.Description); 
    MESSAGE(FORMAT(BeginDate)); 
    MESSAGE(SalesLines.Description); 
    END 
    ELSE BEGIN 
    MESSAGE('other'); 

    END; 

因爲現在它alwasy觸發功能:FncCheckBOM(Description : Text[30])

什麼都不是。

謝謝

BetginDatumMessage := 'begindatum is yessss:'; 
Rec.SETRANGE("Parent Item No.","Parent Item No."); 
IF Rec.FIND() THEN; 
    MESSAGE('Date is ok'); 
    IF (TODAY >= Rec.BeginDate) AND (TODAY <= Rec.EndDate) THEN BEGIN 
    MESSAGE('Dat is fine'); 
    RecSalesHeaderQuote.FncCheckBOM(SalesLines.Description); 
    MESSAGE(FORMAT(BeginDate)); 
    //MESSAGE(SalesLines.Description); 
    END 
    ELSE BEGIN 
    EXIT; 
    MESSAGE('other'); 
    END; 
    IF (Rec.BeginDate = 0D) AND (Rec.EndDate = 0D) THEN BEGIN 
    MESSAGE('Empty'); 
    END; 

回答

1

跳過你想要把sentecen代碼的一部分你的函數:

EXIT; 

這種說法會讓你的方法結束並退出功能。

+0

謝謝。這兩個函數在不同的表中。我現在只跳過當前的功能(Checkdates)。但它不跳過功能(FncCheckBOM) – SavantCode

+0

好吧,如果你把函數中的EXIT語句** CheckDates **只是擺脫這一點。函數** CheckDates **調用在** FncCheckBOM **函數內?您可以在調用** CheckDates **函數之前使用** if語句**之類的任何條件嗎? –