...
...
Info | ||
---|---|---|
| ||
If you have no customizations to ReferenceData you will not be affected and should have no issues upgrading. |
...
Rewrite your existng OnGetReferenceData_OnAfterCreateHeaderConfigurations eventsubscriber to use OnGetReferenceData_OnAddHeaderConfigurations instead.
All references to Record "MOB RefD HeaderConfig Element" should now be Record "MOB HeaderField Element".
Existing calls to helper methods on this input parameter table must be changed to follow new naming conventions (see examples below).
Example - existing code from MOB5.00 - MOB5.13
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAfterCreateHeaderConfigurations', '', true, true)]
local procedure OnGetReferenceData_OnAfterCreateHeaderConfigurations(var _HeaderConfigurationElement: Record "MOB RefD HeaderConfig Element")
begin
with _HeaderConfigurationElement do begin
Create('CustomPrintLabel'); // New ConfigurationKey
// ItemNumber
Add_TextValue(
1, //id
'ItemNumber', //name
CopyStr(MobWmsLanguage.GetMessage('ITEM') + ':', 1, 100), //label
100, //label width
true, //clear on clear
true, //accept barcode
30, //length
false, //optional
'ItemSearch', //search type
CopyStr(MobBaseToolbox.GetItemNoGS1Ai(), 1, 30), //ean GS1Ai
false); //locked
// Lot Number
Add_TextValue(
2, //id
'LotNumber', //name
CopyStr(MobWmsLanguage.GetMessage('LOT_NO_LABEL') + ':', 1, 100), //label
100, //label width
true, //clear on clear
true, //accept barcode
30, //length
false, //optional
'', //search type
CopyStr(MobBaseToolbox.GetLotNoGS1Ai(), 1, 30), //ean GS1Ai
false); //locked
end;
end;
Example 1 - new code (1:1 conversion)
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddHeaderConfigurations', '', true, true)]
local procedure My01OnGetReferenceData_OnAddHeaderConfigurations(var _HeaderFields: Record "MOB HeaderField Element")
var
MobToolbox: Codeunit "MOB Toolbox";
MobWmsLanguage: Codeunit "MOB WMS Language";
begin
with _HeaderFields do begin
InitConfigurationKey_HeaderFields.InitConfigurationKey('CustomPrintLabel'); // New ConfigurationKey
/// Field: ItemNumber
Create _HeaderFields.Create_TextField(1, 'ItemNumber');
Set _HeaderFields.Set_label(MobWmsLanguage.GetMessage('ITEM') + ':');
Set _HeaderFields.Set_clearOnClear(true);
Set _HeaderFields.Set_acceptBarcode(true);
Set _HeaderFields.Set_length(20);
Set _HeaderFields.Set_searchType('ItemSearch');
Set _HeaderFields.Set_eanAi(MobToolbox.GetItemNoGS1Ai());
// Default values no longer needs to be set:
// Set _HeaderFields.Set_labelWidth(100);
// Set _HeaderFields.Set_optional(false);
// Set _HeaderFields.Set_locked(false);
// Field: LotNumber
Create _HeaderFields.Create_TextField(2, 'LotNumber');
Set _HeaderFields.Set_label(MobWmsLanguage.GetMessage('LOT_NO_LABEL') + ':');
Set _HeaderFields.Set_clearOnClear(true);
Set _HeaderFields.Set_acceptBarcode(true);
Set _HeaderFields.Set_length(20);
Set _HeaderFields.Set_eanAi(MobToolbox.GetLotNoGS1Ai());
// Default values no longer needs to be set:
// Set _HeaderFields.Set_searchType('');
end;
end;
Example 2 - new code using templates - then setting only properties different from the template (if any)
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddHeaderConfigurations', '', true, true)]
local procedure My02OnGetReferenceData_OnAddHeaderConfigurations(var _HeaderFields: Record "MOB HeaderField Element")
begin
with _HeaderFields do begin
InitConfigurationKey_HeaderFields.InitConfigurationKey('CustomPrintLabel'); // New ConfigurationKey
// ItemNumber by template
Create _HeaderFields.Create_TextField_ItemNumber(1);
Set _HeaderFields.Set_length(20);
// LotNumber by template
Create _HeaderFields.Create_TextField_LotNumber(2);
Set _HeaderFields.Set_length(20);
end;
end;