Greasy Fork is available in English.

iks: virtonomica юнит/снабжение

Показывает средний кач и цену закупаемого сырья. На складах не работает.

נכון ליום 30-04-2015. ראה הגרסה האחרונה.

// ==UserScript==
// @name        iks: virtonomica юнит/снабжение
// @namespace   virtonomica
// @description Показывает средний кач и цену закупаемого сырья. На складах не работает.
// @include     http://*virtonomica*.*/*/main/unit/view/*/supply
// @version     1.03
// @grant       none
// ==/UserScript==

var run = function() {
  p = 0;
  n = 0;
  summa = 0;
  kach = 0;
  zakaz = 0;
  idTr = false;
  id = false;
  $('div#mainContent > form > table.list > tbody > tr[id]').each(function() {
    id = $(this).attr('id');
    if( id.indexOf('product_') + 1 ) {
      if( id.indexOf('product_row_') + 1 ) {
        p = parseInt( $(this).find('th[rowspan]').attr('rowspan') );
        idTr = $(this).find('table td:contains("Заказ")').parent();
        
        zakaz = $(this).find('table td:contains("Заказ")').next().html().replace(/\s+/g, '');
        zakaz = parseFloat( zakaz );
      }
      
      var n1 = $(this).find('table tr:nth-child(2) > td:nth-child(1):contains("Стоимость")').next().next().html().replace(/\s+/g, '').replace(/\$/g, '');
      n1 = n1.split('/');
      summa += parseFloat(n1[0]);
        
      n1 = $(this).find('table tr:nth-child(3) > td:nth-child(1):contains("Качество")').next().html().replace(/\s+/g, '');
      kach += parseFloat( n1 ) * parseFloat( $(this).find('input[type="type"]').val() );
      
      n++;
      if(n==p) {
        idTr.after('<tr><td nowrap="">Качество</td><td nowrap="" align="right">'+(kach/zakaz).toFixed(2)+'</td></tr>'
                   +'<tr><td nowrap="">Себестоимость</td><td nowrap="" align="right">$'+(summa/zakaz).toFixed(2)+'</td></tr>');
        
        p = 0;
        n = 0;
        summa = 0;
        kach = 0;
        zakaz = 0;
        idTr = false;
        id = false;
      }
    }
  });
}

if(window.top == window) {
    var script = document.createElement("script");
    script.textContent = '(' + run.toString() + ')();';
    document.documentElement.appendChild(script);
}