Your IP : 18.116.23.178


Current Path : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/
Upload File :
Current File : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/export.tar

excel.php000064400000015602147737240010006366 0ustar00<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

IncludeModuleLangFile(__FILE__);

if (!isset($arFilter) || !is_array($arFilter))
	die("Wrong use 1");
if (!isset($arSelectFields) || !is_array($arSelectFields))
	die("Wrong use 2");

$dbOrderList = CSaleOrder::GetList(
		array($by => $order),
		$arFilter,
		false,
		false,
		$arSelectFields
	);

ob_start();
?>
<table border="1">
	<tr>
		<?
		for ($i = 0; $i < count($arShownFieldsParams); $i++)
		{
			switch ($arShownFieldsParams[$i]["KEY"])
			{
				case "ID":
					echo "<td>".$arShownFieldsParams[$i]["COLUMN_NAME"]."</td>";
					echo "<td>".GetMessage("SEXE_ORDER_DATE")."</td>";
					break;
				case "PAYED":
					echo "<td>".$arShownFieldsParams[$i]["COLUMN_NAME"]."</td>";
					echo "<td>".GetMessage("SEXE_PAY_DATE")."</td>";
					break;
				default:
					echo "<td>".$arShownFieldsParams[$i]["COLUMN_NAME"]."</td>";
					break;
			}
		}
		?>
	</tr>
	<?
	while ($arOrder = $dbOrderList->Fetch()):
		?>
		<tr>
			<?
			for ($i = 0; $i < count($arShownFieldsParams); $i++)
			{
				?>
				<td>
					<?
					switch ($arShownFieldsParams[$i]["KEY"])
					{
						case "ID":
							echo $arOrder["ID"]."</td><td>".$arOrder["DATE_INSERT"];
							break;
						case "LID":
							if (!isset($LOCAL_SITE_LIST_CACHE[$arOrder["LID"]])
								|| !is_array($LOCAL_SITE_LIST_CACHE[$arOrder["LID"]]))
							{
								$dbSite = CSite::GetByID($arOrder["LID"]);
								if ($arSite = $dbSite->Fetch())
									$LOCAL_SITE_LIST_CACHE[$arOrder["LID"]] = htmlspecialcharsEx($arSite["NAME"]);
							}
							echo "[".$arOrder["LID"]."] ".$LOCAL_SITE_LIST_CACHE[$arOrder["LID"]];
							break;
						case "PERSON_TYPE":
							if (!isset($LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]])
								|| !is_array($LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]]))
							{
								if ($arPersonType = CSalePersonType::GetByID($arOrder["PERSON_TYPE_ID"]))
									$LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]] = htmlspecialcharsEx($arPersonType["NAME"]);
							}
							echo "[".$arOrder["PERSON_TYPE_ID"]."] ".$LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]];
							break;
						case "PAYED":
							echo (($arOrder["PAYED"] == "Y") ? GetMessage("SEXE_YES") : GetMessage("SEXE_NO"))."</td><td>";
							echo $arOrder["DATE_PAYED"];
							break;
						case "CANCELED":
							echo (($arOrder["CANCELED"] == "Y") ? GetMessage("SEXE_YES") : GetMessage("SEXE_NO"))." ";
							echo $arOrder["DATE_CANCELED"];
							break;
						case "STATUS":
							if (!isset($LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]])
								|| !is_array($LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]]))
							{
								if ($arStatus = CSaleStatus::GetByID($arOrder["STATUS_ID"]))
									$LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]] = htmlspecialcharsEx($arStatus["NAME"]);
							}

							echo "[".$arOrder["STATUS_ID"]."] ".$LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]]." ";
							echo $arOrder["DATE_STATUS"];
							break;
						case "PAY_VOUCHER_NUM":
							echo $arOrder["PAY_VOUCHER_NUM"];
							break;
						case "PAY_VOUCHER_DATE":
							echo $arOrder["PAY_VOUCHER_DATE"];
							break;
						case "DELIVERY_DOC_NUM":
							echo $arOrder["DELIVERY_DOC_NUM"];
							break;
						case "DELIVERY_DOC_DATE":
							echo $arOrder["DELIVERY_DOC_DATE"];
							break;
						case "PRICE_DELIVERY":
							echo SaleFormatCurrency($arOrder["PRICE_DELIVERY"], $arOrder["CURRENCY"]);
							break;
						case "ALLOW_DELIVERY":
							echo (($arOrder["ALLOW_DELIVERY"] == "Y") ? GetMessage("SEXE_YES") : GetMessage("SEXE_NO"))." ";
							echo $arOrder["DATE_ALLOW_DELIVERY"];
							break;
						case "PRICE":
							echo SaleFormatCurrency($arOrder["PRICE"], $arOrder["CURRENCY"]);
							break;
						case "SUM_PAID":
							echo SaleFormatCurrency($arOrder["SUM_PAID"], $arOrder["CURRENCY"]);
							break;
						case "USER":
							if (!isset($LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]])
								|| !is_array($LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]]))
							{
								$dbUser = CUser::GetByID($arOrder["USER_ID"]);
								if ($arUser = $dbUser->Fetch())
									$LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]] = htmlspecialcharsEx($arUser["NAME"].((strlen($arUser["NAME"])<=0 || strlen($arUser["LAST_NAME"])<=0) ? "" : " ").$arUser["LAST_NAME"]." (".$arUser["LOGIN"].")");
							}
							echo "[".$arOrder["USER_ID"]."] ";
							echo $LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]];
							break;
						case "PAY_SYSTEM":
							if (IntVal($arOrder["PAY_SYSTEM_ID"]) > 0)
							{
								if (!isset($LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]])
									|| !is_array($LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]]))
								{
									if ($arPaySys = CSalePaySystem::GetByID($arOrder["PAY_SYSTEM_ID"]))
										$LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]] = htmlspecialcharsEx($arPaySys["NAME"]);
								}

								echo "[".$arOrder["PAY_SYSTEM_ID"]."] ".$LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]];
							}
							break;
						case "DELIVERY":
							if (IntVal($arOrder["DELIVERY_ID"]) > 0)
							{
								if (!isset($LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]])
									|| !is_array($LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]]))
								{
									if ($arDelivery = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"]))
										$LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]] = htmlspecialcharsEx($arDelivery["NAME"]);
								}

								echo "[".$arOrder["DELIVERY_ID"]."] ".$LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]];
							}
							break;
						case "DATE_UPDATE":
							echo $arOrder["DATE_UPDATE"];
							break;
						case "PS_STATUS":
							if ($arOrder["PS_STATUS"] == "Y")
								echo GetMessage("SEXE_SUCCESS")." ".$arOrder["PS_RESPONSE_DATE"];
							elseif ($arOrder["PS_STATUS"] == "N")
								echo GetMessage("SEXE_UNSUCCESS")." ".$arOrder["PS_RESPONSE_DATE"];
							else
								echo GetMessage("SEXE_NONE");
							break;
						case "PS_SUM":
							echo SaleFormatCurrency($arOrder["PS_SUM"], $arOrder["PS_CURRENCY"]);
							break;
						case "TAX_VALUE":
							echo SaleFormatCurrency($arOrder["TAX_VALUE"], $arOrder["CURRENCY"]);
							break;
						case "BASKET":
							$bNeedLine = False;
							$dbItemsList = CSaleBasket::GetList(
									array("NAME" => "ASC"),
									array("ORDER_ID" => $arOrder["ID"])
								);
							while ($arItem = $dbItemsList->Fetch())
							{
								if ($bNeedLine)
									echo "\n";
								$bNeedLine = True;

								echo "[".$arItem["PRODUCT_ID"]."] ";
								echo $arItem["NAME"];
								echo " (".$arItem["QUANTITY"].GetMessage("SEXE_SHT");
							}
							break;
					}
					?>
				</td>
				<?
			}
			?>
		</tr>
		<?
	endwhile;
	?>
