Hedeselskabet skabte gode resultater for natur og bundlinje i 2023
2023 har været et godt år for Hedeselskabet. Organisationen kan således præsentere et regnskab med en stigning i omsætningen på lidt over 6 procent til 2,3 mia. kr. og en vækst på 23 procent i driftsresultatet til 86,5 mio. kr. – det bedste resultat i en årrække. For at styrke forretningen yderligere samles driftsselskaberne under et nyt navn - Dalgas. Hedeselskabet bevares som hovednavn.
Året, der er gået, blev et år med mange vejrrekorder og negative påvirkninger på miljø og natur, hvilket belastede både biodiversitet, borgere og økonomi. Det har kaldt på handling, og her har Hedeselskabet samlet både ekspertise og viden under et fælles koncept kaldet Naturbaserede Løsninger. Konceptet, som blev lanceret i 2023, har gennemsyret Hedeselskabets virke og bidraget til et positivt 2023, hvor Hedeselskabets dygtige medarbejdere har implementeret deres opbyggede viden i konkrete naturbaserede løsninger for kunderne og den grønne omstilling.
"I en tid, hvor naturen er ramt af flere kriser, hvor både energiforsyning, klima og ikke mindst biodiversitet er under pres, har samfundet et ønske om, at den grønne omstilling sker hurtigere og med større effekt. Den vedvarende energi skal øges markant, biodiversiteten skal beskyttes og øges, og cirkularitet og genanvendelse af biomasser skal styrkes. Det kalder på handling. I Hedeselskabet sikrer vi, at dette sker. Vi kan for eksempel se, at vores klima- og vandskove allerede nu vokser derude i det danske landskab, og åerne er begyndt at slynge sig igen. I 2023 er vi også kommet langt med at kunne måle og rapportere på biodiversitet som en hjælp til vores kunders afrapportering efter EU’s CSRD-regler, der omhandler virksomheders bæredygtighedsrapportering.
Torben Friis Lange
Administrerende direktør for Hedeselskabet
Nyt navn
Siden 2006 har Hedeselskabets forretning været markedsført primært under navnet HedeDanmark. I 2024 skifter alle forretningsområder navn til Dalgas. Det nye brand og logo er under opbygning og forventes lanceret senere på året.
"Det gør vi for at styrke vores forretning og sikre sammenhængskraft på tværs af vores mange aktiviteter. Samtidig skabes én fælles visuel identitet og én fælles fortælling, der sætter en tyk streg under, hvem vi er, og hvad vi står for. Det nye navn gør også vores arbejde i udlandet mindre kompliceret, både fordi vi samler aktiviteterne, og fordi navnet er lettere at udtale i udlandet", siger Torben Friis Lange.
Navnet Dalgas stammer fra en af Hedeselskabets stiftere, Enrico Dalgas, der siden 1866 har været synonym for Hedeselskabet i både ind- og udland. Enrico Dalgas var en fremsynet leder, som var drivkraften bag Hedeselskabets opblomstring i årene efter krigen i 1864. Hans tanker og visioner danner fortsat rammen om Hedeselskabets virke og forretning, hvor vi bygger en bæredygtig fremtid med naturen som partner. Derfor er navnet yderst passende til at skulle løfte Hedeselskabets forretning ind i fremtiden.
Hedeselskabet har gennem mere end 150 år haft fokus på at hjælpe samfundet med de behov, der har været efterspurgt. Til tider kræver det nye tiltag og ydelser, men det er i høj grad også de traditionelle løsninger, som stadig er effektive.
"Det er med tilfredshed, at vi kan se tilbage på 2023. Et år, hvor vi har leveret et solidt driftsresultat på vores kerneforretning, hvor ikke mindst vores skovforvaltning og landskabsydelser har bidraget til bundlinjen. Disse ydelser er et fast holdepunkt i vores fortsatte fokus på Hedeselskabet som en lønsom virksomhed, hvor fagligheden er i top. Det har kun været muligt på grund af vores meget dedikerede, innovative og fagligt dygtige medarbejdere.
Jørgen Skeel
Bestyrelsesformand i Hedeselskabet
Error executing template "/Designs/Swift/Grid/Page/RowTemplates/Dalgas_Table.cshtml" System.IO.IOException: There is not enough space on the disk. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count) at System.IO.FileStream.FlushWrite(Boolean calledFromFinalizer) at System.IO.FileStream.Dispose(Boolean disposing) at System.IO.Stream.Close() at System.IO.StreamWriter.Dispose(Boolean disposing) at System.IO.TextWriter.Dispose() at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost) at RazorEngine.Roslyn.CSharp.RoslynCompilerServiceBase.CompileType(TypeContext context) at RazorEngine.Templating.RazorEngineCore.CreateTemplateType(ITemplateSource razorTemplate, Type modelType) at RazorEngine.Templating.RazorEngineCore.Compile(ITemplateKey key, Type modelType) at RazorEngine.Templating.RazorEngineService.CompileAndCacheInternal(ITemplateKey key, Type modelType) at RazorEngine.Templating.RazorEngineService.GetCompiledTemplate(ITemplateKey key, Type modelType, Boolean compileOnCacheMiss) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @using System 2 @using System.Collections.Generic 3 @using System.Linq 4 @using Dynamicweb.Content 5 @using Dynamicweb.Frontend 6 @using Dalgas.Custom.Services 7 @using Dynamicweb.Core.Json 8 @using Dynamicweb.Ecommerce.ProductCatalog 9 @using Dynamicweb.Indexing.Querying 10 @using Dynamicweb.Indexing.Querying.Faceting 11 @using Dynamicweb.Indexing.Querying.Sorting 12 @using Dynamicweb.Modules 13 @using ParagraphService = Dalgas.Custom.Services.ParagraphService 14 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.GridRowViewModel> 15 16 @using System 17 @using System.Collections.Generic 18 @using System.Linq 19 @using Dalgas.Custom.ViewModels.UI 20 @using Dynamicweb.Content 21 @using Dynamicweb.Ecommerce.ProductCatalog 22 @using Dynamicweb.Frontend 23 @using ParagraphService = Dalgas.Custom.Services.ParagraphService 24 25 @*TODO: Move these functions onto the model *@ 26 27 @functions 28 { 29 30 public string GetSectionClassList(GridRowViewModel model, string overwriteTheme = "") 31 { 32 var returnValues = new List<string> 33 { 34 $"item_{model.Item.SystemName.ToLower()}" 35 }; 36 37 if (Services.Grids.GetGridRowById(model.Id).Sort == 1) 38 { 39 returnValues.Add("dalgas-section-first-on-page"); 40 } 41 42 var sectionBackgroundTheme = model.Item.GetItem("ColorScheme")?.GetString("ColorScheme") ?? string.Empty; 43 44 if (!string.IsNullOrEmpty(overwriteTheme)) 45 { 46 sectionBackgroundTheme = overwriteTheme; 47 } 48 49 // Add theme class if it exists 50 if (!string.IsNullOrWhiteSpace(sectionBackgroundTheme)) 51 { 52 if (sectionBackgroundTheme.Contains("default")) 53 { 54 returnValues.Add("theme theme-light"); 55 } 56 else 57 { 58 returnValues.Add($"theme {sectionBackgroundTheme.Replace(" ", "").Trim().ToLower()}"); 59 } 60 } 61 62 // Determine if top padding should be removed 63 64 string removeTopPadding = model.Item.GetItem("ColorScheme")?.GetString("RemoveTopPadding"); 65 66 returnValues.Add("pb-6"); 67 if (removeTopPadding != "enable") 68 { 69 returnValues.Add("pt-6"); 70 } 71 72 return string.Join(" ", returnValues); 73 } 74 75 } 76 77 78 @{ 79 IEnumerable<HeadingViewModel> headings = ParagraphService.Instance.GetHeadingsByItems(Model.Item?.GetItem("Paragraph_Text")?.GetItems("Headings")); 80 string text = Model.Item.GetItem("Paragraph_Text")?.GetString("Text"); 81 string lead = Model.Item.GetItem("Paragraph_Text")?.GetString("Lead"); 82 IEnumerable<ButtonViewModel> buttons = ParagraphService.Instance.GetButtonsByItems(Model.Item?.GetItem("Paragraph_Text")?.GetItems("Buttons")); 83 84 bool hasImage = Model.Item.GetItem("Paragraph_Image")?.GetFile("Image") != null; 85 bool hasText = !string.IsNullOrEmpty(Model.Item?.GetItem("Paragraph_Text")?.GetString("Text")); 86 bool hasLead = !string.IsNullOrEmpty(Model.Item?.GetItem("Paragraph_Text")?.GetString("Lead")); 87 bool hasHeading = headings.Any(); 88 bool hasButton = buttons.Any(); 89 90 var theme = Model.Item.GetItem("ColorScheme")?.GetString("ColorScheme"); 91 var fifthElementTheme = "fifth-element-color-" + Model.Item?.GetItem("ColorScheme")?.GetString("FifthElementColor"); 92 93 var sectionClassList = GetSectionClassList(Model); 94 95 var image = string.Empty; 96 var imageParameters = new Dictionary<string, object>(); 97 98 string layout = string.Empty; 99 Boolean enableFifthElement = false; 100 if (Model?.Item != null) 101 { 102 var paragraphLayout = Model.Item.GetItem("Paragraph_Layout"); 103 104 if (paragraphLayout != null) 105 { 106 layout = paragraphLayout.GetString("Layout"); 107 108 enableFifthElement = !string.IsNullOrEmpty(paragraphLayout.GetString("Layout_FifthElement")); 109 } 110 } 111 112 if (!string.IsNullOrEmpty(Model.Item?.GetItem("Paragraph_Image")?.GetFile("Image")?.Path)) 113 { 114 image = Model.Item.GetItem("Paragraph_Image").GetFile("Image").Path; 115 imageParameters.Add("alt", Model.Item.GetItem("Paragraph_Image")?.GetString("ImageAltText")); 116 int xPos = Model.Item.GetItem("Paragraph_Image").GetFile("Image")?.FocalPositionFromLeft ?? 50; 117 int yPos = Model.Item.GetItem("Paragraph_Image").GetFile("Image")?.FocalPositionFromTop ?? 50; 118 string cssPosition = $"{xPos}% {yPos}%"; 119 imageParameters.Add("style", "object-position:" + cssPosition); 120 } 121 122 LinkViewModel imageLink = new LinkViewModel(); 123 if (Model.Item?.GetItem("Paragraph_Image")?.GetItem("Link") != null && !string.IsNullOrEmpty(Model?.Item?.GetItem("Paragraph_Image")?.GetItem("Link").GetString("ButtonLink"))) 124 { 125 imageLink = ParagraphService.Instance.GetLinkByItem(Model?.Item?.GetItem("Paragraph_Image")?.GetItem("Link")); 126 } 127 128 string fifthElementIconPath = "/Files/Templates/Designs/Swift/Assets/Images/DalgasFifthElements/"; 129 } 130 131 132 @{ 133 } 134 135 <section id="section-@Model.Id" class="@sectionClassList" data-swift-gridrow> 136 <div class=""> 137 138 @if (!string.IsNullOrEmpty(Model.Item.GetItem("Content").GetString("Table"))) 139 { 140 <div class="container-xl"> 141 <div class="row"> 142 <div class="col-12 col-lg-10 mx-auto"> 143 <div class="row"> 144 145 <div class="col-12"> 146 147 @if (!string.IsNullOrEmpty(Model.Item.GetItem("Content").GetString("Header"))) 148 { 149 <h2 class="mb-4">@Model.Item.GetItem("Content").GetString("Header")</h2> 150 } 151 152 <div class="table-responsive"> 153 @Model.Item.GetItem("Content").GetString("Table") 154 </div> 155 </div> 156 </div> 157 </div> 158 </div> 159 </div> 160 } 161 else 162 { 163 if (Pageview.IsVisualEditorMode) 164 { 165 <div class="container-xl alert alert-danger" role="alert"> 166 This <strong>@Model.Item.SystemName</strong> is empty 167 </div> 168 } 169 } 170 </div> 171 </section> 172
Seneste nyt
Hedeselskabet fylder 160 år
Den 28. marts 1866 blev Hedeselskabet stiftet en forårsdag i centrum af Aarhus. Gennem resten af 2026 markerer Hedeselskabet jubilæumsåret med en række aktiviteter spredt over hele landet.
Udlejning af skovboliger
Er du – eller nogen du kender – på udkig efter en bolig i naturskønne omgivelser? Så er der to oplagte muligheder lige nu
Hedeselskabets blåmuslinger har fået det røde Ø-mærke
Muslinger dyrket på net i Limfjorden af Blå Biomasse kan nu kaldes økologiske.Artikler og holdninger
'Jeg er overrasket over, hvor robust jordsystemet kan være'
Et mangeårigt forskningsprojekt har testet, hvordan brugen af restprodukter på landbrugsjord påvirker jordens kvalitet. Resultaterne viser, at jorden er en robust, undervurderet hjælper i den cirkulære økonomi, siger den ledende forsker bag.VÆKST in Slovenia: 'There’s a whole different kind of life here'
In one of Slovenia’s many nature parks, two Danish students are completing their internship as part of their forest and landscape engineering programme. Here, they’re experiencing a healthier balance between people and nature – a balance in which bears,
I 2026 fortsætter vi arbejdet for mere skov og natur
Med treparten skal tempoet for skovrejsningen øges, og derfor er det enormt vigtigt, at vi ser på, hvordan vi kan gøre det mere attraktivt at rejse skov, skriver Jeppe Bruus, minister for Grøn Trepart.