Скопировать начальную и конечную дату в другую строку

И я хочу скопировать 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;

И это изображение

Черная линия маркера - там должна быть скопирована та же дата

Спасибо

И это подтверждение:

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

Но ничего не происходит

Смотрите изображение. После последней строки заканчивается отладка. и ничего не происходит

Например, я хочу сравнить даты: как это:

Ок, это работает. Но только на первой записи

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

1 ответ

Firt check when you invoke SetDates() функция StartDate2 а также EndDate2 have a correct values. Perhaps here is the error.

You code is this:

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

Здесь вы проходите Rec, StartDate2 а также EndDate2 They have values of Rec а не правильные значения.

Try to change for this code:

BeginDate - OnValidate()
SetDates(Rec, StartDateItem, EndDateItem, Regelkorting);
Другие вопросы по тегам