</table>

<?

$content = ob_get_contents();
ob_end_clean();

header('Pragma: public');
header('Cache-control: private');
header('Accept-Ranges: bytes');
header('Content-Length: '.strlen($content));
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename=excel_dump.xls');

echo $content;
?>commerceml2.php000066400000003775147737240010007505 0ustar00<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();


class CSaleExportCML2 extends CSaleExport
{
	/**
	 * @param array $arFilter
	 * @return array
	 */
	protected static function prepareFilter($arFilter=array())
	{
		return $arFilter;
	}

	/**
	 * @param array $arOrder
	 */
	protected static function saveExportParams(array $arOrder)
	{
	}

	protected static function outputXmlUnit($arBasket)
	{
		$measures = \Bitrix\Sale\Helpers\Admin\Blocks\OrderBasket::getCatalogMeasures();
		?>
		<<?=CSaleExport::getTagName("SALE_EXPORT_BASE_UNIT")?> <?=CSaleExport::getTagName("SALE_EXPORT_CODE")?>="<?=$arBasket["MEASURE_CODE"]?>" <?=CSaleExport::getTagName("SALE_EXPORT_FULL_NAME_UNIT")?>="<?=htmlspecialcharsbx(self::$measures[$arBasket["MEASURE_CODE"]]["MEASURE_TITLE"])?>" <?=CSaleExport::getTagName("SALE_EXPORT_INTERNATIONAL_ABR")?>="<?=CSaleExport::getTagName("SALE_EXPORT_RCE")?>"><?=$measures[$arBasket["MEASURE_CODE"]]?></<?=CSaleExport::getTagName("SALE_EXPORT_BASE_UNIT")?>>
		<?
	}

