} else {
        if (strtolower($_REQUEST['ordenar']) == 'down') {
            $buscar = "> {$sugarbean->ordered}";
            $seleccionar = "MIN(ordered)";
        }
    }
    // Si sabemos que item buscamos
    if ($buscar) {
        // Obtenemos el ID del item superior o inferior
        $sql = " SELECT i.id id " . " FROM reg_items i " . " WHERE i.deleted=0 " . " AND   i.invoice_id = '{$_REQUEST['factid']}' " . " AND   i.ordered = " . "  ( SELECT {$seleccionar} FROM reg_items i2 " . "    WHERE f2.invoice_id='{$_REQUEST['factid']}' AND i2.ordered  {$buscar} AND i2.deleted = 0  )";
        $result = $sugarbean->db->query($sql);
        $row = $sugarbean->db->fetchByAssoc($result);
        $item_id = $row['id'];
        // Si encontramos el item superior o inferior, intercambiamos sus valores.
        if ($item_id) {
            $otro = new reg_items();
            $otro->retrieve($item_id);
            $temp = $otro->ordered;
            $otro->ordered = $sugarbean->ordered;
            $otro->save();
            $sugarbean->ordered = $temp;
            $sugarbean->save();
        }
    }
}
// handle the return location variables
if (!empty($_REQUEST['return_url'])) {
    $_REQUEST['return_url'] = urldecode($_REQUEST['return_url']);
}
$GLOBALS['log']->debug("deleted Item: bean: {$bean_name}, ");
if (empty($_REQUEST['refresh_page'])) {
<?php

if (!defined('sugarEntry') || !sugarEntry) {
    die('Not A Valid Entry Point');
}
require_once 'include/utils.php';
require_once 'include/formbase.php';
require_once 'modules/reg_items/reg_items.php';
if (file_exists('modules/reg_invoices/reg_invoices.php')) {
    require_once 'modules/reg_invoices/reg_invoices.php';
}
$sugarbean = new reg_items();
// perform the delete if given a record to delete
if (empty($_REQUEST['record'])) {
    $GLOBALS['log']->info('delete called without a record id specified');
} else {
    $record = $_REQUEST['record'];
    $sugarbean->retrieve($record);
    if (!$sugarbean->ACLAccess('Delete')) {
        ACLController::displayNoAccess(true);
        sugar_cleanup(true);
    }
    $GLOBALS['log']->info("deleting Item: {$record}");
    // Antes de borrar, obtenemos el ID de la factura
    $sql = " select invoice_id from invoice_items where deleted=0 and id = '{$record}' ";
    $result = $sugarbean->db->query($sql);
    $row = $sugarbean->db->fetchByAssoc($result);
    $invoice_id = $row['invoice_id'];
    // Borramos el Item
    $sugarbean->mark_deleted($record);
    // Actualizamos la factura asociada.