{"id":10563,"date":"2019-03-25T14:31:55","date_gmt":"2019-03-25T13:31:55","guid":{"rendered":"https:\/\/semexpkbb.com\/bikak\/hb-szamok\/"},"modified":"2026-05-05T07:19:27","modified_gmt":"2026-05-05T06:19:27","slug":"hb-szamok","status":"publish","type":"page","link":"https:\/\/semexpkbb.com\/hu\/bikak\/hb-szamok\/","title":{"rendered":"HB sz\u00e1mok"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10563\" class=\"elementor elementor-10563 elementor-1951\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-267aae2c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"267aae2c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7ed05300\" data-id=\"7ed05300\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-51217f74 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"51217f74\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-53e184d\" data-id=\"53e184d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6a647c48 elementor-widget elementor-widget-heading\" data-id=\"6a647c48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">HB sz\u00e1mok<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a793098 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1a793098\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-641b1ac7 e-con-full e-flex e-con e-parent\" data-id=\"641b1ac7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-24a6b4e elementor-widget elementor-widget-html\" data-id=\"24a6b4e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- HB SZ\u00c1MOK \u2013 DataTables (keres\u00e9s + lapoz\u00e1s + export: Nyomtat\u00e1s\/Excel\/CSV\/M\u00e1sol\u00e1s\/PDF) + import XLSX -->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.datatables.net\/1.13.8\/css\/jquery.dataTables.min.css\">\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.datatables.net\/buttons\/2.4.2\/css\/buttons.dataTables.min.css\">\r\n\r\n<style>\r\n  \/* Layout *\/\r\n  #hbWrap{ max-width: 1100px; margin: 0 auto; }\r\n  #hbTitle{ font-size: 22px; font-weight: 800; margin: 10px 0 18px; color:#0f1b2d; }\r\n  #hbMsg{ margin: 10px 0 16px; color:#546274; font-size:14px; }\r\n\r\n  \/* Header *\/\r\n  table.dataTable thead th{\r\n    font-weight: 800;\r\n    font-size: 13px;\r\n    text-transform: uppercase;\r\n    vertical-align: middle;\r\n  }\r\n  \/* Header centar (default) *\/\r\n  #hbTable thead th{ text-align:center !important; }\r\n  \/* Levo: Ime, Puno ime, Poreklo (header + body) *\/\r\n  #hbTable thead th:nth-child(1),\r\n  #hbTable tbody td:nth-child(1),\r\n  #hbTable thead th:nth-child(2),\r\n  #hbTable tbody td:nth-child(2),\r\n  #hbTable thead th:nth-child(4),\r\n  #hbTable tbody td:nth-child(4){\r\n    text-align:left !important;\r\n  }\r\n\r\n  \/* Buttons gore desno *\/\r\n  .dt-buttons{ margin: 10px 0 8px; }\r\n  .dt-button{\r\n    border-radius: 8px !important;\r\n    border: 1px solid #dbe3ee !important;\r\n    background: #fff !important;\r\n    font-weight: 700 !important;\r\n    font-size: 12px !important;\r\n    padding: 8px 10px !important;\r\n  }\r\n  .dt-button:hover{ background: #f3f6fb !important; }\r\n\r\n  \/* Search (pretraga) *\/\r\n  .dataTables_filter{\r\n    float: right !important;\r\n    text-align: right !important;\r\n    margin: 10px 0 8px !important;\r\n  }\r\n  .dataTables_filter label{\r\n    display: inline-flex !important;\r\n    align-items: center !important;\r\n    gap: 10px !important;\r\n    white-space: nowrap !important;\r\n  }\r\n  .dataTables_filter input{\r\n    width: 260px !important;\r\n    max-width: 70vw !important;\r\n    box-sizing: border-box !important;\r\n  }\r\n\r\n  \/* Scroll samo kad treba (mobilni) *\/\r\n  .hb-scroll{ overflow-x:auto; -webkit-overflow-scrolling: touch; }\r\n  #hbTable{ width:100% !important; min-width:0 !important; }\r\n  @media (max-width: 768px){\r\n    #hbTable{ min-width: 900px !important; }\r\n  }\r\n<\/style>\r\n\r\n<div id=\"hbWrap\">\r\n  <div id=\"hbTitle\"><\/div>\r\n  <div id=\"hbMsg\">Adatok bet\u00f6lt\u00e9se\u2026<\/div>\r\n\r\n  <div class=\"hb-scroll\">\r\n    <table id=\"hbTable\" class=\"display\">\r\n      <thead>\r\n        <tr>\r\n          <th>N\u00c9V<\/th>\r\n          <th>TELJES N\u00c9V<\/th>\r\n          <th>FAJTA<\/th>\r\n          <th>SZ\u00c1RMAZ\u00c1S<\/th>\r\n          <th>SEMEN CODE<\/th>\r\n          <th>HB SZ\u00c1M<\/th>\r\n        <\/tr>\r\n      <\/thead>\r\n      <tbody><\/tbody>\r\n    <\/table>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- 1) jQuery: CSAK AKKOR T\u00d6LTSD BE, HA A WP\/ELEMENTOR NEM T\u00d6LT\u00d6TTE BE -->\r\n<script>\r\n(function(){\r\n  if (window.jQuery) return;\r\n  var s = document.createElement('script');\r\n  s.src = 'https:\/\/code.jquery.com\/jquery-3.7.1.min.js';\r\n  s.onload = function(){ console.log('jQuery loaded'); };\r\n  document.head.appendChild(s);\r\n})();\r\n<\/script>\r\n\r\n<!-- 2) DataTables + Buttons (mindig jQuery ut\u00e1n) -->\r\n<script src=\"https:\/\/cdn.datatables.net\/1.13.8\/js\/jquery.dataTables.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.datatables.net\/buttons\/2.4.2\/js\/dataTables.buttons.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.datatables.net\/buttons\/2.4.2\/js\/buttons.html5.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.datatables.net\/buttons\/2.4.2\/js\/buttons.print.min.js\"><\/script>\r\n\r\n<!-- 3) Export dependencies -->\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jszip\/3.10.1\/jszip.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdfmake\/0.2.7\/pdfmake.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdfmake\/0.2.7\/vfs_fonts.js\"><\/script>\r\n\r\n<!-- 4) XLSX reader -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/xlsx@0.18.5\/dist\/xlsx.full.min.js\"><\/script>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === 1) IDE \u00cdRD BE A MEDIA LIBRARY-B\u00d3L A F\u00c1JL URL-J\u00c9T ===\r\n  const XLSX_URL = \"https:\/\/semexpkbb.com\/wp-content\/uploads\/2026\/05\/hb_brojevi.xlsx\";\r\n\r\n  \/\/ === 2) oszlopok t\u00e9rk\u00e9pez\u00e9se (1:1-ben egyezzen az XLSX fejl\u00e9ceivel) ===\r\n  const COLS = [\r\n    { key: \"IME\" },\r\n    { key: \"PUNO IME\" },\r\n    { key: \"RASA\" },\r\n    { key: \"POREKLO\" },\r\n    { key: \"SEMEN CODE\" },\r\n    { key: \"HB BROJ\" }\r\n  ];\r\n\r\n  const msg = document.getElementById(\"hbMsg\");\r\n\r\n  function normKey(s){\r\n    return String(s || \"\").trim().replace(\/\\s+\/g, \" \");\r\n  }\r\n\r\n  async function loadXlsx(url){\r\n    const res = await fetch(url, { cache: \"no-store\" });\r\n    if(!res.ok) throw new Error(\"Nem tudom bet\u00f6lteni az XLSX f\u00e1jlt (HTTP \" + res.status + \"). Ellen\u0151rizd a linket \u00e9s hogy publikus-e.\");\r\n    const ab = await res.arrayBuffer();\r\n    const wb = XLSX.read(ab, { type: \"array\" });\r\n\r\n    const sheetName = wb.SheetNames[0];\r\n    const ws = wb.Sheets[sheetName];\r\n\r\n    return XLSX.utils.sheet_to_json(ws, { defval: \"\" });\r\n  }\r\n\r\n  function buildTbody(rows){\r\n    const tbody = document.querySelector(\"#hbTable tbody\");\r\n    tbody.innerHTML = \"\";\r\n\r\n    const fixed = rows.map(r => {\r\n      const out = {};\r\n      Object.keys(r).forEach(k => out[normKey(k)] = r[k]);\r\n      return out;\r\n    });\r\n\r\n    fixed.forEach(r => {\r\n      const tr = document.createElement(\"tr\");\r\n      COLS.forEach(c => {\r\n        const td = document.createElement(\"td\");\r\n        td.textContent = (r[c.key] ?? \"\").toString();\r\n        tr.appendChild(td);\r\n      });\r\n      tbody.appendChild(tr);\r\n    });\r\n\r\n    return fixed.length;\r\n  }\r\n\r\n  function initDataTable(){\r\n    if (!window.jQuery || !jQuery.fn || !jQuery.fn.DataTable){\r\n      throw new Error(\"A DataTables nincs bet\u00f6ltve (ellen\u0151rizd, nem blokkolja-e az Elementor a <script>-et vagy a CDN-t).\");\r\n    }\r\n\r\n    if (jQuery.fn.dataTable.isDataTable(\"#hbTable\")) {\r\n      jQuery(\"#hbTable\").DataTable().destroy();\r\n    }\r\n\r\n    jQuery(\"#hbTable\").DataTable({\r\n      pageLength: 50,\r\n      lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, \"\u00d6sszes\"]],\r\n      order: [],\r\n      dom: \"Bfrtip\",\r\n      buttons: [\r\n        { extend: \"print\", text: \"Nyomtat\u00e1s\" },\r\n        { extend: \"excelHtml5\", text: \"Excel\" },\r\n        { extend: \"csvHtml5\", text: \"CSV\" },\r\n        { extend: \"copyHtml5\", text: \"M\u00e1sol\u00e1s\" },\r\n        { extend: \"pdfHtml5\", text: \"PDF\", orientation: \"landscape\", pageSize: \"A4\" }\r\n      ],\r\n      language: {\r\n        search: \"Keres\u00e9s:\",\r\n        lengthMenu: \"_MENU_ tal\u00e1lat megjelen\u00edt\u00e9se\",\r\n        info: \"_START_\u2013_END_ \/ _TOTAL_ megjelen\u00edtve\",\r\n        infoEmpty: \"Nincs adat\",\r\n        zeroRecords: \"Nincs tal\u00e1lat\",\r\n        paginate: { first: \"Els\u0151\", last: \"Utols\u00f3\", next: \"K\u00f6vetkez\u0151\", previous: \"El\u0151z\u0151\" }\r\n      }\r\n    });\r\n  }\r\n\r\n  function waitForJQ(cb, tries){\r\n    tries = tries || 60; \/\/ ~6s\r\n    if (window.jQuery && window.jQuery.fn && window.jQuery.fn.DataTable) return cb();\r\n    if (tries <= 0) return cb(new Error(\"A jQuery\/DataTables nem \u00e9rhet\u0151 el.\"));\r\n    setTimeout(function(){ waitForJQ(cb, tries-1); }, 100);\r\n  }\r\n\r\n  (async function main(){\r\n    try{\r\n      if(!XLSX_URL || XLSX_URL.includes(\"PASTE_XLSX_URL_HERE\")){\r\n        msg.textContent = \"Hiba: nincs megadva az XLSX_URL (a hb_brojevi.xlsx linkje).\";\r\n        return;\r\n      }\r\n\r\n      msg.textContent = \"XLSX bet\u00f6lt\u00e9se\u2026\";\r\n      const rows = await loadXlsx(XLSX_URL);\r\n      const cnt = buildTbody(rows);\r\n\r\n      msg.textContent = \"T\u00e1bl\u00e1zat inicializ\u00e1l\u00e1sa\u2026\";\r\n      waitForJQ(function(err){\r\n        if (err) { msg.textContent = \"Hiba: \" + err.message; console.error(err); return; }\r\n        try{\r\n          initDataTable();\r\n          msg.textContent = \"Bet\u00f6ltve: \" + cnt + \" sor.\";\r\n        }catch(e){\r\n          msg.textContent = \"Hiba: \" + (e.message || e);\r\n          console.error(e);\r\n        }\r\n      });\r\n\r\n    }catch(e){\r\n      msg.textContent = \"Hiba: \" + (e.message || e);\r\n      console.error(e);\r\n    }\r\n  })();\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>HB sz\u00e1mok Adatok bet\u00f6lt\u00e9se\u2026 N\u00c9V TELJES N\u00c9V FAJTA SZ\u00c1RMAZ\u00c1S SEMEN CODE HB SZ\u00c1M<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":10557,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-10563","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/pages\/10563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/comments?post=10563"}],"version-history":[{"count":9,"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/pages\/10563\/revisions"}],"predecessor-version":[{"id":12231,"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/pages\/10563\/revisions\/12231"}],"up":[{"embeddable":true,"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/pages\/10557"}],"wp:attachment":[{"href":"https:\/\/semexpkbb.com\/hu\/wp-json\/wp\/v2\/media?parent=10563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}