	/**
	 * @param array $fields
	 * @return \Bitrix\Main\Entity\AddResult
	 * @deprecated
	 */
	public static function log(array $fields)
	{
		return new \Bitrix\Main\Entity\AddResult();
	}

	protected static function getLastOrderExported($timeUpdate)
	{
		return array();
	}
}

ob_start();

$options = array();

if (!empty($runtimeFields) && is_array($runtimeFields))
{
	$options['RUNTIME'] = $runtimeFields;
}
CSaleExportCML2::ExportOrders2Xml($arFilter, 0, "", false, 0, false, $options);

$contents = ob_get_contents();
ob_end_clean();

if(toUpper(LANG_CHARSET) != "WINDOWS-1251")
	$contents = $APPLICATION->ConvertCharset($contents, LANG_CHARSET, "windows-1251");

$str = (function_exists("mb_strlen")? mb_strlen($contents, 'latin1'): strlen($contents));

header('Pragma: public');
header('Cache-control: private');
header('Accept-Ranges: bytes');
header("Content-Type: application/xml; charset=windows-1251");
header("Content-Length: ".$str);
header("Content-Disposition: attachment; filename=orders.xml");

echo $contents;
die();
?>commerceml.php000064400000016460147737240010007414 0ustar00<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

/****************************************************************************/
/***************    ENGLISH    **********************************************/
/* CommerceML format. Every item in shopping cart should have the following */
/* properties:                                                              */
/*	- catalog XML_ID (with mnemonic code CATALOG.XML_ID)                     */
/* - product XML_ID (with mnemonic code PRODUCT.XML_ID).                    */
/****************************************************************************/

$SALER_COMPANY_XML_ID = "1";
IncludeModuleLangFile(__FILE__);

if (!isset($arFilter) || !is_array($arFilter))
	die("Wrong use 1");


