每行导航重复日期 2009

duplicate date by every row nav 2009

我有一个像这样的 GetDates 函数:

GetDates(BOM : Record "BOM Component";VAR StartDate : Date;VAR EndDate : Date)
// Called from OnAfterGetRecord in form 36

IF BOM.GET("Parent Item No.",BOM."Line No.") THEN BEGIN
  //MESSAGE(FORMAT(BeginDate));
  StartDate := BeginDate;
  EndDate := EndDate;
END

我从 36 开始调用函数:

//ItemAdditionBeginDate := 0D;
ItemAdditionBeginDate := ItemAdditionHallo.BeginDate;
//ItemAdditionEndDate := 0D;
ItemAdditionEndDate := ItemAdditionHallo.EndDate;

ItemAddition.GetDates(Rec,ItemAdditionBeginDate,ItemAdditionEndDate);
ItemAddition.GetRegelkorting(salesLine, ItemAddition.Regelkorting);

但问题是每次您在表单中添加新日期时都会将值复制到另一行,如下所示:

那么如何解决日期没有被复制

谢谢

我在 TABLE 50012 中声明 getDates:

GetDates(BOM : Record "BOM Component";VAR StartDate : Date;VAR EndDate : Date)
// Called from OnAfterGetRecord in form 36

IF BOM.GET("Parent Item No.",BOM."Line No.") THEN BEGIN
  //MESSAGE(FORMAT(BeginDate));
  StartDate := BeginDate;
  EndDate := EndDate;
END

这是 setDates:

SetDates(BOM : Record "BOM Component";VAR StartDate : Date;VAR EndDate : Date)
// Called from OnValidate of start and end dates in form 36
BOM.INIT;
"Item No." := BOM."Line No.";
"Parent Item No." := BOM."Parent Item No.";
//Stuklijst."Line No." := BOM."Line No.";
StartDate := StartDate;
EndDate := EndDate;


IF NOT MODIFY THEN 
  INSERT;

好的,我现在是这样的:

SetDates(BOM : Record "BOM Component";VAR startDateparm : Date;VAR EndDateparam : Date)
// OnValidate of start and end dates in form 36

BOM.INIT;
"Item No."             := BOM."Line No.";
"Parent Item No."      := BOM."Parent Item No.";
BeginDate              := startDateparm;
EndDate                := EndDateparam;

IF NOT MODIFY THEN 
  INSERT;

但日期仍在从以前​​的记录中复制。如果我转到其他记录:

见图:

感谢您回答我关于您的流程的问题。检查最后一张图片。您正在插入或修改 BOM table.

这是您的代码:

SetDates(BOM : Record "BOM Component";VAR StartDate : Date;VAR EndDate : Date)

// Called from OnValidate of start and end dates in form 36
BOM.INIT;
"Item No." := BOM."Line No.";
"Parent Item No." := BOM."Parent Item No.";
//Stuklijst."Line No." := BOM."Line No.";
StartDate := StartDate;
EndDate := EndDate;

IF NOT MODIFY THEN 
  INSERT;

如果您检查激光图像,您可以看到参数 StartDateEndDate 是正确的,但是当您将这些值分配给 BOM table 字段时(StartDate, EndDate ) 值是空白的。 发生这种情况是因为您的参数与 BOM table

的字段具有相同的 name

为此更改您的代码:

SetDates(BOM : Record "BOM Component";VAR parmStartDate : Date;VAR parmEndDate : Date)
//Declare new variable of BOM table, recBOM - record - BOM
// Called from OnValidate of start and end dates in form 36
recBOM.INIT;
recBOM."Item No."             := BOM."Line No.";
recBOM."Parent Item No."      := BOM."Parent Item No.";    
recBOM.StartDate              := parmStartDate;
recBOM.EndDate                := parmEndDate;

IF NOT recBOM.MODIFY THEN 
  recBOM.INSERT;