Как посчитать общее количество товаров и вывести его?
Прикрепляю скриншот и шаблон.
Всем заранее Спасибо.
Прикрепляю скриншот и шаблон.
Всем заранее Спасибо.
| Код |
|---|
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><!DO CTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<ht ml xmlns:v="urn:s chemas-microsoft-com:vml"
xmlns:o="urn:s chemas-microsoft-com:office:office"
xmlns:w="urn:s chemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<met a http-equiv=Content-Type content="text/html; charset=<?=LANG_CHARSET?>">
<title langs="ru">Лист сбора заказа</title>
<st yle>
.header{font-size:20px; font-family:Tahoma;padding-left:8px;}
.sub_header{font-size:13px; font-family:Tahoma;padding-left:8px;}
.date{font-style:italic; font-family:Tahoma;padding-left:8px;}
.number{font-size:24px;font-family:Tahoma;font-style:italic;padding-left:8px;}
.user{font-size:12px;font-family:Tahoma;font-weight:bold;padding-left:8px;}
.summa{font-size:12px;font-family:Tahoma;font-weight:bold;padding-left:15px;}
table.blank {
border-collapse: collapse;
width: 585px;
}
table.blank td {
border:0.5pt solid windowtext;
}
</style>
</head>
<body bgcolor=white lang=RU style='tab-interval:35.4pt'>
<?
$page = IntVal($page);
if ($page<=0) $page = 1;
?>
<?
$arCurFormat = CCurrencyLang::GetCurrencyFormat($arOrder["CURRENCY"]);
$oplata = preg_replace('/(^|[^&])#/', '${1}', $arCurFormat['FORMAT_STRING']);
?>
<table height="720" align="center" border="0" cellpadding="2" cellspacing="0">
<tr valign="top">
<td colspan="3">
<!-- Верхний колонтитул height="109" -->
</td>
</tr>
<tr valign="top">
<td colspan="3">
<table cellpadding="0" cellspacing="0" border="0" width="595" align="center">
<tr><td><br><br></td></tr>
<tr>
<td width="80"><font class="header">Заказ №</font></td>
<td style="border-bottom : 1px solid Black;" nowrap>
<font class="number"><?echo $arOrder["ACCOUNT_NUMBER"];?></font>
<!--- <input size="30" style="border:1px;font-size:24px;font-style:italic;" type="text" value="<?echo $page;?>">-->
</td>
<td>
</td>
</tr>
<tr>
<td width="180"><font class="sub_header">Адрес доставки:</font></td>
<td style="border-bottom : 1px solid Black;">
<?echo $arOrderProps["ADDRESS"];?>
<?echo $arOrderProps["PVZNOMDER"];?>
<?echo $arOrderProps["STREET"];?>
<?echo $arOrderProps["HOME"];?>
<?echo $arOrderProps["FLAT"];?>
<?echo $arOrderProps["INTERVAL"];?>
</td>
<td>
</td>
</tr>
<tr>
<td width="180"><font class="sub_header">Служба доставки:</font></td>
<td style="border-bottom : 1px solid Black;">
<?$res = \Bitrix\Sale\Delivery\Services\Table::getList(array(
'filter' => array(
'=CODE' => $arOrder["DELIVERY_METHOD"]
)
));
if ($deliveryService = $res->fetch())
if(strlen($deliveryService["NAME"]) > 0)
echo "".htmlspecialcharsEx($deliveryService["NAME"])."";?>
</td>
<td>
</td>
</tr>
<tr>
<td width="180"><font class="sub_header">Номер телефона:</font></td>
<td style="border-bottom : 1px solid Black;">
<?if(empty($arParams))
{
{
echo "".$arOrderProps["PHONE"];
}
}?>
</td>
<td>
</td>
<tr>
<td width="180"><font class="sub_header">Доп Номер телефона:</font></td>
<td style="border-bottom : 1px solid Black;">
<?if(empty($arParams))
{
{
echo "".$arOrderProps["Dop_nomer_telefona"];
}
}?>
</td>
<td>
</td>
<tr>
<td width="180"><font class="sub_header">Кому:</font></td>
<td style="border-bottom : 1px solid Black;">
<?if(empty($arParams))
echo htmlspecialcharsbx($arUser["NAME"])." ".htmlspecialcharsbx($arUser["LAST_NAME"])." ";
if (strlen($arOrderProps["F_INDEX"])>0) echo $arOrderProps["F_INDEX"].",";
$arVal = CSaleLocation::GetByID($arOrderProps["F_LOCATION"], "ru");
if(strlen($arVal["COUNTRY_NAME"])>0 && strlen($arVal["CITY_NAME"])>0)
echo htmlspecialcharsbx($arVal["COUNTRY_NAME"]." - ".$arVal["CITY_NAME"]);
elseif(strlen($arVal["COUNTRY_NAME"])>0 || strlen($arVal["CITY_NAME"])>0)
echo htmlspecialcharsbx($arVal["COUNTRY_NAME"].$arVal["CITY_NAME"]);
?>
</td>
<td>
</td>
</tr>
<tr>
<td width="180"><font class="sub_header">Комментарий менеджера:</font></td>
<td style="border-bottom : 1px solid Black;">
<?
$arOrder = CSaleOrder::GetByID($ORDER_ID);
if (is_array($arOrder))
echo $arOrder['COMMENTS'];
?>
</td>
</tr>
<tr>
<td width="180"><font class="sub_header">Комментарий клиента:</font></td>
<td style="border-bottom : 1px solid Black;">
<?
$arOrder = CSaleOrder::GetByID($ORDER_ID);
if (is_array($arOrder))
echo $arOrder['USER_DESCRIPTION'];
?>
</td>
</tr>
<td>
</td>
<tr><td><br></td></tr>
</table>
<br>
<?
$allquantity = $orderList[$fields['ID']]['QUANTITY'];
?>
<?
if (count($arBasketIDs)>0)
{
$arCurFormat = CCurrencyLang::GetCurrencyFormat($arOrder["CURRENCY"]);
$currency = preg_replace('/(^|[^&])#/', '${1}', $arCurFormat['FORMAT_STRING']);
?>
<table class="blank">
<tr>
<td align="center">№</td>
<td align="center">Наименование</td>
<td align="center">Количество</td>
<td align="center">Цена,<?=$currency;?></td>
<td align="center">Cумма,<?=$currency;?></td>
</tr>
<?
$priceTotal = 0;
$bUseVat = false;
$arBasketOrder = array();
for ($i = 0, $countBasketIds = count($arBasketIDs); $i < $countBasketIds; $i++)
{
$arBasketTmp = CSaleBasket::GetByID($arBasketIDs[$i]);
if (floatval($arBasketTmp["VAT_RATE"]) > 0 )
$bUseVat = true;
$priceTotal += $arBasketTmp["PRICE"]*$arBasketTmp["QUANTITY"];
$arBasketTmp["PROPS"] = array();
if (isset($_GET["PROPS_ENABLE"]) && $_GET["PROPS_ENABLE"] == "Y")
{
$dbBasketProps = CSaleBasket::GetPropsList(
array("SORT" => "ASC", "NAME" => "ASC"),
array("BASKET_ID" => $arBasketTmp["ID"]),
false,
false,
array("ID", "BASKET_ID", "NAME", "VALUE", "CODE", "SORT")
);
while ($arBasketProps = $dbBasketProps->GetNext())
$arBasketTmp["PROPS"][$arBasketProps["ID"]] = $arBasketProps;
}
$arBasketOrder[] = $arBasketTmp;
}
//разбрасываем скидку на заказ по товарам
if (floatval($arOrder["DISCOUNT_VALUE"]) > 0)
{
$arBasketOrder = GetUniformDestribution($arBasketOrder, $arOrder["DISCOUNT_VALUE"], $priceTotal);
}
//налоги
$arTaxList = array();
$db_tax_list = CSaleOrderTax::GetList(array("APPLY_ORDER"=>"ASC"), Array("ORDER_ID"=>$ORDER_ID));
$iNds = -1;
$i = 0;
while ($ar_tax_list = $db_tax_list->Fetch())
{
$arTaxList[$i] = $ar_tax_list;
// определяем, какой из налогов - НДС
// НДС должен иметь код NDS, либо необходимо перенести этот шаблон
// в каталог пользовательских шаблонов и исправить
if ($arTaxList[$i]["CODE"] == "NDS")
$iNds = $i;
$i++;
}
$i = 0;
$total_sum = 0;
foreach ($arBasketOrder as $arBasket):
$nds_val = 0;
$taxRate = 0;
if (floatval($arQuantities[$i]) <= 0)
$arQuantities[$i] = DoubleVal($arBasket["QUANTITY"]);
$b_AMOUNT = DoubleVal($arBasket["PRICE"]);
//определяем начальную цену
$item_price = $b_AMOUNT;
if(DoubleVal($arBasket["VAT_RATE"]) > 0)
{
$nds_val = ($b_AMOUNT - DoubleVal($b_AMOUNT/(1+$arBasket["VAT_RATE"])));
$item_price = $b_AMOUNT - $nds_val;
$taxRate = $arBasket["VAT_RATE"]*100;
}
elseif(!$bUseVat)
{
$basket_tax = CSaleOrderTax::CountTaxes($b_AMOUNT*$arQuantities[$i], $arTaxList, $arOrder["CURRENCY"]);
for ($mi = 0, $countTaxList = count($arTaxList); $mi < $countTaxList; $mi++)
{
if ($arTaxList[$mi]["IS_IN_PRICE"] == "Y")
{
$item_price -= $arTaxList[$mi]["TAX_VAL"];
}
$nds_val += DoubleVal($arTaxList[$mi]["TAX_VAL"]);
$taxRate += ($arTaxList[$mi]["VALUE"]);
}
}
?>
<tr>
<td><?echo $i+1;?></td>
<td>
<?echo htmlspecialcharsbx($arBasket["NAME"]);?>
<?
if (is_array($arBasket["PROPS"]) && $_GET["PROPS_ENABLE"] == "Y")
{
foreach($arBasket["PROPS"] as $vv)
{
if(strlen($vv["VALUE"]) > 0 && $vv["CODE"] != "CATALOG.XML_ID" && $vv["CODE"] != "PRODUCT.XML_ID")
echo "<div st yle=\"font-size:12pt\">".$vv["VALUE"]."</div>";
}
}
?>
<?
if($zolpropcheck==$zolprop){
echo $zolprop2;
}elseif($zolprop2check==$zolprop2){
echo $zolprop;
}else{
echo "Нуменклатурный код";
}
?> <!-- проверяем торговое это предложение или обычный товар -->
</td>
<td align="center"><?echo Bitrix\Sale\BasketItem::formatQuantity($arQuantities[$i]) ?></td>
<td align="right" nowrap><?=CCurrencyLang::CurrencyFormat($arBasket["PRICE"], $arOrder["CURRENCY"], false);?></td>
<td align="right" nowrap><?=CCurrencyLang::CurrencyFormat($arBasket["PRICE"]*$arQuantities[$i], $arOrder["CURRENCY"], false);?></td>
</tr>
<?
$total_sum += $arBasket["PRICE"]*$arQuantities[$i];
$total_nds += $nds_val*$arQuantities[$i];
$i++;
$zolpropcheck = $zolprop;
$zolprop2check = $zolprop2;
endforeach;
?>
<tr>
<td align="center" colspan="10">Общее количество:
<?echo $allquantity;?>
</td>
</tr>
<tr>
<td align="right" colspan="4">
Доставка:
</td>
<td align="right" nowrap>
<?
$res = \Bitrix\Sale\Delivery\Services\Table::getList(array(
'filter' => array(
'=CODE' => $arOrder["DELIVERY_ID"]
)
));
$total_nds += $arOrder["DELIVERY_VAT_SUM"];
$total_sum += $arOrder["PRICE_DELIVERY"];
?>
<?
echo CCurrencyLang::CurrencyFormat($arOrder["PRICE_DELIVERY"], $arOrder["CURRENCY"], false);
?>
</td>
</tr>
<tr>
<td align="right" colspan="4">
Сумма:
</td>
<td align="right" nowrap>
<?=CCurrencyLang::CurrencyFormat($total_sum, $arOrder["CURRENCY"], false);?>
</td>
</tr>
<?
$db_tax_list = CSaleOrderTax::GetList(array("APPLY_ORDER"=>"ASC"), Array("ORDER_ID"=>$ORDER_ID));
while ($ar_tax_list = $db_tax_list->Fetch())
{
?>
<tr>
<td align="right" colspan="4">
<?
if ($ar_tax_list["IS_IN_PRICE"]=="Y")
{
echo "В том числе ";
}
echo htmlspecialcharsbx($ar_tax_list["TAX_NAME"]);
if ($ar_tax_list["IS_PERCENT"]=="Y")
{
echo " (".$ar_tax_list["VALUE"]."%)";
}
?>:
</td>
<td align="right" nowrap>
<?=CCurrencyLang::CurrencyFormat($total_nds, $arOrder["CURRENCY"], false);?>
</td>
</tr>
<?
}
?>
</table>
<?
}
?>
<br>
</td>
</tr>
</table>
</body>
</html>
|