Virtonomica:Итого в отчете по подразделениям

Итоговая строка в отчете по подразделениям. Origin By Izumrud_AO, http://userscripts-mirror.org/scripts/show/137698

目前為 2016-11-10 提交的版本,檢視 最新版本

// ==UserScript==
// @name           Virtonomica:Итого в отчете по подразделениям
// @namespace      virtonomica
// @description    Итоговая строка в отчете по подразделениям. Origin By Izumrud_AO, http://userscripts-mirror.org/scripts/show/137698
// @include	   http*://*virtonomic*.*/*/main/company/view/*/finance_report/by_units*
// @include	   http*://*virtonomic*.*/*/main/company/view/*/marketing_report/shops/*
// @include	   http*://*virtonomic*.*/*/main/company/view/*/marketing_report/services
// @include	   http*://*virtonomic*.*/*/main/company/view/*/marketing_report/services/*
// @version        1.6
// ==/UserScript==

var run = function() {
  var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window);
  $ = win.$;
  
  //резделитель разрядов
  function commaSeparateNumber(val, sep){
    var separator = sep || ',';
    while (/(\d+)(\d{3})/.test(val.toString())){
      val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1"+separator);
    }
    return val;
  }
  function edit_summ(pr) {	
    return commaSeparateNumber(pr, ' ');
  }

	function cleanNumber(spNum) {
		return spNum.replace('$','').replace(/\s+/g,'');
	}
	
  if (/\/main\/company\/view\/\d+\/finance_report\/by_units\//.test(window.location)) {
    var tt1="- - - - -";
    var tt2="- - - - -";
    var tt3="- - - - -";
    var tt4="Кол-во: ";
    var tt5="Доходы";
    var tt6="Расходы";
    var tt7="Налоги";
    var tt8="Прибыль";
    var tt9="Рентабельность";
    var sumtt5=0;
    var sumtt6=0;
    var sumtt7=0;
    var sumtt8=0;
    var sumtt9=0;
    var numrow=0;
    var ttt1="";			  
    var ttt2="";			  
    var ttt3="";
    $( '#mainContent tr[class]' ).each( function() {
      var cells = $( 'td', this );
      tt1 = $( cells[0] ).text();
      tt2 = $( cells[1] ).text();
      tt3 = $( cells[2] ).text();
      console.log(cleanNumber($( cells[4] ).text()));
      if (numrow==0) {
        ttt1=tt1;			  
        ttt2=tt2;			  
        ttt3=tt3;
      }

      sumtt5 = sumtt5 + parseFloat( cleanNumber($( cells[4] ).text()) );
      sumtt6 = sumtt6 + parseFloat( cleanNumber($( cells[5] ).text()) );
      sumtt7 = sumtt7 + parseFloat( cleanNumber($( cells[6] ).text()) );
      numrow = numrow + 1;
    });

    sumtt8 = sumtt5-sumtt6-sumtt7;
    sumtt9 = Math.round((sumtt8+sumtt7)/sumtt6*10000)/100;
    var tclass ="nowrap";
    if (sumtt8<0) tclass="moneySmallerZero";
    tt4 = tt4 + numrow + " шт.";


    var text="<tr style='background: #EEFACA'> <td style='font-size:14px'>"+"Итого :"+"</td> <td> </td> <td> </td> <td>"+tt4+"</td>  <td align=\"right\" class=\"nowrap\">"+edit_summ(sumtt5)+"$</td> <td align=\"right\" class=\"nowrap\">"+edit_summ(sumtt6)+"$</td> <td align=\"right\" class=\"nowrap\">"+edit_summ(sumtt7)+"$</td>     <td align=\"right\" class=\"nowrap\">"+" <span class=\""+tclass+"\">" + edit_summ(sumtt8)+"</span> "+"$</td>  <td align=\"right\" class=\"nowrap\">"+edit_summ(sumtt9)+"%</td> </tr>";

    $(text).insertBefore($('table.grid>tbody>tr:last'));
  }
  
  if (/\/main\/company\/view\/\d+\/marketing_report\/shops\//.test(window.location)) {
    var nvVolume = 0;
    var nvSum = 0;
    var nvPrc = 0;
    var nvQual = 0;
    var nvBrand = 0;
    var numrow = 0;
    var avVolAndSum=[];
    
    $( 'table[class^="unit-list"] > tbody > tr[class]' ).each( function() {
      var cells = $( 'td', this );
      console.log(cleanNumber($( cells[4] ).text()));
      
	  avVolAndSum = $( cells[4] ).html().split('<br>');
      nvVolume = nvVolume + parseFloat( cleanNumber(avVolAndSum[0]) );
      nvSum = nvSum + parseFloat( cleanNumber(avVolAndSum[1]) );
      nvPrc = nvPrc + parseFloat( cleanNumber($( cells[5] ).text()) );
      nvQual = nvQual + parseFloat( cleanNumber($( cells[6] ).text()) );
      nvBrand = nvBrand + parseFloat( cleanNumber($( cells[7] ).text()) );
      numrow = numrow + 1;
    });
    //avg
	nvPrc = (nvPrc / numrow).toFixed(2);
	nvQual = (nvQual / numrow).toFixed(2);
	nvBrand = (nvBrand / numrow).toFixed(2);
    
    var tclass ="nowrap";
    if (sumtt8 < 0) {
      tclass="moneySmallerZero";
    }
    var svQty = "Кол-во: " + numrow + " шт.";

    var text = "<tr style='background: #EEFACA'> <td style='font-size:14px'>"+"Итого :"+"</td> <td> </td> <td> </td> <td>"+ svQty +"</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvVolume) + " ед.<br>$" + edit_summ(nvSum) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">$" + edit_summ(nvPrc) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvQual) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvBrand) + "</td>  </tr>";
    
    $(text).insertAfter($('table[class^="unit-list"] > tbody > tr:last'));
  }
  
  if (/\/main\/company\/view\/\d+\/marketing_report\/services/.test(window.location)) {
    var nvVolume = 0;
    var nvSum = 0;
    var nvPrc = 0;
    var nvQ1 = 0;
    var nvQ2 = 0;
    var nvQ3 = 0;
    var numrow = 0;
    var avVolAndSum=[];
    
    $( 'table[class^="unit-list"] > tbody > tr[class]' ).each( function() {
      var cells = $( 'td', this );
      console.log(cleanNumber($( cells[4] ).text()));
      
	  avVolAndSum = $( cells[4] ).html().split('<br>');
      nvVolume = nvVolume + parseFloat( cleanNumber(avVolAndSum[0]) );
      nvSum = nvSum + parseFloat( cleanNumber(avVolAndSum[1]) );
      nvPrc = nvPrc + parseFloat( cleanNumber($( cells[5] ).text()) );
      nvQ1 = nvQ1 + parseFloat( cleanNumber($( cells[6] ).text()) );
      nvQ2 = nvQ2 + parseFloat( cleanNumber($( cells[7] ).text()) );
      nvQ3 = nvQ3 + parseFloat( cleanNumber($( cells[8] ).text()) );
      numrow = numrow + 1;
    });
    //avg
	nvPrc = (nvPrc / numrow).toFixed(2);
	nvQ1 = (nvQ1 / numrow).toFixed(2);
	nvQ2 = (nvQ2 / numrow).toFixed(2);
	nvQ3 = (nvQ3 / numrow).toFixed(2);
    
    var tclass ="nowrap";
    if (sumtt8 < 0) {
      tclass="moneySmallerZero";
    }
    var svQty = "Кол-во: " + numrow + " шт.";

    var text = "<tr style='background: #EEFACA'> <td style='font-size:14px'>"+"Итого :"+"</td> <td> </td> <td> </td> <td>"+ svQty +"</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvVolume) + " ед.<br>$" + edit_summ(nvSum) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">$" + edit_summ(nvPrc) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvQ1) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvQ2) + "</td>";
    text += "<td align=\"right\" class=\"nowrap\">" + edit_summ(nvQ3) + "</td>  </tr>";
    
    $(text).insertAfter($('table[class^="unit-list"] > tbody > tr:last'));
  }

}

var script = document.createElement("script");
script.textContent = '(' + run.toString() + ')();';
document.documentElement.appendChild(script);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址