{"id":90099,"date":"2026-10-14T11:50:00","date_gmt":"2026-10-14T09:50:00","guid":{"rendered":"https:\/\/codescriptum.pl\/blog\/lista-materialow-z-konfiguratora-ogrodzen-nie-zgadza-sie\/"},"modified":"2026-10-14T11:50:00","modified_gmt":"2026-10-14T09:50:00","slug":"lista-materialow-z-konfiguratora-ogrodzen-nie-zgadza-sie","status":"publish","type":"post","link":"https:\/\/codescriptum.pl\/blog\/lista-materialow-z-konfiguratora-ogrodzen-nie-zgadza-sie\/","title":{"rendered":"Zestawienie materia\u0142\u00f3w z konfiguratora ogrodze\u0144 nie zgadza si\u0119 z zam\u00f3wieniem - przyczyny i naprawa"},"content":{"rendered":"<h2>Jak wygl\u0105da ten problem?<\/h2>\n<p>Klient wpisuje w konfiguratorze d\u0142ugo\u015b\u0107 ogrodzenia, wybiera panel, podmur\u00f3wk\u0119, bram\u0119 i furtk\u0119, a konfigurator pokazuje cen\u0119 i list\u0119 materia\u0142\u00f3w. Kiedy zam\u00f3wienie trafia do magazynu albo produkcji, okazuje si\u0119, \u017ce brakuje s\u0142upk\u00f3w, prz\u0119se\u0142 jest o jedno za ma\u0142o albo za du\u017co, a obejm i \u0142\u0105cznik\u00f3w podmur\u00f3wki nikt nie policzy\u0142. Handlowiec poprawia ofert\u0119, cena ro\u015bnie, a klient pyta, dlaczego r\u00f3\u017cni si\u0119 od tej z konfiguratora.<\/p>\n<ul>\n<li>r\u00f3\u017cnice w liczbie s\u0142upk\u00f3w, zw\u0142aszcza przy naro\u017cnikach, bramach i furtkach,<\/li>\n<li>prz\u0119s\u0142a liczone \u201ew ca\u0142o\u015bci\u201d, cho\u0107 ostatnie trzeba doci\u0105\u0107,<\/li>\n<li>brak drobnych element\u00f3w: obejm, \u0142\u0105cznik\u00f3w, za\u015blepek, oku\u0107,<\/li>\n<li>zestawienie, kt\u00f3rego produkcja nie u\u017cywa, bo i tak liczy wszystko od nowa.<\/li>\n<\/ul>\n<h2>Dlaczego zestawienie z konfiguratora nie zgadza si\u0119 z zam\u00f3wieniem?<\/h2>\n<p>Bo konfigurator liczy materia\u0142y uproszczonym wzorem, a produkcja wed\u0142ug rzeczywistego uk\u0142adu ogrodzenia: odcink\u00f3w, naro\u017cnik\u00f3w, bram i spadku terenu. R\u00f3\u017cnice powstaj\u0105 w kilku powtarzalnych miejscach, kt\u00f3re da si\u0119 wychwyci\u0107 i opisa\u0107 regu\u0142ami.<\/p>\n<h3>S\u0142upk\u00f3w jest o jeden wi\u0119cej ni\u017c prz\u0119se\u0142<\/h3>\n<p>Na prostym odcinku z N prz\u0119s\u0142ami potrzeba N+1 s\u0142upk\u00f3w, a nie N. To tak klasyczny b\u0142\u0105d, \u017ce w programowaniu ma w\u0142asn\u0105 nazw\u0119: b\u0142\u0105d s\u0142upk\u00f3w ogrodzenia (fencepost error). Przy ogrodzeniu z kilkoma odcinkami s\u0142upek naro\u017cny jest wsp\u00f3lny dla dw\u00f3ch odcink\u00f3w, wi\u0119c liczenie ka\u017cdego odcinka osobno daje s\u0142upki podw\u00f3jnie, a odejmowanie ich \u201ena oko\u201d daje braki. Ogrodzenie zamkni\u0119te dooko\u0142a dzia\u0142ki ma z kolei tyle s\u0142upk\u00f3w, ile prz\u0119se\u0142, bo pierwszy i ostatni s\u0142upek to ten sam. Do tego s\u0142upki naro\u017cne, bramowe i furtkowe bywaj\u0105 innym produktem ni\u017c po\u015brednie, z innym przekrojem lub wysoko\u015bci\u0105.<\/p>\n<h3>Prz\u0119s\u0142a docinane i modu\u0142y paneli<\/h3>\n<p>D\u0142ugo\u015b\u0107 ogrodzenia rzadko jest wielokrotno\u015bci\u0105 szeroko\u015bci prz\u0119s\u0142a. Je\u015bli konfigurator zaokr\u0105gla liczb\u0119 prz\u0119se\u0142 w d\u00f3\u0142, brakuje materia\u0142u. Je\u015bli w g\u00f3r\u0119, ale bez informacji o doci\u0119ciu, klient p\u0142aci za pe\u0142ne prz\u0119s\u0142o, kt\u00f3re produkcja i tak skr\u00f3ci, albo dostaje ostatnie prz\u0119s\u0142o w\u0119\u017csze, ni\u017c zak\u0142ada\u0142. Trzeba te\u017c uwzgl\u0119dni\u0107 szeroko\u015b\u0107 samych s\u0142upk\u00f3w: d\u0142ugo\u015b\u0107 ogrodzenia to suma prz\u0119se\u0142 i s\u0142upk\u00f3w, a nie samych prz\u0119se\u0142.<\/p>\n<h3>Bramy i furtki<\/h3>\n<p>Brama i furtka zast\u0119puj\u0105 cz\u0119\u015b\u0107 prz\u0119se\u0142, ale wymagaj\u0105 w\u0142asnych s\u0142upk\u00f3w, cz\u0119sto mocniejszych, oraz zawias\u00f3w, zamk\u00f3w, ogranicznik\u00f3w i innych oku\u0107. Konfigurator, kt\u00f3ry odejmuje szeroko\u015b\u0107 bramy od d\u0142ugo\u015bci ogrodzenia, ale nie dodaje s\u0142upk\u00f3w bramowych, zawsze poka\u017ce za ma\u0142o element\u00f3w. Brama przesuwna potrzebuje do tego miejsca na odjazd skrzyd\u0142a wzd\u0142u\u017c ogrodzenia, co wp\u0142ywa na uk\u0142ad s\u0105siedniego odcinka.<\/p>\n<h3>Podmur\u00f3wka i elementy monta\u017cowe<\/h3>\n<p>Podmur\u00f3wka z p\u0142yt prefabrykowanych wymaga \u0142\u0105cznik\u00f3w przy s\u0142upkach, a panele obejm, \u015brub i za\u015blepek w liczbie zale\u017cnej od wysoko\u015bci panelu i typu s\u0142upka. Te pozycje s\u0105 tanie, ale ich brak zatrzymuje monta\u017c, a dowo\u017cenie ich osobno kosztuje wi\u0119cej ni\u017c same elementy.<\/p>\n<h3>Spadek terenu<\/h3>\n<p>Na pochy\u0142ej dzia\u0142ce ogrodzenie montuje si\u0119 schodkowo albo z elementami dopasowanymi do spadku. Schodkowanie zmienia wysoko\u015b\u0107 s\u0142upk\u00f3w, liczb\u0119 p\u0142yt podmur\u00f3wki i czasem liczb\u0119 prz\u0119se\u0142, a konfigurator licz\u0105cy jak na p\u0142askim terenie tego nie uwzgl\u0119dni.<\/p>\n<h2>Jak naprawi\u0107 liczenie materia\u0142\u00f3w w konfiguratorze ogrodze\u0144?<\/h2>\n<p>Liczy\u0107 zestawienie z rzeczywistego uk\u0142adu ogrodzenia wed\u0142ug regu\u0142 spisanych z produkcj\u0105, z tej samej konfiguracji co cen\u0119, i sprawdza\u0107 je na sta\u0142ym zestawie przypadk\u00f3w testowych. Pozycje zale\u017cne od pomiaru na dzia\u0142ce trzeba wyra\u017anie oznacza\u0107, zamiast udawa\u0107, \u017ce s\u0105 pewne.<\/p>\n<h3>Silnik regu\u0142 zamiast jednego wzoru<\/h3>\n<p>Ogrodzenie w konfiguratorze powinno by\u0107 opisane jako lista odcink\u00f3w z d\u0142ugo\u015bciami, naro\u017cnikami i elementami, takimi jak brama i furtka. Silnik regu\u0142 przechodzi po odcinkach i liczy prz\u0119s\u0142a pe\u0142ne i docinane, s\u0142upki po\u015brednie, naro\u017cne i bramowe, p\u0142yty podmur\u00f3wki z \u0142\u0105cznikami, obejmy i za\u015blepki dla ka\u017cdego s\u0142upka oraz okucia bram i furtek. Te same regu\u0142y licz\u0105 cen\u0119, wi\u0119c cena i zestawienie nie mog\u0105 si\u0119 rozjecha\u0107. Parametry regu\u0142 warto trzyma\u0107 w danych, a nie w kodzie: szeroko\u015b\u0107 prz\u0119s\u0142a, liczba obejm na s\u0142upek czy typ s\u0142upka naro\u017cnego to warto\u015bci, kt\u00f3re produkcja mo\u017ce zmieni\u0107, gdy zmieni si\u0119 dostawca albo model panelu.<\/p>\n<table>\n<thead>\n<tr>\n<th>Element<\/th>\n<th>Typowy b\u0142\u0105d<\/th>\n<th>Regu\u0142a w konfiguratorze<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>S\u0142upki<\/td>\n<td>Tyle samo co prz\u0119se\u0142<\/td>\n<td>Na odcinku o jeden wi\u0119cej ni\u017c prz\u0119se\u0142, s\u0142upek naro\u017cny liczony raz dla dw\u00f3ch odcink\u00f3w<\/td>\n<\/tr>\n<tr>\n<td>S\u0142upki naro\u017cne i bramowe<\/td>\n<td>Liczone jak po\u015brednie<\/td>\n<td>Osobne pozycje, je\u015bli w ofercie to inne produkty<\/td>\n<\/tr>\n<tr>\n<td>Prz\u0119s\u0142a i panele<\/td>\n<td>Zaokr\u0105glenie w d\u00f3\u0142 lub ukryte doci\u0119cie<\/td>\n<td>Pe\u0142ne prz\u0119s\u0142a plus prz\u0119s\u0142o docinane z podanym wymiarem<\/td>\n<\/tr>\n<tr>\n<td>Bramy i furtki<\/td>\n<td>Brak s\u0142upk\u00f3w i oku\u0107<\/td>\n<td>S\u0142upki, zawiasy, zamek i ogranicznik jako komplet<\/td>\n<\/tr>\n<tr>\n<td>Podmur\u00f3wka<\/td>\n<td>Brak \u0142\u0105cznik\u00f3w<\/td>\n<td>P\u0142yty i \u0142\u0105czniki liczone z odcink\u00f3w i liczby s\u0142upk\u00f3w<\/td>\n<\/tr>\n<tr>\n<td>Spadek terenu<\/td>\n<td>Liczenie jak na p\u0142askim<\/td>\n<td>Schodkowanie z wysoko\u015bci\u0105 s\u0142upk\u00f3w i dodatkowymi p\u0142ytami<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Przypadki testowe<\/h3>\n<p>Przed publikacj\u0105 przygotuj z technologiem lub kierownikiem produkcji zestaw konfiguracji z r\u0119cznie policzonymi zestawieniami i por\u00f3wnaj je z wynikiem konfiguratora. Ka\u017cd\u0105 poprawk\u0119 regu\u0142 sprawdzaj na ca\u0142ym zestawie, \u017ceby naprawa jednego przypadku nie zepsu\u0142a innego.<\/p>\n<ul>\n<li>prosty odcinek o d\u0142ugo\u015bci b\u0119d\u0105cej wielokrotno\u015bci\u0105 prz\u0119s\u0142a i drugi, kt\u00f3ry wymaga doci\u0119cia,<\/li>\n<li>ogrodzenie w kszta\u0142cie litery L i U z naro\u017cnikami,<\/li>\n<li>ogrodzenie zamkni\u0119te dooko\u0142a dzia\u0142ki,<\/li>\n<li>brama i furtka obok siebie oraz na r\u00f3\u017cnych odcinkach,<\/li>\n<li>odcinek na spadku terenu ze schodkowaniem,<\/li>\n<li>najkr\u00f3tszy i najd\u0142u\u017cszy odcinek, jaki dopuszcza oferta.<\/li>\n<\/ul>\n<h3>Pozycje \u201edo potwierdzenia po pomiarze\u201d<\/h3>\n<p>Cz\u0119\u015b\u0107 danych klient podaje szacunkowo: d\u0142ugo\u015b\u0107 dzia\u0142ki z mapy, brak informacji o spadku, nietypowe k\u0105ty naro\u017cnik\u00f3w. Konfigurator powinien wtedy oznacza\u0107 pozycje zale\u017cne od pomiaru, np. prz\u0119s\u0142o docinane, wysoko\u015b\u0107 s\u0142upk\u00f3w na spadku albo liczb\u0119 p\u0142yt podmur\u00f3wki, jako \u201edo potwierdzenia po pomiarze\u201d i pokazywa\u0107 cen\u0119 z t\u0105 adnotacj\u0105. Handlowiec widzi w zapytaniu, co trzeba sprawdzi\u0107 na miejscu, a klient nie jest zaskoczony zmian\u0105 w ofercie. Je\u015bli producent oferuje pomiar na miejscu, konfigurator mo\u017ce od razu zaproponowa\u0107 go w formularzu jako opcj\u0119.<\/p>\n<div class=\"csb-note csb-note--tip\">\n<p>Zapisuj w ka\u017cdym zapytaniu wersj\u0119 regu\u0142 i cennika, wed\u0142ug kt\u00f3rej policzono zestawienie. Gdy produkcja zg\u0142osi r\u00f3\u017cnic\u0119, od razu wida\u0107, czy to b\u0142\u0105d regu\u0142y, czy zmiana, kt\u00f3ra wesz\u0142a p\u00f3\u017aniej.<\/p>\n<\/div>\n<h2>Co sprawdzi\u0107 w zestawieniu z konfiguratora ogrodze\u0144?<\/h2>\n<ul>\n<li>s\u0142upki s\u0105 liczone z odcink\u00f3w, a naro\u017cne tylko raz,<\/li>\n<li>s\u0142upki bramowe i furtkowe oraz okucia s\u0105 w zestawieniu,<\/li>\n<li>prz\u0119s\u0142o docinane ma podany wymiar,<\/li>\n<li>podmur\u00f3wka ma \u0142\u0105czniki, a panele obejmy i za\u015blepki,<\/li>\n<li>spadek terenu zmienia zestawienie albo jest oznaczony do pomiaru,<\/li>\n<li>cena i zestawienie licz\u0105 si\u0119 z tych samych regu\u0142.<\/li>\n<\/ul>\n<p>Tak liczymy materia\u0142y w <a href=\"https:\/\/codescriptum.pl\/konfigurator-3d-ogrodzen\/\">konfiguratorze 3D ogrodze\u0144, bram i furtek<\/a>: klient rysuje ogrodzenie z odcink\u00f3w, widzi model i cen\u0119, a produkcja dostaje zestawienie liczone wed\u0142ug jej regu\u0142. Ten problem pochodzi z naszej listy <a href=\"\/blog\/50-problemow-z-konfiguratorem-3d\/\">50 problem\u00f3w z konfiguratorem 3D produktu<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak wygl\u0105da ten problem? Klient wpisuje w konfiguratorze d\u0142ugo\u015b\u0107 ogrodzenia, wybiera panel, podmur\u00f3wk\u0119, bram\u0119 i furtk\u0119, a konfigurator pokazuje cen\u0119 i list\u0119 materia\u0142\u00f3w. Kiedy zam\u00f3wienie trafia do magazynu albo produkcji,\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[102],"tags":[],"class_list":["post-90099","post","type-post","status-publish","format-standard","hentry","category-konfiguratory-3d"],"_links":{"self":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/comments?post=90099"}],"version-history":[{"count":0,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90099\/revisions"}],"wp:attachment":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/media?parent=90099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/categories?post=90099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/tags?post=90099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}