Так и не дождался ответа(.
По вопросу №1:
Если я правльно понимаю, в ТДС "Заказы" есть такой кусок кода:
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers'

;
$site_user_id = $SiteUsers->GetCurrentSiteUser();
if (to_str($_REQUEST['action']) == 'cancel'

{
$shop_order_guid = to_str($_REQUEST['shop_order_guid']);
$order_row = $shop->GetOrderByGuid($shop_order_guid);
if ($order_row)
{
$shop_order_id = $order_row['shop_order_id'];
/* Аннулируем заказ, только если он еще не оплачен */
if (!$order_row['shop_order_status_of_pay'])
{
if ($shop->CancelOrder($shop_order_id))
{
$msg = 'Заказ успешно отменен.';
}
else
{
$msg = 'Ошибка при отмене заказа.';
}
}
else
{
$msg = 'Нельзя отменить заказ, так как он уже оплачен.';
}
}
else
{
$msg = 'Информация о заказе не найдена.';
}
/* Редирект */
$time = 5; // секунд
$structure = & singleton('Structure'

;
$path = '/'.$structure->GetStructurePath(CURRENT_STRUCTURE_ID);
?>
<h1>Отмена заказа</h1>
<p><?php echo $msg?> Через <?php echo $time?> секунд Вы вернетесь к
списку заказов.</p>
<p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
<script language="JavaScript" type="text/javascript">
<!--
function set_location()
{
location = "<?php echo $path?>";
}
setTimeout('set_location()', <?php echo $time * 1000?>

;
//-->
</script>
<?php
}
и нужно добавить такой же кусок , но вместо "cancel" вписать, например "cancel1"
а в XSL шаблон "Список заказов" в этот кусок:
<xsl:choose>
<xsl:when test="status_of_pay != '0'">
<b>Заказ оплачен <xsl:value-of select="date_of_pay"/></b>
</xsl:when>
<xsl:when test="order_cancel != 0">
<span style="color: #AA0000">Заказ отменен.</span>
</xsl:when>
<xsl:otherwise>
<b><span style="color: #AA0000">Заказ не оплачен.</span></b>
<xsl:text> </xsl:text>
<a href="?action=cancel&shop_order_guid={shop_order_guid}" onclick="return confirm('Вы действительно хотите отменить заказ?'

;" class="dashed_link">Отменить заказ</a>,
<xsl:text> </xsl:text><a href="javascript:void(0)" onclick="cr('change_order_type_{order_id}'

;" class="dashed_link">изменить форму оплаты</a>,
</xsl:otherwise>
</xsl:choose>
по этому же принципу вместо "cancel" добавить "cancel1".
Ну и в "Формах центра администрирования" сделать добавление по этому же принципу.
Так ли это?
2. Ну и вопрос №2 вопрос может кто-то ответит: можно ли это реализовать на системе в принципе?