$account_sum = $account->sum;
$account_bonus_sum = $account->bonus_sum;
$bill = new billing($uid);
$bill->cancelAllNewAndReserved();
//Здесь впервые считается цена
if ($tmpPrj->getAmmount()) {
    $tmpProject = $tmpPrj->getProject();
    //Цена считается повторно, в $items формируется список услуг
    $price = $tmpPrj->getPrice($items, $__temp, true);
    $option = array('is_edit' => $tmpPrj->isEdit(), 'items' => $items, 'prj_id' => $project['id'], 'logo_id' => $logo['id'], 'logo_link' => $tmpProject['link']);
    if ($items['top']) {
        $option['addTop'] = $tmpPrj->getAddedTopDays();
    }
    if ($tmpPrj->isKonkurs()) {
        if (new_projects::isNewContestBudget()) {
            $cost = $tmpPrj->getCostRub();
            $op_code = new_projects::getContestTaxOpCode($tmpPrj->getCostRub(), is_pro());
            $items['contest']['no_pro'] = $tmpPrj->isEdit() ? 0 : new_projects::getContestTax($cost, is_pro());
            $items['contest']['pro'] = $tmpPrj->isEdit() ? 0 : new_projects::getContestTax($cost, true);
        } else {
            //Здесь счет создастся при редактировании конкурса
            $items['contest']['no_pro'] = $tmpPrj->isEdit() ? 0 : 3300;
            $items['contest']['pro'] = $tmpPrj->isEdit() ? 0 : 3000;
            $op_code = is_pro() ? new_projects::OPCODE_KON : new_projects::OPCODE_KON_NOPRO;
        }
        $op_code_pay = new_projects::OPCODE_PAYED_KON;
    } else {
        $op_code = new_projects::OPCODE_PAYED;
        $op_code_pay = new_projects::OPCODE_PAYED;
    }
    if ($items) {