$filter = array(
	'filter' => $arFilter,
	'select' => array("ID", "LID", "PERSON_TYPE_ID", "PAYED", "DATE_PAYED", "EMP_PAYED_ID", "CANCELED", "DATE_CANCELED", "EMP_CANCELED_ID", "REASON_CANCELED", "STATUS_ID", "DATE_STATUS", "PAY_VOUCHER_NUM", "PAY_VOUCHER_DATE", "EMP_STATUS_ID", "PRICE_DELIVERY", "ALLOW_DELIVERY", "DATE_ALLOW_DELIVERY", "EMP_ALLOW_DELIVERY_ID", "PRICE", "CURRENCY", "DISCOUNT_VALUE", "SUM_PAID", "USER_ID", "PAY_SYSTEM_ID", "DELIVERY_ID", "DATE_INSERT", "DATE_INSERT_FORMAT", "DATE_UPDATE", "USER_DESCRIPTION", "ADDITIONAL_INFO",
		'PS_STATUS' => 'PAYMENT.PS_STATUS',
		'PS_STATUS_CODE' => 'PAYMENT.PS_STATUS_CODE',
		'PS_STATUS_DESCRIPTION' => 'PAYMENT.PS_STATUS_DESCRIPTION',
		'PS_STATUS_MESSAGE' => 'PAYMENT.PS_STATUS_MESSAGE',
		'PS_SUM' => 'PAYMENT.PS_SUM',
		'PS_CURRENCY' => 'PAYMENT.PS_CURRENCY',
		'PS_RESPONSE_DATE' => 'PAYMENT.PS_RESPONSE_DATE',

		"COMMENTS", "TAX_VALUE", "STAT_GID", "RECURRING_ID"),
	'runtime' => $runtimeFields
);


if (!empty($by))
{
	$order = (!empty($order) && $order == "DESC" ? "DESC" : "ASC");
	$filter['order'] = array($by => $order);
}

$dbOrderList = new CDBResult(\Bitrix\Sale\Internals\OrderTable::getList($filter));

ob_start();

echo "<"."?xml version=\"1.0\" encoding=\"".LANG_CHARSET."\"?".">\n";
echo "<BizTalk xmlns=\"urn:schemas-biztalk-org:biztalk/biztalk-0.81.xml\"><Route><From locationID=\"\" locationType=\"\" process=\"\" path=\"\" handle=\"\"/><To locationID=\"\" locationType=\"\" process=\"\" path=\"\" handle=\"\"/></Route><Body>\n";
echo "	<".GetMessage("CommerceInfo")." xmlns=\"urn:CommerceML\">\n";

