2016-09-21 53 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语句**之类的任何条件吗? –