Skip to main content

Refactoring Areas

File management

  • OpenFileDialog, SaveFileDialog refactored to use BlobImport, BlobExport functions
  • DownloadToFile to normalize file names (removing the path)
  • CreateClientFile, ClientTempFileName replaced by ServerTempFileName
  • File.Create to store files on the server and download when GUI is allowed
  • Other File Management cases to be refactored are logged with comments

Temp Blob

  • TempBlob records are substituted by the new Temp Blob codeunit
  • Related functions are refactored as well
  • Including assignment, ReadAsText, WriteAsText, etc.

Breaking Changes

These functions are refactored:

  • GetLanguageID
  • GetUserLanguage
  • ApplicationLanguage
  • LookupApplicationLanguage
  • LanguageManagement
  • TextManagement
  • GetLanguageCodeFromLanguageID
  • LookupWindowsLocale
  • GetWindowsLanguageNameFromLanguageID
  • AutoFormatTranslate
  • AutoformatManagement
  • TryGetCultureName
  • CaptionManagement
  • ConvertValueFromBase64
  • ConvertValueToBase64

Triggers

Where new code is inserted into the triggers it gets refactored from a comment to trigger. Table and Page triggers are included.

//trigger Onlnsert()
//>>>>> ORIGINAL CODE:
// begin
/*
JobsSetup. Get;
#2..31
*/
//end ;
//>>>>> MODIFIED CODE:
// begin
/*
JobsSetup.Get;
Message('Hello new job!');
#2..31
*/
//end;

The above code will be converted to below:

trigger OnInsert()
begin
Message('Hello new job!');
end;

Events

  1. Events are extracted from objects.
  2. All events are moved to new event subscription codeunits.
  3. Codeunit events are extracted from deltas.
  4. Where possible, closest events are discovered and code is transferred to the base-app events

Options

  1. Options from table fields and variables are extracted
  2. Enums are generated
  3. Options get replaced by the new enums

Reports / Layouts

  1. Standard reports to be renamed by adding "Copy" postfix
  2. Codeunit "Substitute Report" created
  3. OnSubstituteReport event added
  4. Every report replacef with custom (copy) reports in the conditional statement
  5. Layouts tranfered to dedicated area with project
  6. RDLCLayout property updated on the report
  • Setting Layouts directory saltview

  • File > Preferences > Settings > Extensions > SALT RDLC Layout Path

  • Enter preffered path to the Report Layout Path textbox and layouts will be moved to that directory in your projects root folder as in: ROOT\layout.

  • By default, it is set to layout.

  • IMPORTANT: Layouts rule will only work if Reports rule is selected.