$arContra = array();
while ($dbOrderList->NavNext(true, "f_")):
	echo "		<".GetMessage("Document")." ".GetMessage("Operation")."=\"Order\" ".GetMessage("NumberDoc")."=\"".$f_ID."\" ";
	echo "".GetMessage("DateDoc")."=\"".CDatabase::FormatDate($f_DATE_INSERT, CLang::GetDateFormat("FULL", LANG), "Y-M-D")."\" ".GetMessage("TimeDoc")."=\"".CDatabase::FormatDate($f_DATE_INSERT, CLang::GetDateFormat("FULL", LANG), "HH:MI:SS")."\" ".GetMessage("PaymentDate")."=\"\" ";
	echo "".GetMessage("Sum")."=\"".$f_PRICE."\" ".GetMessage("Comment")."=\"\" ".GetMessage("Currency")."=\"".$f_CURRENCY."\">\n";
	echo "			<".GetMessage("CompanyInDocument")." ".GetMessage("Role")."=\"Saler\" ".GetMessage("Company")."=\"".$SALER_COMPANY_XML_ID."\"/>\n";
	echo "			<".GetMessage("CompanyInDocument")." ".GetMessage("Role")."=\"Buyer\" ".GetMessage("Company")."=\"BC".$f_USER_ID."\"/>\n";

	$dbOrderTax = CSaleOrderTax::GetList(
		array(),
		array("ORDER_ID" => $f_ID),
		false,
		false,
		array("ID", "TAX_NAME", "VALUE", "VALUE_MONEY", "CODE", "IS_IN_PRICE")
	);
	while ($arOrderTax = $dbOrderTax->Fetch())
	{
		echo "			<".GetMessage("TaxSum")." ".GetMessage("Tax")."=\"".htmlspecialcharsbx($arOrderTax["TAX_NAME"])."\" ".GetMessage("TaxRate")."=\"".htmlspecialcharsbx($arOrderTax["VALUE"])."\" ".GetMessage("Sum")."=\"".htmlspecialcharsbx($arOrderTax["VALUE_MONEY"])."\" ".GetMessage("IncludedInSum")."=\"".(($arOrderTax["IS_IN_PRICE"]=="Y") ? 1 : 0)."\"/>\n";
	}


	$dbBasket = CSaleBasket::GetList(
			array("NAME" => "ASC"),
			array("ORDER_ID" => $f_ID)
		);
	while ($arBasket = $dbBasket->Fetch())
	{
		$CATALOG_XML_ID = $arBasket["CATALOG_XML_ID"];
		$PRODUCT_XML_ID = $arBasket["PRODUCT_XML_ID"];
		if (strlen($PRODUCT_XML_ID) <= 0 && strlen($CATALOG_XML_ID) <= 0)
		{
			$dbBasketProps = CSaleBasket::GetPropsList(
					array("CODE" => "ASC"),
					array("BASKET_ID" => $arBasket["ID"])
				);
			while ($arBasketProps = $dbBasketProps->Fetch())
			{
				if ($arBasketProps["CODE"] == "CATALOG.XML_ID")
					$CATALOG_XML_ID = $arBasketProps["VALUE"];
				elseif ($arBasketProps["CODE"] == "PRODUCT.XML_ID")
				{
					$PRODUCT_XML_ID = $arBasketProps["VALUE"];
					if (substr($PRODUCT_XML_ID, 0, 2) == "ID")
						$PRODUCT_XML_ID = substr($PRODUCT_XML_ID, 2);
				}
			}
		}
		if (strlen($PRODUCT_XML_ID) <= 0)
			$PRODUCT_XML_ID = $arBasket["PRODUCT_ID"];

		echo "			<".GetMessage("Article")." ".GetMessage("Catalog")."=\"".$CATALOG_XML_ID."\" ".GetMessage("Product")."=\"".$PRODUCT_XML_ID."\" ".GetMessage("Unit")."=\"\" ".GetMessage("Amount")."=\"".$arBasket["QUANTITY"]."\" ".GetMessage("Price")."=\"".$arBasket["PRICE"]."\" ".GetMessage("Sum")."=\"".(DoubleVal($arBasket["PRICE"])*IntVal($arBasket["QUANTITY"]))."\" ".GetMessage("Description")."=\"".htmlspecialcharsbx($arBasket["NAME"])."\"/>\n";
	}
	echo "		</".GetMessage("Document").">\n";

	if (!in_array("BC".$f_USER_ID, $arContra))
	{
		$arContra[] = "BC".$f_USER_ID;

		$db_user = CUser::GetByID($f_USER_ID);
		$arUser = $db_user->Fetch();

		$contra_mail = "";
		$contra_name = $arUser["NAME"]." ".$arUser["LAST_NAME"];
		$contra_other = "";
		$db_props = CSaleOrderPropsValue::GetOrderProps($f_ID);
		while ($arProps = $db_props->Fetch())
		{
			if ($arProps["IS_EMAIL"]=="Y")
				$contra_mail = $arProps["VALUE"];
			if ($arProps["IS_PAYER"]=="Y")
				$contra_name = $arProps["VALUE"];
			if ($arProps["TYPE"]=="LOCATION")
			{
				$arLocs = CSaleLocation::GetByID($arProps["VALUE"], LANG);
				$contra_other .= $arProps["PROPERTY_NAME"]."=".$arLocs["COUNTRY_NAME"]." - ".$arLocs["CITY_NAME"];
			}
			else
			{
				$contra_other .= $arProps["PROPERTY_NAME"]."=".$arProps["VALUE"];
			}
			$contra_other .= " // ";
		}

		echo "		<".GetMessage("Company")." ".GetMessage("ID")."=\"BC".$f_USER_ID."\" ".GetMessage("Name")."=\"".htmlspecialcharsbx($contra_name)."\" ".GetMessage("DisplayName")."=\"".htmlspecialcharsbx($contra_name)."\" ".GetMessage("Address")."=\"\" ".GetMessage("JuridicAddress")."=\"\" ".GetMessage("WWW")."=\"\" ".GetMessage("Comment")."=\"".htmlspecialcharsbx($contra_other)."\">\n";
		echo "			<".GetMessage("Contact")." ".GetMessage("ID")."=\"B".$f_USER_ID."\" ".GetMessage("Name")."=\"".GetMessage("Contact")."\">\n";
		echo "				<".GetMessage("ContactMan").">".htmlspecialcharsbx($arUser["NAME"]." ".$arUser["LAST_NAME"])." (".htmlspecialcharsbx($contra_name).")</".GetMessage("ContactMan").">\n";
		echo "				<".GetMessage("E-mail").">".htmlspecialcharsbx($contra_mail)."</".GetMessage("E-mail").">\n";
		echo "			</".GetMessage("Contact").">\n";
		echo "		</".GetMessage("Company").">\n";
	}
