Egenproduktion af genbrugsplastEgenproduktion af genbrugsplast
Bestil før kl. 14.00 - så sender vi i dagBestil før kl. 14.00 - så sender vi i dag
Lagerførende på varer til akutopgaverLagerførende på varer til akutopgaver
Gratis beregning og dimensioneringGratis beregning og dimensionering

EasyClean modulær

Modulære fedtudskillere er egnet til installation i frostfrie rum i bygning, hvor der er trange adgangsvilkår. Fedtudskillernes tanke kan samles on-site, hvilket giver de bedste forudsætninger for at få udskilleren til installationsområdet. De modulære udskillere kan leveres i to og tre sektioner. Ved tre sektioner skal der blot bruges en åbning på 66 cm for at få produktet ind til installationsområdet. Udskillerne har ingen metalliske komponenter i tankene. De er derimod produceret i polyethylen (PE), og har alle integreret slamfang. Udskillerne leveres med et lugttæt dæksel med kliklås, hvorfra man kan servicere og tømme udskilleren. Der er desuden 20 års fabriksgaranti på tanken i polyethylen.

Error executing template "/Designs/Rapido/Paragraph/PromotionProductsCards.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_f3028e9627db4b6e913a6c2a2f0e79f6.Execute() in E:\Solutions\S_DW_Lauridsen\lauridsen-live\Files\Templates\Designs\Rapido\Paragraph\PromotionProductsCards.cshtml:line 52
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.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 RazorEngine.Templating.RazorEngineServiceExtensions.RunCompile(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.Frontend; 3 @using Dynamicweb.Core; 4 @using System.Linq; 5 @using Dynamicweb.Security 6 @using Dynamicweb.Security.UserManagement; 7 8 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 9 10 @functions { 11 public string columnClass() 12 { 13 if (Model.Item.GetList("WidthMobile").SelectedValue == "hide"){ 14 return "grid__col-lg-" + Model.Item.GetList("Width").SelectedValue + " grid__col-md-" + Model.Item.GetList("Width").SelectedValue + " grid__col-sm-" + Model.Item.GetList("Width").SelectedValue + " u-hidden-xs u-hidden-xxs"; 15 } else { 16 return "grid__col-lg-" + Model.Item.GetList("Width").SelectedValue + " grid__col-md-" + Model.Item.GetList("Width").SelectedValue + " grid__col-sm-" + Model.Item.GetList("Width").SelectedValue + " grid__col-xs-" + Model.Item.GetList("WidthMobile").SelectedValue; 17 } 18 } 19 } 20 21 22 @{ 23 int productCatalogId = GetPageIdByNavigationTag("PromotionFeed"); 24 string feedFullUrl = "/Default.aspx?ID=" + productCatalogId; 25 int paragraphId = Model.ID; 26 string spotcardsCustomCssClass = "spot-cards"; 27 string spotcardscontainerCustomCssClass = "spot-cards-container"; 28 string spotcardsHeadline = Model.Item.GetValue("Headline").ToString(); 29 30 var products = Model.Item.GetValue("Products") as List<ProductViewModel>; 31 32 feedFullUrl += "&Combinations="; 33 bool onlyPreview = Converter.ToBoolean(Pageview.Area.Item["OnlyPreviewForAnonymous"]) && Pageview.User == null; 34 35 if (products != null) 36 { 37 for (var i = 0; i < products.Count; i++) 38 { 39 feedFullUrl += products[i].Id; 40 feedFullUrl += products[i].VariantId != "" ? "%20" + products[i].VariantId : ""; 41 feedFullUrl += ","; 42 } 43 } 44 45 else 46 { 47 feedFullUrl = ""; 48 } 49 50 var columnSize = 3; 51 52 if (products.Count == 3) 53 { 54 columnSize = 4; 55 } 56 57 if (products.Count == 2) 58 { 59 columnSize = 6; 60 } 61 62 if (products.Count == 1) 63 { 64 columnSize = 12; 65 } 66 67 switch (Model.Item.GetList("Width").SelectedValue) { 68 case "6": 69 case "4": 70 columnSize = 6; 71 break; 72 case "3": 73 columnSize = 12; 74 break; 75 } 76 } 77 78 <div class="@columnClass() py-0 my-lg-8 my-6 @spotcardscontainerCustomCssClass grid__col--bleed"> 79 <h2 class="grid__col-12 grid__col--bleed-y center-container">@spotcardsHeadline</h2> 80 <div class="center-container"> 81 <div class="grid js-handlebars-root" id="PromotionProductList_@paragraphId" data-template="PromotionProducts" data-pre-render-template="ProductPreRenderContainer" data-json-feed="@feedFullUrl" data-preloader="minimal"></div> 82 </div> 83 </div> 84 85 <script id="ProductPreRenderContainer" type="text/x-template"> 86 <div class="grid__col-md-@columnSize"> 87 <div class="pre-render-element pre-render-element--md"></div> 88 </div> 89 <div class="grid__col-md-@columnSize"> 90 <div class="pre-render-element pre-render-element--md"></div> 91 </div> 92 <div class="grid__col-md-@columnSize"> 93 <div class="pre-render-element pre-render-element--md"></div> 94 </div> 95 <div class="grid__col-md-@columnSize"> 96 <div class="pre-render-element pre-render-element--md"></div> 97 </div> 98 </script> 99 100 101 @* Grid view *@ 102 103 <script id="PromotionProducts" type="text/x-template"> 104 {{#.}} 105 <div class="grid__col-lg-@columnSize grid__col-md-@columnSize grid__col-sm-@columnSize grid__col-xs-6"> 106 <div class="@spotcardsCustomCssClass spot-product"> 107 <div class="grid__cell product-list__grid-item__image dw-mod {{noImage}}"> 108 <div class="stickers-container dw-mod"> 109 {{#Stickers}} 110 {{>Sticker}} 111 {{/Stickers}} 112 </div> 113 <a href="{{link}}" onclick="Scroll.SavePosition(event)"> 114 <img class="spot-product__image grid__cell-img grid__cell-img--centered b-lazy" src="/Files/Images/placeholder.gif" data-src="/Admin/Public/GetImage.ashx?width=250&height=250&crop=5&Compression=75&image={{image}}" alt="{{name}}" /></a> 115 </div> 116 117 <div class="grid__cell product-list__grid-item__price-info {{shortGridInfo}} dw-mod"> 118 <a class="spot-product__name" href="{{link}}" onclick="Scroll.SavePosition(event)" title="{{name}}"><h6>{{name}}</h6></a> 119 <div class="spot-product__number item-number dw-mod">@Translate("product number") {{number}}</div> 120 <input type="hidden" value="{{unitId}}" name="Unit" id="Unit_{{id}}" /> 121 <input type="hidden" value="{{variantid}}" name="VariantID" id="Variant_{{id}}" /> 122 <div class="product-list-item__stock"> 123 <div class="stock-icon ml-0 {{stockState}}"></div> 124 <span>{{stockText}}</span> 125 </div> 126 127 <span class="product-card__quantity-alert js-product-quantity-error-{{id}} ">@Translate("Max stock level is reached")</span> 128 </div> 129 130 <div class="product-list__grid-item__footer dw-mod"> 131 <div class="u-ta-center"> 132 @if (User.IsExtranetUserLoggedIn()) 133 { 134 <span class="handlebars-wrapper"> 135 {{#each Discount}} 136 {{#if @@first}} 137 <div class="grid__cell"> 138 @Translate("ItemText") {{this.discountQuantity}} @Translate("UnitPriceTextStk") 139 </div> 140 <div class="spot-product__price price dw-mod"> 141 {{this.unitPrice}} {{this.discountCurrency}} 142 </div> 143 {{/if}} 144 {{/each}} 145 146 {{#if Discount.[1].discountPrice}} 147 <div class="js-popup popup_productsrender_container"> 148 <a class="js-popup-trigger">@Translate("DiscountText")</a> 149 <div class="js-popup-modal popup_productsrender_modal"> 150 <div class="js-popout-close nz-icon icon-nz-close-circled"></div> 151 <ul class="grid__col-12 pt-5 p-0 d-flex flex-row flex-wrap"> 152 @* FOREACH DISCOUNT LOOP FROM JSON FEED *@ 153 {{#each Discount}} 154 {{#unless @@first}} 155 <li class="grid__col-lg-6 p-0 mb-0 grid__col-12 align-items-center align-items-xl-start">@Translate("UnitPriceText") {{this.discountQuantity}} @Translate("UnitPriceTextStk")</li> 156 <li class="grid__col-lg-6 p-0 pb-3 grid__col-12 align-items-center align-items-xl-end">{{this.discountPrice}} {{this.discountCurrency}}</li> 157 {{/unless}} 158 {{/each}} 159 </ul> 160 </div> 161 </div> 162 {{/if}} 163 </span> 164 165 @* 166 <div class="spot-product__before-price before-price {{onSale}} dw-mod">{{discount}}</div> 167 *@ 168 169 <div class="spot-product__controls"> 170 {{#ifCond hasVariants "==" false}} 171 <div class="product-card__quantity--condenced product-card__quantity spot-product__quantity"> 172 <input id="Quantity_{{id}}" class="product-card__quantity-input js-quantity-input" name="Quantity{{id}}" data-id="{{id}}" type="number" min="1" max="{{stock}}" value="1"> 173 <span class="product-card__quantity-add js-product-quantity-add" data-icon-nz="chevron-up"></span> 174 <span class="product-card__quantity-subtract js-product-quantity-subtract" data-icon-nz="chevron-down"></span> 175 </div> 176 <button type="button" id="CartButton_{{id}}" class="spot-product__cart btn btn--primary btn--full u-no-margin sign-in-modal-trigger-button dw-mod mt-3" name="submit" onclick="Cart.AddToCart(event, '{{id}}', document.getElementById('Quantity_{{id}}').value, 'Unit_{{id}}', 'Variant_{{id}}');"><i class="fa fa-shopping-cart"></i><span class="u-hidden-xs u-hidden-xxs"> @Translate("Add to cart")</span></button> 177 {{else}} 178 <a href="{{link}}" class="btn btn-secondary dw-mod js-scroll-btn d-inline-block px-5">@Translate("Select variant")</a> 179 {{/ifCond}} 180 </div> 181 } 182 183 else 184 { 185 <h5>Log ind for at se prisen</h5> 186 <label for="SignInModalTrigger" class="btn btn--primary btn--full u-no-margin sign-in-modal-trigger-button dw-mod" onclick="setTimeout(function () { document.getElementById('LoginUsername').focus() }, 10)">@Translate("Sign in")</label> 187 } 188 189 </div> 190 </div> 191 </div> 192 </div> 193 {{/.}} 194 195 {{^.}} 196 <div class="grid__col-12"> 197 <h2 class="u-ta-center">@Translate("No products found")</h2> 198 </div> 199 {{/.}} 200 </script> 201 202 <script id="Sticker" type="text/x-template"> 203 <div class="stickers-container__tag {{className}} dw-mod">{{text}}</div> 204 </script> 205

Til trange adgangsvilkår

Modulære fedtudskillere er egnet til installation i frostfrie rum i bygning, hvor der er trange adgangsvilkår. Fedtudskillernes tank samles on-site, hvilket giver de bedste forudsætninger for at få udskilleren til installationsområdet. De modulære udskillere kan leveres i to og tre sektioner. Ved tre sektioner skal der blot bruges en åbning på 66 cm for at få produktet ind til installationsområdet. Udskillerne har ingen metalliske komponenter i tankene. De er derimod produceret i polyethylen (PE), og har alle integreret slamfang. Udskillerne leveres med et lugttæt dæksel med kliklås, hvorfra man kan servicere og tømme udskilleren. Der er desuden 20 års fabriksgaranti på tanken i polyethylen.

100% korrosionfri - 20 års garanti

Kessel EasyClean fedtudskillere er produceret i polyethylen. Dette gør, at der ikke er materialer, der korroderer. Miljøet i en fedtudskiller er barskt, og her er polyethylen det mest modstandsdygtige materiale at anvende. Derfor kan Kessel tilbyde 20 års fabriksgaranti på alle fedtudskillertanke af polyethylen.

Sonic Control niveaumåler

Sonic Control er en automatisk niveaumåler, som måler fedtlagets tykkelse i udskilleren. Hvis niveaumåleren registrerer, at fedtlaget er nået sit max, starter alarmen. Sonic Control kan desuden tilsluttes et telekontrol modem. Med telekontrol modemmet kan systemet sende SMS-beskeder om driftsstatus på op til tre forskellige enheder. På den måde kan installatører, pedeller eller kommuner planlægge og følge med i, hvornår en udskiller skal tømmes, hvor ofte den bliver tømt eller hvornår den skal serviceres. 

I følge DIN EN 1825-2 skal en fedtudskiller tømmes, renses og genopfyldes med rent vand hver 14. dag eller minimum én gang om måneden. DIN 4040-100 siger ligeledes, at tømning af en fedtudskiller skal foretages i intervaller, der sikrer, at udskillerens slamfang samt kapacitet ikke overskrides.   

I bygninger hvor der ikke samles nok fedt til, at udskilleren tømmes én gang om måneden, skal man have tilladelse fra lokale myndigheder om tømning i større intervaller end angivet i DIN EN 1825-2. Her er det vigtigt, at installatøren medbringer bevis for fedtniveauerne. Installatøren kan blot medbringe logbogen fra Sonic Control som bevis for dette.

Har du ikke fundet den rigtige løsning?

Udover vores standardløsninger tilbyder vi også individuelle løsninger på forespørgsel, hvis der er specielle krav til form, funktion og dimensionering.

Kontakt os

Har du spørgsmål til vores produkter, løsninger eller services? Eller søger du hjælp til beregninger og dimensioneringer? Vi står klar til at hjælpe. Udfyld formularen herunder, og vi kontakter dig hurtigst muligt.