Open ROUCHY-Yoann opened 1 month ago
Do you have to do it for both Template and Field type?
Yes, please.
case ConfigTemplateLine.Type of
ConfigTemplateLine.Type::Field:
if ConfigTemplateLine."Field ID" <> 0 then begin
if SkipFields then
SkipCurrentField := ShouldSkipField(TempSkipField, ConfigTemplateLine."Field ID", ConfigTemplateLine."Table ID")
else
SkipCurrentField := false;
if not SkipCurrentField then begin
FieldRef := RecRef.Field(ConfigTemplateLine."Field ID");
IsHandled := false;
OnInsertTemplateBeforeValidateFieldValue(RecRef, FieldRef, ConfigTemplateLine."Default Value", ConfigTemplateLine."Language ID", IsHandled, ConfigTemplateLine);
if not IsHandled then begin
#if CLEAN25
ConfigValidateMgt.ValidateFieldValue(RecRef, FieldRef, ConfigTemplateLine."Default Value", false, ConfigTemplateLine."Language ID");
#else
IsNotSkipped := ValidateFieldValue(RecRef, FieldRef, ConfigTemplateLine);
#endif
FieldIsModified := IsNotSkipped or FieldIsModified;
end;
end;
end;
ConfigTemplateLine.Type::Template:
if ConfigTemplateLine."Template Code" <> '' then
if ConfigTemplateHeader2.Get(ConfigTemplateLine."Template Code") then
if ConfigTemplateHeader2."Table ID" = ConfigTemplateHeader."Table ID" then
InsertTemplate(RecRef, ConfigTemplateHeader2, SkipFields, TempSkipField)
else begin
UpdatingRelatedTable := true;
RecRef2.Open(ConfigTemplateHeader2."Table ID");
UpdateRecord(ConfigTemplateHeader2, RecRef2);
UpdatingRelatedTable := false;
end;
else
OnInsertTemplateCaseElse(ConfigTemplateLine, ConfigTemplateHeader2, FieldRef, RecRef2, SkipFields, TempSkipField, RecRef);
end;
OnAfterModifyRecordWithField(RecRef, ConfigTemplateHeader); <--- New event.
Please confirm this is the one?
I confirm, thank you.
Describe the request
Hello, can you please add a new Event "OnAfterModifyRecordWithField" in codeunit 8612 "Config. Template Management" - Function "InsertTemplate" ?
LOCAL InsertTemplate(VAR RecRef : RecordRef;ConfigTemplateHeader : Record "Config. Template Header";SkipFields : Boolean;VAR TempSkipField : Record Field) ConfigTemplateLine.SETRANGE("Data Template Code",ConfigTemplateHeader.Code); IF ConfigTemplateLine.FINDSET THEN REPEAT CASE ConfigTemplateLine.Type OF ConfigTemplateLine.Type::Field: IF ConfigTemplateLine."Field ID" <> 0 THEN BEGIN IF SkipFields THEN SkipCurrentField := ShouldSkipField(TempSkipField,ConfigTemplateLine."Field ID",ConfigTemplateLine."Table ID") ELSE SkipCurrentField := FALSE;
UNTIL ConfigTemplateLine.NEXT = 0;
[IntegrationEvent] OnAfterModifyRecordWithField(VAR RecRef : RecordRef;ConfigTemplateHeader : Record "Config. Template Header") begin end;
Additional context
We need to update information in related tables at the end of each iteration. Internal work item: AB#548199