endwhile;

echo "		<".GetMessage("Company")." ".GetMessage("ID")."=\"".$SALER_COMPANY_XML_ID."\"/>\n";
echo "	</".GetMessage("CommerceInfo").">\n";
echo "</Body></BizTalk>";

$content = ob_get_contents();
ob_end_clean();

header('Pragma: public');
header('Cache-control: private');
header('Accept-Ranges: bytes');
header("Content-Type: application/xml");
header('Content-Length: '.(function_exists("mb_strlen")? mb_strlen($content, 'latin1'): strlen($content)));
header("Content-Disposition: attachment; filename=order.xml");

echo $content;
die();
?>csv.php000064400000020340147737240010006054 0ustar00<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

IncludeModuleLangFile(__FILE__);

if (!isset($arFilter) || !is_array($arFilter))
	die("Wrong use 1");
if (!isset($arSelectFields) || !is_array($arSelectFields))
	die("Wrong use 2");

$fieldsSeparator = ",";


$filter = array(
	'filter' => $arFilter,
	'select' => $arSelectFields,
	'runtime' => $runtimeFields
);

if (!empty($by))
{
	$order = (!empty($order) && $order == "DESC" ? "DESC" : "ASC");
	$filter['order'] = array($by => $order);
}

$dbOrderList = \Bitrix\Sale\Internals\OrderTable::getList($filter);
ob_start();

for ($i = 0, $max = count($arShownFieldsParams); $i < $max; $i++)
{
	switch ($arShownFieldsParams[$i]["KEY"])
	{
		case "ID":
			echo "\"".str_replace("\"", "\"\"", $arShownFieldsParams[$i]["COLUMN_NAME"])."\",";
			echo "\"".str_replace("\"", "\"\"", GetMessage("SEXC_ORDER_DATE"))."\"";
			break;
		case "PAYED":
			echo "\"".str_replace("\"", "\"\"", $arShownFieldsParams[$i]["COLUMN_NAME"])."\",";
			echo "\"".str_replace("\"", "\"\"", GetMessage("SEXC_PAY_DATE"))."\"";
			break;
		default:
			echo "\"".str_replace("\"", "\"\"", $arShownFieldsParams[$i]["COLUMN_NAME"])."\"";
			break;
	}

	if ($i < count($arShownFieldsParams) - 1)
		echo $fieldsSeparator;
}
echo "\n";

