{"id":71949,"date":"2025-10-24T15:02:11","date_gmt":"2025-10-24T12:02:11","guid":{"rendered":"https:\/\/digital.staff-capital.com\/?page_id=71949"},"modified":"2025-10-24T15:02:11","modified_gmt":"2025-10-24T12:02:11","slug":"%d0%b7%d0%b2%d1%96%d1%82-%d0%bf%d1%80%d0%be%d0%b4%d0%b0%d0%b6%d1%96%d0%b2","status":"publish","type":"page","link":"https:\/\/digital.staff-capital.com\/ru\/%d0%b7%d0%b2%d1%96%d1%82-%d0%bf%d1%80%d0%be%d0%b4%d0%b0%d0%b6%d1%96%d0%b2\/","title":{"rendered":"\u0417\u0432\u0456\u0442 \u043f\u0440\u043e\u0434\u0430\u0436\u0456\u0432"},"content":{"rendered":"\n\t<style>\n\n        select#wr-client {\n    width: 100%;\n    max-width: 575px;\n}\n\np#wr-hint {\n    margin-top: 15px;\n}\n.grid_mini_3 {\n    display: grid\n;\n    grid-template-columns: repeat(1, 3fr 6fr);\n    grid-gap: 10px;\n    width: 100%;\n    max-width: 575px;\n}\n.grid_box {\n    display: grid\n;\n    grid-template-columns: repeat(1, 200px 5fr);\n    grid-gap: 10px;\n    \/* margin-top: -10px; *\/\n    margin-bottom: 40px;\n}\n\n.first_item label {\n    \/* padding: revert; *\/\n    position: relative;\n    display: block;\n    padding-top: 14px;\n    margin-bottom: 8px;\n    font-size: 15px;\n}\n\nth .sort-icon::before {\n    content: '';\n    display: block;\n    width: 30px;\n    height: 20px;\n    margin-left: -20px;\n    background: url('https:\/\/digital.staff-capital.com\/wp-content\/themes\/buddyboss-theme\/assets\/images\/svg\/sort-arrows.svg') no-repeat center right 15px;\n    background-size: 10px;\n    \/* background-color: rebeccapurple; *\/\n    margin-top: -18px;\n}\n\nth.asc .sort-icon::before {\n    content: '';\n    display: block;\n    width: 30px;\n    height: 20px;\n    margin-left: -20px;\n    background: url('https:\/\/digital.staff-capital.com\/wp-content\/themes\/buddyboss-theme\/assets\/images\/svg\/sort-up.svg') no-repeat center right 15px;\n    background-size: 7px;\n    \/* background-color: rebeccapurple; *\/\n    margin-top: -20px;\n    position: absolute;\n}\n\n\nth.desc .sort-icon::before {\n      content: '';\n    display: block;\n    width: 30px;\n    height: 20px;\n    margin-left: -20px;\n    background: url('https:\/\/digital.staff-capital.com\/wp-content\/themes\/buddyboss-theme\/assets\/images\/svg\/sort-down.svg') no-repeat center right 15px;\n       background-size: 7px;\n    \/* background-color: rebeccapurple; *\/\n    margin-top: -15px;\n    position: absolute;\n\n}\nth{\n\n\tcursor: pointer; \n}\n\nth,td{\n\n\t padding-left: 20px!important; \n\t font-size: 11pt;\n}\n\n\n.sort-highlight {\n    background-color: #3daad02b!important;\n}\n\n.filter-highlight {\n    background-color: #00ff2126!important;\n}\n\n\n\n\n.info-modal {\n    position: fixed;\n    top: 0;\n    left: 0;\n    z-index: 9999;\n    width: 100%;\n    height: 100%;\n    background-color: rgba(0, 0, 0, 0.5);\n    display: flex\n;\n    justify-content: center;\n    align-items: center;\n}\n\n\n.info-content {\n    background: #fff;\n    max-width: 600px;\n    width: 90%;\n    padding: 20px;\n    border-radius: 8px;\n    position: relative;\n}\n\n.close-modal {\n    position: absolute;\n    top: 10px;\n    right: 15px;\n    font-size: 22px;\n    cursor: pointer;\n}\n\n\n\nsvg#Layer_1 {\n    \/* color: red; *\/\n    \/* background-color: rebeccapurple; *\/\n    fill: #2b9ed4;\n    width: 20px;\n    cursor: pointer;\n}\n\ntable {\n    border-spacing: 0;\n    max-width: 100%;\n    width: 100%;\n    empty-cells: show;\n    font-size: 17px;\n    line-height: 24px;\n    margin-bottom: 27px;\n    border: 1px solid var(--bb-content-border-color);\n    border-radius: var(--bb-block-radius-inner);\n}\ntd, th {\n    padding: 5px 5px;\n    border-bottom: 1px solid var(--bb-content-border-color);\n    border-right: solid 1px;\n    border-color: var(--bb-content-border-color);\n}\ntable.striped tr:nth-child(odd) td {\n    background: #f8f8f8;\n}\ntr {\n    display: table-row;\n    vertical-align: inherit;\n    unicode-bidi: isolate;\n    border-color: inherit;\n    background-color: #f3f3f3;\n}\n  #woo-report .wr-table{width:100%;border-collapse:collapse}\n  #woo-report .wr-table th,#woo-report .wr-table td{border:1px solid #ddd;padding:6px 8px}\n  #woo-report .wr-table th[data-type]{cursor:pointer; user-select:none}\n\n  #woo-report .wr-table td.sort-highlight{background: #fff9e6;}\n  div.column-settings-panel {\n    position: absolute;\n    width: 100%;\n    max-width: 277px;\n    right: 0px;\n\n    opacity: 0.8;\n    box-shadow: 0px 5px 20px rgb(63 63 63 \/ 39%);\n    border-radius: 5px;\n    padding: 15px !important;\n\n    \/* margin-left: 4px; *\/\n    \/* right: 0px; *\/\n    z-index: 99;\n}\n\n\n\ndiv.column-settings-panel {\n    position: absolute;\n    right: 0;\n    top: 336px;\n    width: 100%;\n    max-width: 277px;\n    background: #fff;\n    border-radius: 5px;\n    box-shadow: 0 5px 20px rgba(63, 63, 63, .48);\n    padding: 15px;\n    z-index: 99;\n    display: none;\n    opacity: .95;\n}\n.column-settings-btn.active + .column-settings-panel{ display:block }\n\n\n.column-settings-btn {\n    border-radius: 5px;\n    background: linear-gradient(to top, #dfdfdf, #ffffff);\n    border: solid 1px;\n    border-color: #d9d9d9;\n    color: #3d3d3d;\n    cursor: pointer;\n    font-family: revert;\n    font-size: 10pt;\n    margin-bottom: 5px;\n    margin-top: -25px;\n    display: block;\n    width: fit-content;\n    margin: 0 auto;\n    margin-right: 0px;\n    margin-top: 0px;\n    margin-bottom: 5px;\n    padding: 5px 30px;\n    transition: 0.5s;\n    position: absolute;\n    right: 140px;\n    padding-bottom: 2px;\n    height: 39px;\n    margin-top: 66px;\n    padding-left: 40px;\n}\n\n#exportToExcel1 {\n    border-radius: 5px;\n    background: linear-gradient(to top, #dfdfdf, #ffffff);\n    border: solid 1px;\n    border-color: #d9d9d9;\n    color: #3d3d3d;\n    cursor: pointer;\n    font-family: revert;\n    font-size: 10pt;\n    margin-bottom: 5px;\n    margin-top: -25px;\n    display: block;\n    width: fit-content;\n    margin: 0 auto;\n    margin-right: 0px;\n    margin-top: 62px;\n    margin-bottom: 0px;\n    padding: 10px 30px;\n    transition: 0.5s;\n    position: absolute;\n    right: 0px;\n}\n\ntable#sortableTable1 {\n    margin-top: 62px!important;\n}\n  .column-settings-btn.active + .column-settings-panel{display:block}\n  .input_search_table{padding:6px 28px 6px 28px; border:1px solid #ccc; border-radius:4px; width:320px; }\n  .clearBtn{display:none; position:absolute; left:10px; top:50%; transform:translateY(-50%); cursor:pointer; font-size:18px; line-height:1; opacity:.5}\n  .searchWrapper{position:relative; display:inline-block}\n\n   <\/style>\n\n\t<style>\n\n\n        th {\n    vertical-align: middle;\n}\n\nimg.column-settings-icon {\n    position: absolute;\n    width: 16px;\n    float: left;\n    margin-top: 6px;\n    display: block;\n    margin-left: -20px;\n}\n\t\tdiv#wr-result {\n    overflow-x: auto;   \/* << \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u043e\u043b\u043b *\/\n    overflow-y: visible;\/* \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c \u043d\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c *\/\n}\n\n\t\n\n\n\t\t\/* \u0440\u0430\u0441\u0442\u044f\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u043e\u0431\u0451\u0440\u0442\u043a\u0438 *\/\n#woo-report,\n#woo-report .woo-report-result,\n#woo-report #wr-table-wrap-1 { width:100% !important; max-width:none !important; }\n\n\/* \u0443\u0431\u0440\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u0438 \u0442\u0435\u043c\u044b *\/\n#woo-report table.wr-table {\n  width:100% !important;\n  max-width:none !important;\n  table-layout: auto;           \/* \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0430\u043c \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0448\u0438\u0440\u0438\u043d\u044b *\/\n  border-collapse: collapse;\n}\n\n\/* \u0447\u0442\u043e\u0431\u044b \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u043d\u0435 \u0434\u0430\u0432\u0438\u043b\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 *\/\n#woo-report table.wr-table { \/* min-width: 1400px; *\/ } \/* \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 1600\u20131800px *\/\n#woo-report .wr-table th, \n#woo-report .wr-table td { white-space: normal; overflow-wrap: anywhere; }\n\n\n\/* \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\/\u0435\u043c\u0435\u0439\u043b\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u0440\u0436\u0430\u043b\u043e \u0448\u0438\u0440\u0438\u043d\u0443 *\/\n#woo-report .wr-table th,\n#woo-report .wr-table td {\n  word-wrap: break-word;\n  overflow-wrap: break-word;\n  white-space: normal;\n}\n\n\/* \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439: \u043f\u0430\u043d\u0435\u043b\u044c \u043a\u043d\u043e\u043f\u043e\u043a \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u00ab\u0441\u0436\u0438\u043c\u0430\u0442\u044c\u00bb \u0440\u044f\u0434 *\/\n#table-topbar-1 { width:100%; }\n#table-buttons-placeholder1 { flex: 0 0 auto; }\n\n\/* \u0443\u0431\u0435\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0442\u0435\u043c\u044b \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0437\u0430\u043f\u0438\u0441\u0438\/\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0435 *\/\n.entry-content #woo-report table,\n.bb-content #woo-report table { max-width:none !important; }\n\n\/* \u0440\u0430\u0441\u0442\u044f\u043d\u0443\u0442\u044c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u043a\u043e\u043b\u043e\u043d\u043a\u0443 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 *\/\n#woo-report { display:block; }\n.bb-grid .bb-grid__col #woo-report { width:100% !important; }\n\n\n\n\n\n\n@media(max-width: 875px) {\n\n\n.div_search{\n\n\twidth: 60%!important;\n}\n\n\n}\n\n\n@media(max-width: 750px) {\n\n\n.div_search{\n\n\twidth: 50%!important;\n}\n\n\t\n}\n\n\n@media(max-width: 700px) {\n\n\n.div_search{\n\n\twidth: 100%!important;\n}\n\n\n\n\ntable#sortableTable1 {\n    margin-top: 112px !important;\n}\n\n\t\n}\n\n\ndiv#wr-summary-1 {\n    text-align: right;\n    position: absolute;\n    right: 15px;\n    margin-top: 40px;\n}\n\n\n\n\n\n.content-area {\n    padding-top: 1.875rem;\n    padding-bottom: 220px;\n}\n\n\n\n\n\n\n\n.wr-front-warn {\n    position: absolute;\n    margin-top: 55px !important;\n}\n\n\n\n\n\n\t<\/style>\n\t<div class=\"woo-report-container\" id=\"woo-report\">\n\t\t<div class=\"woo-report-filters\">\n\n            <div class=\"grid_box\">\n                \n                <div class=\"item_big first_item\">\n\n                   \n                    \n\n\n                    <label>Date range (paid):<\/label>\n\n                    <label>Category (logical):<\/label>\n                    \n                <\/div>\n                 <div class=\"item_big\">\n\n\n                     \n\n\n                            \n\n\n                                    <div class=\"wr-row\">\n                                        <input type=\"date\" id=\"wr-date-from\">\n                                        <input type=\"date\" id=\"wr-date-to\">\n                                        <span style=\"margin:0 8px;\">or<\/span>\n                                        <select id=\"wr-quarter\">\n                                          <option value=\"\">Quarter\u2026<\/option>\n                                          <option value=\"Q1\">Q1<\/option>\n                                          <option value=\"Q2\">Q2<\/option>\n                                          <option value=\"Q3\">Q3<\/option>\n                                          <option value=\"Q4\">Q4<\/option>\n                                        <\/select>\n                                        <select id=\"wr-quarter-year\">\n                                            <option value=\"2027\">2027<\/option><option value=\"2026\" selected='selected'>2026<\/option><option value=\"2025\">2025<\/option><option value=\"2024\">2024<\/option><option value=\"2023\">2023<\/option><option value=\"2022\">2022<\/option><option value=\"2021\">2021<\/option>                                        <\/select>\n                                    <\/div>\n\n\n                                    <div class=\"grid_mini_3\">\n\n                                           <div class=\"wr-row\">\n                                                <select id=\"wr-kind\">\n                                                    <option value=\"\">All<\/option>\n                                                    <option value=\"1\">Trainings<\/option><option value=\"2\">e-Courses<\/option><option value=\"3\">Documents<\/option>                                                <\/select>\n                                            <\/div>\n\n\n\n                                            <div class=\"wr-row\">\n                                               <button id=\"wr-run\" class=\"button button-primary\">\n                                                  Full report                                                <\/button>\n                                                <button id=\"wr-run-compact\" class=\"button\">\n                                                  Compact report                                                <\/button>\n\n                                                \n                                            <\/div>\n\n\n\n\n\n\n                                        \n                                    <\/div>\n                                \n\n                     \n                 <\/div>\n\n\n\n            <\/div>\n\t\t\n\n\n\n\n\t\t\t\n\n\n\t\t\n\t\t<\/div>\n\n\t\t<div class=\"woo-report-result\" id=\"wr-result\">\n\t\t  <div id=\"table-topbar-1\" style=\"display:none; margin-bottom:8px;\">\n\t\t    <div id=\"table-buttons-placeholder1\" style=\"display:flex; gap:8px; align-items:center; flex-wrap:wrap\"><\/div>\n\t\t  <\/div>\n\t\t  <div id=\"wr-table-wrap-1\"><\/div>\n\t\t  <p id=\"wr-hint\">Select conditions and click \u201cGenerate\u201d.<\/p>\n\n\t\t<\/div>\n\n\t<\/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\t<script>\n\n\nfunction updateButtonHighlight($panel, $button) {\n  const $allCheckboxes = $panel.find('input[type=checkbox]');\n  const checkedCount = $allCheckboxes.filter(':checked').length;\n  const totalCount = $allCheckboxes.length;\n  const $icon = $button.find('img.column-settings-icon');\n\n  if (checkedCount < totalCount) {\n    $icon.css('filter', 'brightness(9) saturate(100%) invert(52%) sepia(98%) saturate(743%) hue-rotate(2deg) brightness(103%) contrast(103%)');\n  } else {\n    $icon.css('filter', '');\n  }\n}\n\n\n\n\nfunction detectVisibleColumns(num_table, minColumnWidth = 125, exceptionIndexes = []) {\n  const tableId = \"#sortableTable\" + num_table;\n  const $table = jQuery(tableId);\n  if (!$table.length) return;\n\n  function checkVisibleColumns() {\n    const windowWidth = jQuery(window).width();\n    const $ths = $table.find('thead th');\n    const $rows = $table.find('tbody tr');\n    const totalColumns = $ths.length;\n    const fullInfoIndex = totalColumns - 1;\n\n    \/\/ \u0424\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \"\u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e\" \u043a\u043e\u043b\u043e\u043d\u043a\u0443\n    const hardFixedIndex = exceptionIndexes.length ? exceptionIndexes[0] : null;\n    const softExceptions = exceptionIndexes.slice(1); \/\/ \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u2014 \u043a\u0430\u043a \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\n\n    if (windowWidth > 1245) {\n      $ths.each(function (index) {\n        if (!jQuery(this).attr('data-hidden-manual')) {\n          jQuery(this).show().removeAttr('data-hidden-responsive');\n          $rows.each(function () {\n            jQuery(this).find('td').eq(index).show().removeAttr('data-hidden-responsive');\n          });\n        }\n      });\n      return;\n    }\n\n    const containerWidth = $table.parent().width();\n    const estimatedVisible = Math.floor(containerWidth \/ minColumnWidth);\n\n    const normalColumns = [];\n    const priorityColumns = [];\n\n    $ths.each(function (index) {\n      if (jQuery(this).attr('data-hidden-manual')) return;\n      if (index === fullInfoIndex || index === hardFixedIndex) return;\n\n      if (softExceptions.includes(index)) {\n        priorityColumns.push(index);\n      } else {\n        normalColumns.push(index);\n      }\n    });\n\n    const orderedColumns = [...normalColumns, ...priorityColumns];\n    const maxVisible = Math.min(estimatedVisible, orderedColumns.length + 2); \/\/ +2: hardFixed + Full Info\n    const keepCount = Math.max(0, maxVisible - 2);\n    const indexesToHide = orderedColumns.slice(0, orderedColumns.length - keepCount);\n\n    $ths.each(function (index) {\n      const $th = jQuery(this);\n      const shouldHide = indexesToHide.includes(index);\n\n      if (!$th.attr('data-hidden-manual') && index !== fullInfoIndex && index !== hardFixedIndex) {\n        $th.toggle(!shouldHide);\n        $rows.each(function () {\n          const $td = jQuery(this).find('td').eq(index);\n          $td.toggle(!shouldHide);\n          shouldHide\n            ? $td.attr('data-hidden-responsive', '1')\n            : $td.removeAttr('data-hidden-responsive');\n        });\n        shouldHide\n          ? $th.attr('data-hidden-responsive', '1')\n          : $th.removeAttr('data-hidden-responsive');\n      }\n    });\n\n    \/\/ \u0423\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e hardFixed \u0438 Full Info \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u0438\u0434\u0438\u043c\u044b\n\/\/ \u0441\u0442\u0430\u043b\u043e: \u041d\u0415 \u0442\u0440\u043e\u0433\u0430\u0435\u043c, \u0435\u0441\u043b\u0438 \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441\u043a\u0440\u044b\u0442\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e\n[hardFixedIndex, fullInfoIndex].forEach((index) => {\n  if (index !== null && typeof index !== 'undefined') {\n    const $th = $ths.eq(index);\n    const isManual = $th.attr('data-hidden-manual') === '1';\n    if (!isManual) {\n      $th.show().removeAttr('data-hidden-responsive');\n      $rows.each(function () {\n        jQuery(this).find('td').eq(index).show().removeAttr('data-hidden-responsive');\n      });\n    }\n  }\n});\n  }\n\n\n  \/\/ \ud83d\udc49 \u043a\u0430\u043a \u0432 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u0435: \u043e\u0442\u0434\u0430\u0451\u043c \u043d\u0430\u0440\u0443\u0436\u0443 callable \u0434\u043b\u044f \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430\n  window['wr_checkVisibleColumns' + num_table] = checkVisibleColumns;\n\n  jQuery(window).off('.detectVisibleColumns' + num_table);\n  jQuery(window)\n    .on('resize.detectVisibleColumns' + num_table, checkVisibleColumns)\n    .on('orientationchange.detectVisibleColumns' + num_table, checkVisibleColumns);\n\n  jQuery(document).on('click', '.tab', checkVisibleColumns);\n\n  setTimeout(checkVisibleColumns, 0);\n}\n\n\n\nfunction status_filter_dropdown(tableNumber, customStatusFilters = null) {\n  if (!customStatusFilters || !Array.isArray(customStatusFilters)) return;\n\n  jQuery(function ($) {\n    const tableId = `#sortableTable${tableNumber}`;\n    const filterItems = customStatusFilters.map(f =>\n      `<li data-value=\"${f.name}\" style=\"padding: 5px 10px; cursor: pointer; white-space: nowrap; border-top: solid 1px #cacaca; text-align: center; background-color: #ffffff;\">${f.name}<\/li>`\n    ).join('');\n\n    const filterHtml = `\n      <div class=\"custom-select_status filter-${tableNumber}\" style=\"\n          width: fit-content;\n          min-width: 18%;\n          position: relative;\n          font-size: 14px;\n          text-align: center;\n          border: 1px solid #ccc;\n          border-radius: 5px;\n          background: #ffffff;\n          cursor: pointer;\n          color: #3daad0;\n          padding: 5.8px 10px;\n          margin-left: calc(33% + 10px);\n          margin-bottom: 5px;\n          margin-top: -51px;\n        \">\n        <div class=\"custom-selected_status\" data-value=\"ALL\">ALL<\/div>\n        <span class=\"arrow_search\" style=\"\n          position: absolute;\n          right: 10px;\n          top: 50%;\n          transform: translateY(-60%);\n          font-size: 25px;\n          color: #3daad0a1;\n        \">\u25be<\/span>\n        <ul class=\"custom-options_status\" style=\"\n          display: none;\n          position: absolute;\n          top: 100%;\n          right: 0;\n          width: 100%;\n          background: white;\n          border: 1px solid #ccc;\n          border-top: none;\n          z-index: 9999;\n          list-style: none;\n          margin: 0;\n          padding: 0;\n          text-align: right;\n        \">\n          <li data-value=\"ALL\" style=\"padding: 5px 10px; cursor: pointer; white-space: nowrap; border-top: solid 1px #cacaca; text-align: center; background-color: #ffffff;\">ALL<\/li>\n          ${filterItems}\n        <\/ul>\n      <\/div>\n\n      <div class=\"reset_filters_${tableNumber} reset_filters_style disabled\">Reset<\/div>\n    `;\n\n    $(tableId).before(filterHtml);\n\n    const $dropdown = $(`.filter-${tableNumber}`);\n    const $selected = $dropdown.find(\".custom-selected_status\");\n    const $arrow = $dropdown.find(\".arrow_search\");\n    const $options = $dropdown.find(\".custom-options_status\");\n\n    $selected.add($arrow).on(\"click\", function (e) {\n      e.stopPropagation();\n      $(\".custom-options_status\").not($options).hide();\n      $options.toggle();\n    });\n\n    $(document).on(\"click\", function () {\n      $options.hide();\n    });\n\n    $options.find(\"li\").on(\"click\", function () {\n      const value = $(this).data(\"value\");\n      $selected.text($(this).text());\n      $selected.attr('data-value', value);\n      $options.hide();\n      if (typeof window[`applyCombinedFilter${tableNumber}`] === 'function') {\n        window[`applyCombinedFilter${tableNumber}`]();\n      }\n    });\n\n    $(`.reset_filters_${tableNumber}`).on(\"click\", function () {\n      const $input = $(`#sortableTable${tableNumber}`).prevAll(\".custom-select\").find(\".input_search_table\");\n      $input.val('');\n      currentSearchQuery = '';\n      $('.clearBtn').click();\n      $selected.text(\"ALL\").attr('data-value', 'ALL');\n      if (typeof window[`applyCombinedFilter${tableNumber}`] === 'function') {\n        window[`applyCombinedFilter${tableNumber}`]();\n      }\n    });\n  });\n}\n\n\t\t  function loadColumnSettings() {\n    jQuery.post(ajaxEndpoint, {\n      action: 'get_user_column_visibility',\n      table_id: tableId,\n      user_id: userId\n    }, function (res) {\n      hiddenIndexes = res.success && Array.isArray(res.data) ? res.data : [];\n      applyHiddenColumns(hiddenIndexes);\n\n      setTimeout(function () {\n          buildColumnCheckboxes();\n          \/\/ updateButtonHighlight();\n\n                          \/\/ \ud83d\udfe2 \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0438\u043b\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <br>\n                  const shouldHideArchive = hiddenIndexes.includes(-1);\n                  jQuery('.assign-archive').each(function () {\n                    const $el = jQuery(this);\n                    const $next = $el.next();\n                    if ($next.is('br')) $next.toggle(!shouldHideArchive);\n                    $el.toggle(!shouldHideArchive);\n                  });\n        }, 2000);\n    });\n  }\n\n\n\t\tfunction applyHiddenColumns(hiddenIndexes) {\n  const $rows = $table.find('tbody tr');\n  $rows.show(); \/\/ \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0435\u0440\u0435\u0434 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0435\u0439\n\n  $table.find('thead th').each(function (index) {\n    const hide = hiddenIndexes.includes(index);\n    const $th = jQuery(this);\n    const isResponsiveHidden = $th.attr('data-hidden-responsive') === '1';\n\n    if (!isResponsiveHidden) {\n      $th.toggle(!hide);\n    }\n\n    if (hide) {\n      $th.attr('data-hidden-manual', '1');\n    } else {\n      $th.removeAttr('data-hidden-manual');\n    }\n\n    $rows.each(function () {\n      const $td = jQuery(this).find('td').eq(index);\n      if (!isResponsiveHidden) {\n        $td.toggle(!hide);\n      }\n\n      if (hide) {\n        $td.attr('data-hidden-manual', '1');\n      } else {\n        $td.removeAttr('data-hidden-manual');\n      }\n    });\n  });\n\n  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (assign-archive)\nsetTimeout(() => {\n  const shouldHideArchive = hiddenIndexes.includes(-1);\n\n  \/\/ \u041f\u0440\u044f\u0447\u0435\u043c\/\u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b .assign-archive\n  jQuery('.assign-archive').each(function () {\n    const $el = jQuery(this);\n    const $next = $el.next();\n    if ($next.is('br')) $next.toggle(!shouldHideArchive);\n    $el.toggle(!shouldHideArchive);\n  });\n\n  \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\n \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\n$rows.each(function () {\n  const $row = jQuery(this);\n  const $assignmentCell = $row.find('td').eq(9); \/\/ \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u0430\u043a \u0443 \u0442\u0435\u0431\u044f\n\n    const hasVisibleType = $assignmentCell.find('.assign-active:visible, .assign-future:visible, .assign-archive:visible').length > 0;\n    $row.toggle(hasVisibleType);\n  });\n}, 150);\n\n\n  toggleFixedWidths(hiddenIndexes);\n  syncFiltersWithHiddenColumns(hiddenIndexes);\n}\n\n\n  function toggleFixedWidths(hiddenIndexes) {\n    const $ths = $table.find('thead th');\n    const $tds = $table.find('tbody tr:first-child td');\n    const hasManyHidden = hiddenIndexes.length >= 2;\n\n    $ths.each(function (index) {\n      if (hasManyHidden) {\n        jQuery(this).css('width', '');\n        $tds.eq(index).css('width', '');\n      }\n    });\n  }\n\t\t  function syncFiltersWithHiddenColumns(hiddenIndexes) {\n    const $statusFilters = jQuery(`.filter-${num_table} .custom-options_status li[data-value]`).not('[data-value=\"ALL\"]');\n    const $searchFilterItems = jQuery(`.custom-select:has(#search_table_input) .custom-options li`);\n\n    $statusFilters.each(function () {\n      const value = jQuery(this).data('value');\n      const filterConfig = window[`customStatusFilters_${num_table}`]?.find(f => f.name === value);\n      if (filterConfig && hiddenIndexes.includes(filterConfig.colIndex)) {\n        jQuery(this).hide();\n      } else {\n        jQuery(this).show();\n      }\n    });\n\n    $searchFilterItems.each(function () {\n      const index = parseInt(jQuery(this).data('index'));\n      if (hiddenIndexes.includes(index)) {\n        jQuery(this).hide();\n      } else {\n        jQuery(this).show();\n      }\n    });\n\n    const $selectedStatus = jQuery(`.filter-${num_table} .custom-selected_status`);\n    const currentStatus = $selectedStatus.data('value');\n    const filterConfig = window[`customStatusFilters_${num_table}`]?.find(f => f.name === currentStatus);\n    if (filterConfig && hiddenIndexes.includes(filterConfig.colIndex)) {\n      $selectedStatus.text(\"ALL\").attr('data-value', 'ALL');\n    }\n\n    const $selectedCol = jQuery(`.custom-select .custom-selected`);\n    const $options = jQuery(`.custom-select .custom-options li`);\n    $options.each(function () {\n      const i = parseInt(jQuery(this).data('index'));\n      if (hiddenIndexes.includes(i)) {\n        jQuery(this).hide();\n        if ($selectedCol.text().trim() === jQuery(this).text().trim()) {\n          $selectedCol.text($options.not('[style*=\"display: none\"]').first().text());\n        }\n      } else {\n        jQuery(this).show();\n      }\n    });\n\n    jQuery('.input_search_table').val('');\n\n\n\n    jQuery(`.clearBtn`).hide();\n    window[`currentSearchQuery_${num_table}`] = '';\n\n    const $dropdown = jQuery(`.filter-${num_table}`);\n    const $selected = $dropdown.find(\".custom-selected_status\");\n     $selected.text(LMSR_i18n.ALL).attr('data-value', 'ALL');\n\n    jQuery(`.reset_filters_${num_table}`).addClass('disabled');\n\n    if (typeof window[`applyCombinedFilter${num_table}`] === 'function') {\n      window[`applyCombinedFilter${num_table}`]();\n    }\n  }\n\n\n\n\n\/\/ ===== \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u043a\u043b\u0438\u043a\u0443 =====\nfunction sort_table_click_col(element){\n  jQuery(element).off('click').on('click',function(){\n    var $th = jQuery(this);\n    var $table = $th.closest('table');\n    var index = $th.index();\n    var type = ($th.data('type')||'text').toString().toLowerCase();\n    var asc = !$th.hasClass('asc');\n    $table.find('th').removeClass('asc desc');\n    $th.addClass(asc?'asc':'desc');\n\n    var rows = $table.find('tbody tr').get();\n    rows.sort(function(a,b){\n      var A = jQuery(a).children('td').eq(index).text().trim();\n      var B = jQuery(b).children('td').eq(index).text().trim();\n      var parseMoney = s => parseFloat((s.replace(\/[^\\d.,-]\/g,'')||'0').replace(',','.'))||0;\n      var parseNum   = s => parseFloat((s.replace(\/[^0-9\\.\\-]\/g,'')||'0'))||0;\n      var parseDate  = s => Date.parse(s.replace(\/(\\d{2})\\.(\\d{2})\\.(\\d{4})\/,'$3-$2-$1'))||0;\n\n      switch(type){\n        case 'numeric': return (parseNum(A)-parseNum(B))*(asc?1:-1);\n        case 'money'  : return (parseMoney(A)-parseMoney(B))*(asc?1:-1);\n        case 'date'   : return (parseDate(A)-parseDate(B))*(asc?1:-1);\n        default       : return A.localeCompare(B, undefined, {numeric:true,sensitivity:'base'})*(asc?1:-1);\n      }\n    });\n    jQuery.each(rows,function(i,row){ $table.children('tbody').append(row); });\n    $table.find('tbody tr').each(function(){ jQuery(this).find('td').removeClass('sort-highlight').eq(index).addClass('sort-highlight'); });\n  }).css('cursor','pointer');\n}\n\n\/\/ ===== \u043f\u043e\u0438\u0441\u043a =====\nfunction active_search_table(num_table, default_field_num = 2, searchable_columns = [1], customStatusFilters = null) {\n  default_field_num = default_field_num - 1;\n window[`currentSearchQuery_${num_table}`] = \"\";\n  const $table = jQuery('#sortableTable' + num_table);\n  const $theadCols = $table.find('thead th');\n\n  const $inputWrapper = jQuery('<div>', { style: `position: relative; width: 70%;` });\n  const $clearBtn = jQuery('<span>', {\n    class: 'clearBtn',\n    html: '&times;',\n    style: `\n      position: absolute;\n      left: 10px;\n      top: 50%;\n      transform: translateY(-50%);\n      width: 25px;\n      height: 25px;\n      line-height: 20px;\n      text-align: center;\n      font-size: 18px;\n      color: #aaa;\n      border: 1px solid #ccc;\n      border-radius: 4px;\n      background: #f8f8f8;\n      cursor: pointer;\n      display: none;\n    `\n  });\nconst $input = jQuery('<input>', {\n  class: 'input_search_table',\n  type: 'text',\n  id: 'search_table_input',\n  placeholder: wrI18n.searchPlaceholder,\n  style: `\n    padding: 5px 10px 5px 41px;\n    border: 1px solid #ccc;\n    border-right: none;\n    border-radius: 5px 0 0 5px;\n    width: 100%;\n    font-size: 14px;\n  `\n});\n\n\n  $inputWrapper.append($clearBtn).append($input);\n\n  const $selectWrapper = jQuery('<div>', {\n    class: 'custom-select',\n    style: `\n      width: fit-content;\n      min-width: 40%;\n      position: relative;\n      font-size: 14px;\n      text-align: right;\n      border: 1px solid #ccc;\n      border-left: none;\n      border-radius: 0 5px 5px 0;\n      background: #ffffff;\n      cursor: pointer;\n      color: #3daad0;\n      padding: 5px 10px;\n      padding-right: 35px;\n    `\n  });\n\n  const $selected = jQuery('<div>', {\n    class: 'custom-selected',\n    text: $theadCols.eq(default_field_num).text().trim()\n  });\n\n  const $optionsList = jQuery('<ul>', {\n    class: 'custom-options',\n    style: `\n      display: none;\n      position: absolute;\n      top: 100%;\n      right: 0;\n      width: 100%;\n      background: white;\n      border: 1px solid #ccc;\n      border-top: none;\n      z-index: 9999;\n      list-style: none;\n      margin: 0;\n      padding: 0;\n      text-align: right;\n    `\n  });\n\n  searchable_columns.forEach(function (index) {\n    const colName = $theadCols.eq(index).text().trim();\n    const $option = jQuery('<li>', {\n      text: colName,\n      'data-index': index,\n      style: `\n        padding: 5px 10px;\n        cursor: pointer;\n        white-space: nowrap;\n        border-top: solid 1px #cacaca;\n        text-align: center;\n        background-color: #ffffff;\n      `\n    });\n    $optionsList.append($option);\n  });\n\n  const $arrow = jQuery('<span>', {\n    class: 'arrow_search',\n    html: '&#9662;',\n    style: `\n      position: absolute;\n      right: 10px;\n      top: 50%;\n      transform: translateY(-60%);\n      font-size: 25px;\n      color: #3daad0a1;\n    `\n  });\n\n  $selectWrapper.append($selected).append($arrow).append($optionsList);\n\nvar $wrapper = jQuery('<div>', {\n       class: 'div_search',\n        style: `\n           display: flex;\n\t\t    width: 33%;\n\t\t    max-width: 100%;\n\t\t    margin: 10px 0;\n\t\t    align-items: stretch;\n\t\t    margin-top: -52px;\n\t\t    position: absolute;\n        `\n      });\n\n\n\n \/\/  if (jQuery(window).width() > 1100) {\n\n\n\n    \n      \n  \/\/  }else\n \/\/   {\n   \/*              $wrapper = jQuery('<div>', {\n       class: 'div_search',\n        style: `\n          display: flex;\n          width: 33%;\n          max-width: 100%;\n          margin: 10px 0;\n          align-items: stretch;\n          margin-top: 0px;\n        `\n      });*\/\n\n \/\/  }\n\n\n\n\n  $wrapper.append($inputWrapper).append($selectWrapper);\n  $table.before($wrapper);\n\n  let selectedIndex = default_field_num;\n\n  $selected.on('click', function () {\n    $optionsList.toggle();\n  });\n  $selectWrapper.on('click', 'span.arrow_search', function () {\n    $optionsList.toggle();\n  });\n  $optionsList.on('click', 'li', function () {\n    const text = jQuery(this).text();\n    selectedIndex = parseInt(jQuery(this).data('index'));\n    $selected.text(text);\n    $optionsList.hide();\n    window[`applyCombinedFilter${num_table}`]();\n  });\n\n  jQuery(document).on('click', function (e) {\n    if (!jQuery(e.target).closest('.custom-select').length) {\n      $optionsList.hide();\n    }\n  });\n\n\n\/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0432\u043e\u0434\u0430 \u0432 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435\n$input.on('keyup', function () {\n  window[`currentSearchQuery_${num_table}`] = jQuery(this).val().toLowerCase();\n  $clearBtn.css('display', window[`currentSearchQuery_${num_table}`].length > 0 ? 'block' : 'none');\n\n  \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 Reset\n  const $resetBtn = jQuery(`.reset_filters_${num_table}`);\n  const statusFilterValue = jQuery(`.filter-${num_table} .custom-selected_status`).attr('data-value');\n  const hasStatusFilter = customStatusFilters && statusFilterValue !== \"ALL\";\n  const hasSearch = window[`currentSearchQuery_${num_table}`] !== '';\n\n  if (!hasSearch && !hasStatusFilter) {\n    $resetBtn.addClass('disabled');\n  } else {\n    $resetBtn.removeClass('disabled');\n  }\n\n  window[`applyCombinedFilter${num_table}`]();\n});\n\n\/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u0438\u043a\u0430 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 (\u043a\u0440\u0435\u0441\u0442\u0438\u043a)\n$clearBtn.on('click', function () {\n  window[`currentSearchQuery_${num_table}`] = '';\n  $input.val('');\n  $clearBtn.hide();\n  window[`applyCombinedFilter${num_table}`]();\n});\n\n\/\/ \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b\nwindow[`applyCombinedFilter${num_table}`] = function () {\n  const $rows = $table.find('tbody tr');\n  const statusFilterValue = jQuery(`.filter-${num_table} .custom-selected_status`).attr('data-value');\n\n  $table.find('thead th, tbody td').removeClass('filter-highlight');\n\n  if (window[`currentSearchQuery_${num_table}`] !== '') {\n    $theadCols.eq(selectedIndex).addClass('filter-highlight');\n  }\n\n  if (customStatusFilters && statusFilterValue !== \"ALL\") {\n    const filterConfig = customStatusFilters.find(f => f.name === statusFilterValue);\n    if (filterConfig) {\n      $theadCols.eq(filterConfig.colIndex).addClass('filter-highlight');\n    }\n  }\n\n  $rows.each(function () {\n    const $cells = jQuery(this).find('td');\n    const cellText = $cells.eq(selectedIndex).text().toLowerCase();\n    const matchSearch = window[`currentSearchQuery_${num_table}`] === '' || cellText.includes(window[`currentSearchQuery_${num_table}`]);\n\n    let matchStatus = true;\n    if (customStatusFilters && statusFilterValue !== \"ALL\") {\n      const filterConfig = customStatusFilters.find(f => f.name === statusFilterValue);\n      if (filterConfig && typeof filterConfig.condition === \"function\") {\n        const val = $cells.eq(filterConfig.colIndex).text();\n        matchStatus = filterConfig.condition(val);\n      }\n    }\n\n    const shouldShow = matchSearch && matchStatus;\n    jQuery(this).toggle(shouldShow);\n\n    if (shouldShow) {\n      if (window[`currentSearchQuery_${num_table}`] !== '') {\n        $cells.eq(selectedIndex).addClass('filter-highlight');\n      }\n      if (customStatusFilters && statusFilterValue !== \"ALL\") {\n        const filterConfig = customStatusFilters.find(f => f.name === statusFilterValue);\n        if (filterConfig) {\n          $cells.eq(filterConfig.colIndex).addClass('filter-highlight');\n        }\n      }\n    }\n  });\n\n  \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 Reset\n  const $resetBtn = jQuery(`.reset_filters_${num_table}`);\n  const hasStatusFilter = customStatusFilters && statusFilterValue !== \"ALL\";\n  const hasSearch = window[`currentSearchQuery_${num_table}`] !== '';\n\n  if (!hasSearch && !hasStatusFilter) {\n    $resetBtn.addClass('disabled');\n  } else {\n    $resetBtn.removeClass('disabled');\n  }\n};\n}\n\n\n\/\/ ===== \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432 Excel (SimpleXLSXGen \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435) =====\nfunction active_excel_export(num_table){\n var $btn = jQuery('<button id=\"exportToExcel' + num_table + '\">' + wrI18n.exportExcel + '<\/button>');\n\n  jQuery('#table-buttons-placeholder'+num_table).append($btn);\n\n  $btn.on('click', function(){\n    var $table = jQuery('#sortableTable'+num_table).clone();\n\n    \/\/ \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438\n    $table.find('tbody tr').filter(function(){ return jQuery(this).css('display')==='none'; }).remove();\n\n    \/\/ \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0438\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 (\u043f\u043e computed style)\n    var visibleIdx = [];\n    $table.find('thead th').each(function(i){\n      var disp = jQuery('#sortableTable'+num_table+' thead th').eq(i).css('display');\n      if(disp!=='none') visibleIdx.push(i);\n    });\n    $table.find('thead th').each(function(i){ if(visibleIdx.indexOf(i)===-1) jQuery(this).remove(); });\n    $table.find('tbody tr').each(function(){\n      jQuery(this).find('td').each(function(i){ if(visibleIdx.indexOf(i)===-1) jQuery(this).remove(); });\n    });\n\n\n\n\n    \/* \ud83d\udd3d \u0414\u041e\u0411\u0410\u0412\u041a\u0410: \u043f\u0440\u0438\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u0438\u0442\u043e\u0433\u0438 \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 \u043f\u043e\u0434 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0438 \u043a\u043b\u0430\u0434\u0451\u043c \u0438\u0445 \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 *\/\n\/* \ud83d\udd3d \u0414\u041e\u0411\u0410\u0412\u041a\u0410: \u043f\u0440\u0438\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u0438\u0442\u043e\u0433\u0438 \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 \u043f\u043e\u0434 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0438 \u043a\u043b\u0430\u0434\u0451\u043c \u0438\u0445 \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 *\/\n\/\/ \u0410 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 (\u0432\u044b\u043f\u043b\u0430\u0442\u044b \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430\u043c \/ \u0434\u043e\u0445\u043e\u0434 \u0441\u0430\u0439\u0442\u0430 \/ \u0431\u043e\u043d\u0443\u0441)\nvar $sum = jQuery('#wr-summary-1');\nif ($sum.length){\n  var label = $sum.data('label') || '\u0420\u0430\u0437\u043e\u043c \u0434\u043e \u0432\u0438\u043f\u043b\u0430\u0442\u0438:';\n  var totalFormatted = $sum.data('total_formatted') || ($sum.text()||'').trim();\n  var colCount = visibleIdx.length;\n\n  var $tr = jQuery('<tr\/>');\n  \/\/ ...\n  jQuery('#wr-table-1 tbody').append($tr);\n\n  var $sum2 = jQuery('#wr-summary-2');\n  if ($sum2.length){\n    var payouts    = $sum2.data('payouts_formatted') || '';\n    var siteIncome = $sum2.data('site_formatted')   || '';\n    var bonusPct   = parseInt($sum2.data('bonus_pct')||0);\n    var bonus      = $sum2.data('bonus_formatted')  || '';\n\n    function addRow(label, value){\n      var $r = jQuery('<tr\/>');\n      for (var i=0;i<colCount-2;i++){ $r.append('<td><\/td>'); }\n      $r.append(jQuery('<td\/>',{'class':'right','text':label}));\n      $r.append(jQuery('<td\/>',{'class':'right','html':value}));\n      jQuery('#wr-table-1 tbody').append($r);\n    }\n    addRow('\u0412\u0438\u043f\u043b\u0430\u0442\u0438 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044f\u043c:', payouts);\n    addRow('\u0414\u043e\u0445\u0456\u0434 \u0441\u0430\u0439\u0442\u0443:',      siteIncome);\n    addRow('\u0411\u043e\u043d\u0443\u0441 \u0441\u043f\u0456\u0432\u0440\u043e\u0431\u0456\u0442\u043d\u0438\u043a\u0430 ('+bonusPct+'%):', bonus);\n  }\n}\n\n\n\n\n\n    var html = '<table>'+ $table.html() +'<\/table>';\n\n    jQuery.ajax({\n      url: 'https:\/\/digital.staff-capital.com\/wp-admin\/admin-ajax.php',\n      type: 'POST',\n      data: { action: 'export_html_table_simplexlsxgen', table_html: html },\n      xhrFields: { responseType: 'blob' },\n      success: function(blob){\n        var link = document.createElement('a');\n        link.href = window.URL.createObjectURL(blob);\n        link.download = 'report.xlsx';\n        link.click();\n      }\n    });\n  });\n}\n\n\n\n        function initRowModalViewer(num_table) {\n  const $table = jQuery(\"#sortableTable\" + num_table);\n\n  \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \"Full Info\", \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442\n  const $theadRow = $table.find(\"thead tr\");\n  if (!$theadRow.find('.full-info-header').length) {\n    \/\/ $theadRow.append('<th class=\"full-info-header\">Full Info<\/th>');\n  }\n\n  \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u043d\u043e, \u0435\u0441\u043b\u0438 \u0435\u0449\u0435 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n  if (!jQuery('#infoModal').length) {\n    jQuery('body').append(`\n      <div id=\"infoModal\" class=\"info-modal\" style=\"display: none;\">\n        <div class=\"info-content\">\n          <span class=\"close-modal\">&times;<\/span>\n          <div class=\"info-body\"><\/div>\n        <\/div>\n      <\/div>\n    `);\n  }\n\n  \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u2139\ufe0f\" \u0432 \u043a\u043e\u043d\u0435\u0446 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438\n  $table.find('tbody tr').each(function () {\n    \/\/ \u041d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\n\/\/     if (!jQuery(this).find('.details-button-cell').length) {\n\/\/       const $btn = jQuery(`<div class=\"open-details\" style=\"cursor:pointer;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Layer_1\" data-name=\"Layer 1\" viewBox=\"0 0 24 24\">\n\/\/   <path d=\"m21,2H3c-1.654,0-3,1.346-3,3v17h24V5c0-1.654-1.346-3-3-3Zm1,3v3h-14v-4h13c.552,0,1,.449,1,1Zm-14,5h14v4h-14v-4Zm-2,4H2v-4h4v4ZM3,4h3v4H2v-3c0-.551.448-1,1-1Zm-1,12h4v4H2v-4Zm6,4v-4h14v4h-14Z\"\/>\n\/\/ <\/svg><\/div>`);\n\/\/       jQuery(this).append(`<td class=\"details-button-cell\">${$btn.prop('outerHTML')}<\/td>`);\n\/\/     }\n  });\n\n  \/\/ \u041e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u043c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \u043f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443\n  $table.on('click', '.open-details', function () {\n    const $row = jQuery(this).closest('tr');\n    const $cells = $row.find('td');\n    const $headers = $table.find('thead th');\n  let html = '<h3 style=\"margin-bottom:10px;\">' + \"Full Record Details\" + '<\/h3>';\n\n    $cells.each(function (index) {\n      const header = $headers.eq(index).text().trim();\n      var value = jQuery(this).html().trim();\nvar value = jQuery(this).html().replace(\/<br\\s*\\\/?>\/gi, ' | ').trim();\n\n\n\n\n      if (header && !jQuery(this).hasClass('details-button-cell')) {\n        html += `<div><strong>${header}:<\/strong> ${value}<\/div>`;\n      }\n    });\n\n    jQuery('#infoModal .info-body').html(html);\n    jQuery('#infoModal').fadeIn();\n  });\n\n  \/\/ \u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043c\u043e\u0434\u0430\u043b\u043a\u0438 \u043f\u043e \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u0443 \u0438\u043b\u0438 \u043a\u043b\u0438\u043a\u0443 \u0432\u043d\u0435 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438\n  jQuery(document).on('click', function (e) {\n    const $modal = jQuery('#infoModal');\n    if (\n      jQuery(e.target).is('.close-modal') ||\n      (jQuery(e.target).is('#infoModal') && !jQuery(e.target).find('.info-content').is(e.target))\n    ) {\n      $modal.fadeOut();\n    }\n  });\n}\n\nfunction initColumnVisibility(num_table, customStatusFilters){\n  const tableId = 'sortableTable' + num_table;\n  const $table  = jQuery('#' + tableId);\n  const userId  = '0';\n\n  \/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0442\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0437 ID \u044f\u043a \u0443 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0456\n  const $button = jQuery('<div class=\"column-settings-btn\"> <img decoding=\"async\" class=\"column-settings-icon\" draggable=\"false\" role=\"img\" alt=\"\u2699\ufe0f\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/2699.svg\"> ' + wrI18n.columns + '<\/div>');\n\n  const $panel  = jQuery('<div class=\"column-settings-panel\" id=\"columns_' + tableId + '\"><\/div>');\n  jQuery('#table-buttons-placeholder' + num_table).append($button).append($panel);\n\n  let hiddenIndexes = [];\n\n  function buildColumnCheckboxes(){\n    $panel.empty();\n    $panel.append('<div style=\"margin-bottom:6px;font-weight:600\">' + wrI18n.toggleColumns + '<\/div>');\n\n\n    const $ths = $table.find('thead th');\n    const lastIndex = $ths.length - 1; \/\/ Full Info \u2014 \u043d\u0435 \u0445\u043e\u0432\u0430\u0454\u043c\u043e\n\n    $ths.each(function(i){\n      if (i === lastIndex || jQuery(this).hasClass('full-info-header')) return;\n      const title = jQuery(this).text().trim() || ('Col ' + (i+1));\n      const checked = hiddenIndexes.indexOf(i) === -1 ? 'checked' : '';\n      \/\/ \u044f\u043a \u0443 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0456 \u2014 data-col-index\n      $panel.append(\n        '<label style=\"display:block; margin:2px 0;\">' +\n        '<input type=\"checkbox\" data-col-index=\"' + i + '\" ' + checked + '> ' + title +\n        '<\/label>'\n      );\n    });\n\n    \/\/updateButtonHighlight();\n  }\n\n  function applyHiddenColumns(){\n    const $ths  = $table.find('thead th');\n    const $rows = $table.find('tbody tr');\n\n    $ths.each(function(i){\n      const $th = jQuery(this);\n      const hide = hiddenIndexes.includes(i);\n\n      \/\/ \u043d\u0435 \u0447\u0456\u043f\u0430\u0454\u043c\u043e \u0442\u0435, \u0449\u043e \u0441\u0445\u043e\u0432\u0430\u043d\u0435 responsive-\u043b\u043e\u0433\u0456\u043a\u043e\u044e\n      const isRespHidden = $th.attr('data-hidden-responsive') === '1';\n      if (!isRespHidden) $th.toggle(!hide);\n\n      if (hide) $th.attr('data-hidden-manual','1'); else $th.removeAttr('data-hidden-manual');\n\n      $rows.each(function(){\n        const $td = jQuery(this).find('td').eq(i);\n        const tdRespHidden = $td.attr('data-hidden-responsive') === '1';\n        if (!tdRespHidden) $td.toggle(!hide);\n        if (hide) $td.attr('data-hidden-manual','1'); else $td.removeAttr('data-hidden-manual');\n      });\n    });\n\n    \/\/ \u041f\u0456\u0441\u043b\u044f \u0440\u0443\u0447\u043d\u043e\u0457 \u0437\u043c\u0456\u043d\u0438 \u2014 \u043f\u0435\u0440\u0435\u043f\u0430\u043a\u0443\u0432\u0430\u0442\u0438 responsive (\u044f\u043a \u0443 \u0444\u0430\u0439\u043b\u0456)\n    if (typeof window['wr_checkVisibleColumns' + num_table] === 'function'){\n      window['wr_checkVisibleColumns' + num_table]();\n    }\n  }\n\n  function saveHidden(){\n    jQuery.post('https:\/\/digital.staff-capital.com\/wp-admin\/admin-ajax.php', {\n      action: 'save_user_column_visibility',\n      table_id: tableId,\n      user_id: userId,\n      hidden_columns: hiddenIndexes\n    });\n  }\n\n  function loadHidden(){\n    jQuery.post('https:\/\/digital.staff-capital.com\/wp-admin\/admin-ajax.php', {\n      action: 'get_user_column_visibility',\n      table_id: tableId,\n      user_id: userId\n    }, function(res){\n      hiddenIndexes = (res && res.success && Array.isArray(res.data)) ? res.data : [];\n      buildColumnCheckboxes();\n      updateButtonHighlight($panel, $button); \/\/ \u2190 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\n      applyHiddenColumns();\n    });\n  }\n\n  \/\/ \ud83d\udd11 \u0412\u0410\u0416\u041b\u0418\u0412\u041e: \u0434\u0435\u043b\u0435\u0433\u043e\u0432\u0430\u043d\u0438\u0439 \u043e\u0431\u0440\u043e\u0431\u043d\u0438\u043a \u043d\u0430 document + \u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440 \u0437 ID \u043f\u0430\u043d\u0435\u043b\u0456 \u0442\u0430 data-col-index \u2014 \u044f\u043a \u0443 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0456\n  jQuery(document).off('change.columns_' + tableId)\n    .on('change.columns_' + tableId, '#columns_' + tableId + ' input[type=\"checkbox\"][data-col-index]', function(){\n      const i = parseInt(jQuery(this).data('col-index'), 10);\n      if (isNaN(i)) return;\n\n      if (jQuery(this).is(':checked')){\n        hiddenIndexes = hiddenIndexes.filter(v => v !== i);\n      } else {\n        if (!hiddenIndexes.includes(i)) hiddenIndexes.push(i);\n      }\n      updateButtonHighlight($panel, $button); \/\/ \u2190 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\n      applyHiddenColumns();\n      saveHidden();\n    });\n\n  \/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0442\u044f\/\u0437\u0430\u043a\u0440\u0438\u0442\u0442\u044f (\u043a\u043b\u0430\u0446\u0430\u043d\u043d\u044f \u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0456 \u043f\u0430\u043d\u0435\u043b\u0456 \u043f\u0430\u043d\u0435\u043b\u044c \u041d\u0415 \u0437\u0430\u043a\u0440\u0438\u0432\u0430\u0454)\n  $button.on('click', function(e){\n    e.stopPropagation();\n    jQuery(this).toggleClass('active');\n  });\n  jQuery(document).on('click', function(e){\n    if (!jQuery(e.target).closest('.column-settings-panel, .column-settings-btn').length){\n      jQuery('.column-settings-btn').removeClass('active');\n    }\n  });\n\n  loadHidden();\n}\n\n\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<script>\n(function(){\n\n  \/\/ 1) \u0424\u043b\u0430\u0433 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u041e\u0414\u0418\u041d \u0438 \u0432\u044b\u0448\u0435 \u0432\u0441\u0435\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432\n  var wrSetDatesSilently = false;\n\n  \/\/ 2) \u0421\u0435\u0442\u0442\u0435\u0440 \u0434\u0430\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0438\u0442 \u0441\u0431\u0440\u043e\u0441 \u043a\u0432\u0430\u0440\u0442\u0430\u043b\u0430\n  function wrSetDateInputs(df, dt){\n    wrSetDatesSilently = true;\n    jQuery('#wr-date-from').val(df || '');\n    jQuery('#wr-date-to').val(dt || '');\n    wrSetDatesSilently = false;\n  }\n\n  \/\/ 3) \u041f\u0440\u0438 \u0420\u0423\u0427\u041d\u041e\u041c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0434\u0430\u0442 \u2014 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u043a\u0432\u0430\u0440\u0442\u0430\u043b (\u0433\u043e\u0434 \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0435\u043c)\n  jQuery(document).on('input change', '#wr-date-from, #wr-date-to', function(){\n    if (wrSetDatesSilently) return;       \/\/ \u0435\u0441\u043b\u0438 \u0434\u0430\u0442\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u2014 \u0432\u044b\u0445\u043e\u0434\u0438\u043c\n    jQuery('#wr-quarter').val('');        \/\/ \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c Q1\/Q2\/Q3\/Q4\n  });\n\n  function wrQuarterRange(q, year){\n    if(!q || !year) return {from:'', to:''};\n    var map={\"Q1\":[\"01-01\",\"03-31\"],\"Q2\":[\"04-01\",\"06-30\"],\"Q3\":[\"07-01\",\"09-30\"],\"Q4\":[\"10-01\",\"12-31\"]};\n    if(!map[q]) return {from:'', to:''};\n    return {from:year+'-'+map[q][0], to:year+'-'+map[q][1]};\n  }\n\n  \/\/ \u041e\u0431\u0451\u0440\u0442\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u0442\u0447\u0451\u0442\u0430\n  function wrRun(mode){\n     var qEl  = document.getElementById('wr-quarter');\n  var yEl  = document.getElementById('wr-quarter-year');\n  var dfEl = document.getElementById('wr-date-from');\n  var dtEl = document.getElementById('wr-date-to');\n\n  var q  = qEl  ? qEl.value  : '';\n  var y  = yEl  ? yEl.value  : '';\n  var df = dfEl ? dfEl.value : '';\n  var dt = dtEl ? dtEl.value : '';\n\n    \/\/ 4) \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d \u043a\u0432\u0430\u0440\u0442\u0430\u043b \u2014 \u0441\u0442\u0430\u0432\u0438\u043c \u0434\u0430\u0442\u044b \u0427\u0415\u0420\u0415\u0417 wrSetDateInputs (\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a!)\n    if(q){\n      var r = wrQuarterRange(q, y);\n      df = r.from; dt = r.to;\n      wrSetDateInputs(df, dt);\n    }\n\n    \/\/ 5) \u0421\u0442\u0430\u0440\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0434\u0430\u0442 \u0423\u0414\u0410\u041b\u0418\u041b\u0418 (\u0431\u044b\u043b\u0430 \u0441 .value=...), \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043b\u043e\u043c\u0430\u0442\u044c \u0444\u043b\u0430\u0433\n\n    \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0441\u0442\u0438\n    if(!df || !dt){\n      alert(wrI18n.fillDates);\n      return;\n    }\n\n    \/\/ ... \u0434\u0430\u043b\u044c\u0448\u0435 \u0442\u0432\u043e\u0439 AJAX \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 ...\n    window.wrMode = (mode === 'compact' ? 'compact' : 'full');\n\n     var elClient = document.getElementById('wr-client'); \/\/ \u0443 \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442\n  var elKind   = document.getElementById('wr-kind');\n  var client   = elClient ? elClient.value : '';\n  var kind     = elKind   ? elKind.value   : '';\n\n  jQuery.ajax({\n    url: 'https:\/\/digital.staff-capital.com\/wp-admin\/admin-ajax.php',\n    type: 'POST',\n    cache: false,\n    data:{\n      action: 'woo_report_get_data',\n      _nonce: 'def6f99d3a',\n      client: client,\n      date_from: df,\n      date_to: dt,\n      kind: kind,\n      mode: window.wrMode\n    },\n      beforeSend:function(){\n        jQuery('#wr-hint').remove();\n        jQuery('#table-buttons-placeholder1').empty();\n        jQuery('#wr-table-wrap-1').html('<p>'+wrI18n.loading+'<\/p>');\n        jQuery('#table-topbar-1').hide();\n      },\n     success:function(html){ jQuery('#wr-table-wrap-1').html(html); \/\/ \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443\n\n      window.$table = jQuery('#sortableTable1'); \n      \/\/ \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \n      var $th = window.$table.find('thead th[data-type]');\n       $th.each(function(){\n        sort_table_click_col(this); \n      });\n       \/\/ \u044d\u043a\u0441\u043f\u043e\u0440\u0442\/\u043c\u043e\u0434\u0430\u043b\u043a\u0438 \n       active_excel_export(1);\n        initRowModalViewer(1); \n\n       \/\/ \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u044c\/\u043f\u043e\u0438\u0441\u043a \u2014 \u0440\u0430\u0437\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \n       if(window.wrMode === 'compact'){ \n       \/\/ \u0432 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u043c 5 \u043a\u043e\u043b\u043e\u043d\u043e\u043a: \u041f\u0440\u043e\u0434\u0430\u0432\u0435\u0446, \u041d\u0430\u0437\u0432\u0430, \u0414\u0430\u0442\u0430 \u043e\u043f\u043b\u0430\u0442\u044b, \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0456\u044f, \u0421\u0443\u043c\u0430 \u0437 \u041f\u0414\u0412 \n\n               detectVisibleColumns(1, 130, []); \/\/ \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u2014 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u043c\u0430\u043b\u043e a\n               active_search_table(1, 1, [0,1,2,3,4], null); \n        }\n        else { \n       \/\/ \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u0430\u043a \u0440\u0430\u043d\u044c\u0448\u0435 \n               detectVisibleColumns(1, 130, [0,1,2,4,6,9,10,13]); \n               active_search_table(1, 1, [0,1,2,3,4,6,9,12,13,14,15], null); \n        } \n       initColumnVisibility(1, []);\n\n        jQuery('#table-topbar-1').show(); \n        \/\/ \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u0431\u0435\u0440\u0451\u043c \u0438\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e HTML \n        var warnBlock = jQuery(html).find('.wr-front-warn');\n\n         jQuery('.wr-front-warn').remove();\n\n          if (warnBlock.length) {\n           jQuery('.woo-report-filters').after(warnBlock);\n           } \n       },\n      error:function(xhr){\n        jQuery('#wr-table-wrap-1').html('<p>'+wrI18n.loadError+'<\/p>');\n        console.log(xhr.responseText||xhr.statusText);\n      }\n    });\n  }\n\n  \/\/ \u041a\u043d\u043e\u043f\u043a\u0438\n  jQuery(document).on('click','#wr-run',function(){ wrRun('full'); });\n  jQuery(document).on('click','#wr-run-compact',function(){ wrRun('compact'); });\n\n})();\n<\/script>\n\n\n\n\t<style>\n\t\t#woo-report .wr-row{margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}\n\n        #woo-report .grid_mini_3 .wr-row {\n    margin: 0;\n    display: flex\n;\n    gap: 8px;\n    align-items: center;\n    flex-wrap: wrap;\n}\nselect#wr-kind {\n    width: 100%;\n    max-width: 144px;\n}\n\n\t\t#woo-report table{width:100%;border-collapse:collapse;margin-top:12px}\n\t\t#woo-report th,#woo-report td{border:1px solid #ddd;padding:6px 8px}\n\t\t#woo-report th{background:#f5f5f5;text-align:left}\n\t\t#woo-report .nowrap{white-space:nowrap}\n\t\t#woo-report .right{text-align:right}\n\t\t#woo-report .muted{color:#888}\n\n\n        div#wr-summary-2\n {\n    position: absolute;\n    right: 0px;\n    \/* margin-bottom: 50px; *\/\n    \/* top: 30px; *\/\n    margin-top: 80px;\n}\n\nbutton#wr-run-compact {\n    margin: auto;\n    margin-right: 0px;\n    margin-left: 0px;\n}\nbutton#wr-run {\n    margin: 0 auto;\n    margin-right: 0px;\n}\n\n\n.wr-summary--table{max-width:420px;margin-top:10px}\n.wr-summary-table{width:100%;border-collapse:collapse}\n.wr-summary-table td{padding:6px 8px;vertical-align:top}\n.wr-sum-label{text-align:left}\n.wr-sum-val{text-align:right;white-space:nowrap;font-weight:600}\n.wr-summary-table tr:first-child .wr-sum-val .woocommerce-Price-amount{font-size:1.05em}\n\ntd.wr-sum-label {\n    text-align: left;\n}\n\n\t<\/style>\n\t\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":205,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"both","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"class_list":["post-71949","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/pages\/71949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/users\/205"}],"replies":[{"embeddable":true,"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/comments?post=71949"}],"version-history":[{"count":0,"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/pages\/71949\/revisions"}],"wp:attachment":[{"href":"https:\/\/digital.staff-capital.com\/ru\/wp-json\/wp\/v2\/media?parent=71949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}