function cw_salesman_get_discount($products, $coupon, $membership_id, $warehouse)
{
    global $tables;
    $data = cw_query_first("select * from {$tables['discount_coupons']} where coupon='{$coupon}'");
    $salesman = $data['warehouse'];
    $return = $salesman_commission = cw_salesman_get_commission($products, $salesman, $membership_id, 0, $warehouse);
    $return = $return * $data['discount'] / 100;
    $max_discount = cw_query_first_cell("select max_discount from {$tables['customers']} where customer_id='{$salesman}'");
    if ($max_discount) {
        $return = $return * $max_discount / 100;
    }
    if ($return > $salesman_commission) {
        $return = $salesman_commission;
    }
    return $return;
}
function cw_doc_update_commissions($doc_id, $doc, $part = 100)
{
    global $addons, $tables;
    if ($addons['Salesman'] && $doc['info']['salesman_customer_id']) {
        cw_load('salesman');
        db_query("delete from {$tables['salesman_payment']} where doc_id = '{$doc_id}'");
        db_query("delete from {$tables['salesman_product_commissions']} where doc_id = '{$doc_id}'");
        if (preg_match("/(free_ship|percent|absolute)(?:``)(.+)/S", $doc['info']['coupon'], $found)) {
            $real_coupon = $found[2];
        }
        $salesman_commission_value = cw_salesman_get_commission($doc['products'], $doc['info']['salesman_customer_id'], $doc['userinfo']['membership_id'], $doc_id, $doc['info']['warehouse_customer_id'], $real_coupon, $doc['info']['coupon_discount'], $part);
    }
    return $salesman_commission_value;
}