while ($arOrder = $dbOrderList->fetch())
{
	for ($i = 0, $max = count($arShownFieldsParams); $i < $max; $i++)
	{
		switch ($arShownFieldsParams[$i]["KEY"])
		{
			case "ID":
				echo "\"".str_replace("\"", "\"\"", $arOrder["ID"])."\"".$fieldsSeparator;
				echo "\"".str_replace("\"", "\"\"", $arOrder["DATE_INSERT"])."\"";
				break;
			case "LID":
				if (!isset($LOCAL_SITE_LIST_CACHE[$arOrder["LID"]])
					|| !is_array($LOCAL_SITE_LIST_CACHE[$arOrder["LID"]]))
				{
					$dbSite = CSite::GetByID($arOrder["LID"]);
					if ($arSite = $dbSite->Fetch())
						$LOCAL_SITE_LIST_CACHE[$arOrder["LID"]] = htmlspecialcharsEx($arSite["NAME"]);
				}
				$printValue = "[".$arOrder["LID"]."] ".$LOCAL_SITE_LIST_CACHE[$arOrder["LID"]];
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "PERSON_TYPE":
				if (!isset($LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]])
					|| !is_array($LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]]))
				{
					if ($arPersonType = CSalePersonType::GetByID($arOrder["PERSON_TYPE_ID"]))
						$LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]] = htmlspecialcharsEx($arPersonType["NAME"]);
				}
				$printValue = "[".$arOrder["PERSON_TYPE_ID"]."] ".$LOCAL_PERSON_TYPE_CACHE[$arOrder["PERSON_TYPE_ID"]];
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "PAYED":
				echo "\"".str_replace("\"", "\"\"", (($arOrder["PAYED"] == "Y") ? GetMessage("SEXC_YES") : GetMessage("SEXC_NO")))."\"".$fieldsSeparator;
				echo "\"".str_replace("\"", "\"\"", $arOrder["DATE_PAYED"])."\"";
				break;
			case "CANCELED":
				$printValue  = (($arOrder["CANCELED"] == "Y") ? GetMessage("SEXC_YES") : GetMessage("SEXC_NO"))." ";
				$printValue .= $arOrder["DATE_CANCELED"];
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "STATUS":
				if (!isset($LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]])
					|| !is_array($LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]]))
				{
					if ($arStatus = CSaleStatus::GetByID($arOrder["STATUS_ID"]))
						$LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]] = htmlspecialcharsEx($arStatus["NAME"]);
				}

				$printValue  = "[".$arOrder["STATUS_ID"]."] ".$LOCAL_STATUS_CACHE[$arOrder["STATUS_ID"]]." ";
				$printValue .= $arOrder["DATE_STATUS"];
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "PAY_VOUCHER_NUM":
				echo "\"".str_replace("\"", "\"\"", $arOrder["PAY_VOUCHER_NUM"])."\"";
				break;
			case "PAY_VOUCHER_DATE":
				echo "\"".str_replace("\"", "\"\"", $arOrder["PAY_VOUCHER_DATE"])."\"";
				break;
			case "DELIVERY_DOC_NUM":
				echo "\"".str_replace("\"", "\"\"", $arOrder["DELIVERY_DOC_NUM"])."\"";
				break;
			case "DELIVERY_DOC_DATE":
				echo "\"".str_replace("\"", "\"\"", $arOrder["DELIVERY_DOC_DATE"])."\"";
				break;
			case "PRICE_DELIVERY":
				$printValue = SaleFormatCurrency($arOrder["PRICE_DELIVERY"], $arOrder["CURRENCY"]);
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "ALLOW_DELIVERY":
				$printValue  = (($arOrder["ALLOW_DELIVERY"] == "Y") ? GetMessage("SEXC_YES") : GetMessage("SEXC_NO"))." ";
				$printValue .= $arOrder["DATE_ALLOW_DELIVERY"];
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "PRICE":
				$printValue = SaleFormatCurrency($arOrder["PRICE"], $arOrder["CURRENCY"]);
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "SUM_PAID":
				$printValue = SaleFormatCurrency($arOrder["SUM_PAID"], $arOrder["CURRENCY"]);
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "USER":
				if (!isset($LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]])
					|| !is_array($LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]]))
				{
					$dbUser = CUser::GetByID($arOrder["USER_ID"]);
					if ($arUser = $dbUser->Fetch())
						$LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]] = htmlspecialcharsEx($arUser["NAME"].((strlen($arUser["NAME"])<=0 || strlen($arUser["LAST_NAME"])<=0) ? "" : " ").$arUser["LAST_NAME"]." (".$arUser["LOGIN"].")");
				}
				$printValue = "[".$arOrder["USER_ID"]."] ".$LOCAL_PAYED_USER_CACHE[$arOrder["USER_ID"]];
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "PAY_SYSTEM":
				if (IntVal($arOrder["PAY_SYSTEM_ID"]) > 0)
				{
					if (!isset($LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]])
						|| !is_array($LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]]))
					{
						if ($arPaySys = CSalePaySystem::GetByID($arOrder["PAY_SYSTEM_ID"]))
							$LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]] = htmlspecialcharsEx($arPaySys["NAME"]);
					}

					$printValue = "[".$arOrder["PAY_SYSTEM_ID"]."] ".$LOCAL_PAY_SYSTEM_CACHE[$arOrder["PAY_SYSTEM_ID"]];
					echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				}
				break;
			case "DELIVERY":
				if (IntVal($arOrder["DELIVERY_ID"]) > 0)
				{
					if (!isset($LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]])
						|| !is_array($LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]]))
					{
						if ($arDelivery = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"]))
							$LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]] = htmlspecialcharsEx($arDelivery["NAME"]);
					}

					$printValue = "[".$arOrder["DELIVERY_ID"]."] ".$LOCAL_DELIVERY_CACHE[$arOrder["DELIVERY_ID"]];
					echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				}
				break;
			case "DATE_UPDATE":
				echo "\"".str_replace("\"", "\"\"", $arOrder["DATE_UPDATE"])."\"";
				break;
			case "PS_STATUS":
				if ($arOrder["PS_STATUS"] == "Y")
					$printValue = GetMessage("SEXC_SUCCESS")." ".$arOrder["PS_RESPONSE_DATE"];
				elseif ($arOrder["PS_STATUS"] == "N")
					$printValue = GetMessage("SEXC_UNSUCCESS")." ".$arOrder["PS_RESPONSE_DATE"];
				else
					$printValue = GetMessage("SEXC_NONE");
				break;
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
			case "PS_SUM":
				$printValue = SaleFormatCurrency($arOrder["PS_SUM"], $arOrder["PS_CURRENCY"]);
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "TAX_VALUE":
				$printValue = SaleFormatCurrency($arOrder["TAX_VALUE"], $arOrder["CURRENCY"]);
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
			case "BASKET":
				$printValue = "";
				$bNeedLine = False;
				$dbItemsList = CSaleBasket::GetList(
						array("NAME" => "ASC"),
						array("ORDER_ID" => $arOrder["ID"])
					);
				while ($arItem = $dbItemsList->Fetch())
				{
					if ($bNeedLine)
						$printValue .= "\n";
					$bNeedLine = True;

					$printValue .= "[".$arItem["PRODUCT_ID"]."] ";
					$printValue .= $arItem["NAME"];
					$printValue .= " (".$arItem["QUANTITY"].GetMessage("SEXC_SHT");
				}
				echo "\"".str_replace("\"", "\"\"", $printValue)."\"";
				break;
		}

		if ($i < count($arShownFieldsParams) - 1)
			echo $fieldsSeparator;
	}
	echo "\n";
}

$content = ob_get_contents();
ob_end_clean();

header('Pragma: public');
header('Cache-control: private');
header('Accept-Ranges: bytes');
header('Content-Length: '.strlen($content));
header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename=data.csv');


echo $content;

?>