IncludeModuleLangFile(__FILE__);
$GLOBALS["SALE_EXPORT"] = Array();
class CAllSaleExport
{
/*************** ADD, UPDATE, DELETE *****************/
function CheckFields($ACTION, &$arFields, $ID = 0)
{
if ((is_set($arFields, "PERSON_TYPE_ID") || $ACTION=="ADD") && IntVal($arFields["PERSON_TYPE_ID"]) <= 0)
{
$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SALE_EXPORT_NO_PERSON_TYPE_ID"), "EMPTY_PERSON_TYPE_ID");
return false;
}
if (is_set($arFields, "PERSON_TYPE_ID"))
{
$arResult = CSalePersonType::GetByID($arFields["PERSON_TYPE_ID"]);
if (!$arResult)
{
$GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["PERSON_TYPE_ID"], GetMessage("SALE_EXPORT_ERROR_PERSON_TYPE_ID")), "ERROR_NO_PERSON_TYPE_ID");
return false;
}
}
return True;
}
function Delete($ID)
{
global $DB;
$ID = IntVal($ID);
unset($GLOBALS["SALE_EXPORT"]["SALE_EXPORT_CACHE_".$ID]);
return $DB->Query("DELETE FROM b_sale_export WHERE ID = ".$ID."", true);
}
/*************** SELECT *********************/
function GetByID($ID)
{
global $DB;
$ID = IntVal($ID);
if (isset($GLOBALS["SALE_EXPORT"]["SALE_EXPORT_CACHE_".$ID]) && is_array($GLOBALS["SALE_EXPORT"]["SALE_EXPORT_CACHE_".$ID]) && is_set($GLOBALS["SALE_EXPORT_CACHE_".$ID], "ID"))
{
return $GLOBALS["SALE_EXPORT"]["SALE_EXPORT_CACHE_".$ID];
}
else
{
$strSql =
"SELECT E.ID, E.PERSON_TYPE_ID, E.VARS ".
"FROM b_sale_export E ".
"WHERE E.ID = ".$ID."";
$dbResult = $DB->Query($strSql, False, "File: ".__FILE__."
Line: ".__LINE__);
if ($arResult = $dbResult->Fetch())
{
$GLOBALS["SALE_EXPORT"]["SALE_EXPORT_CACHE_".$ID] = $arResult;
return $arResult;
}
}
return False;
}
function ExportOrders2Xml($arFilter = Array(), $nTopCount = 0, $currency = "", $crmMode = false, $time_limit = 0, $version = false, $arOptions = Array())
{
global $DB;
$count = false;
if(IntVal($nTopCount) > 0)
$count = Array("nTopCount" => $nTopCount);
$bNewVersion = (strlen($version) > 0);
$bExportFromCrm = (isset($arOptions["EXPORT_FROM_CRM"]) && $arOptions["EXPORT_FROM_CRM"] === "Y");
if(IntVal($time_limit) > 0)
{
//This is an optimization. We assume than no step can take more than one year.
if($time_limit > 0)
$end_time = time() + $time_limit;
else
$end_time = time() + 365*24*3600; // One year
//$version
$lastOrderPrefix = "LAST_ORDER_ID";
if($crmMode)
{
$lastOrderPrefix = md5(serialize($arFilter));
if(!empty($_SESSION["BX_CML2_EXPORT"][$lastOrderPrefix]) && IntVal($nTopCount) > 0)
$count["nTopCount"] = $count["nTopCount"]+count($_SESSION["BX_CML2_EXPORT"][$lastOrderPrefix]);
}
else
{
if(IntVal($_SESSION["BX_CML2_EXPORT"][$lastOrderPrefix]) > 0)
{
$arFilter[" 0,
"CONTACTS" => 0,
"COMPANIES" => 0,
);
$accountNumberPrefix = COption::GetOptionString("sale", "1C_SALE_ACCOUNT_NUMBER_SHOP_PREFIX", "");
$dbPaySystem = CSalePaySystem::GetList(Array("ID" => "ASC"), Array("ACTIVE" => "Y"), false, false, Array("ID", "NAME", "ACTIVE"));
while($arPaySystem = $dbPaySystem -> Fetch())
$paySystems[$arPaySystem["ID"]] = $arPaySystem["NAME"];
$dbDelivery = CSaleDelivery::GetList(Array("ID" => "ASC"), Array("ACTIVE" => "Y"), false, false, Array("ID", "NAME", "ACTIVE"));
while($arDelivery = $dbDelivery -> Fetch())
$delivery[$arDelivery["ID"]] = $arDelivery["NAME"];
$rsDeliveryHandlers = CSaleDeliveryHandler::GetAdminList(array("SID" => "ASC"));
while ($arHandler = $rsDeliveryHandlers->Fetch())
{
if(is_array($arHandler["PROFILES"]))
{
foreach($arHandler["PROFILES"] as $k => $v)
{
$delivery[$arHandler["SID"].":".$k] = $v["TITLE"]." (".$arHandler["NAME"].")";
}
}
}
$arStore = array();
$arMeasures = array();
if(CModule::IncludeModule("catalog"))
{
$dbList = CCatalogStore::GetList(
array("SORT" => "DESC", "ID" => "ASC"),
array("ACTIVE" => "Y", "ISSUING_CENTER" => "Y"),
false,
false,
array("ID", "SORT", "TITLE", "ADDRESS", "DESCRIPTION", "PHONE", "EMAIL", "XML_ID")
);
while ($arStoreTmp = $dbList->Fetch())
{
if(strlen($arStoreTmp["XML_ID"]) <= 0)
$arStoreTmp["XML_ID"] = $arStoreTmp["ID"];
$arStore[$arStoreTmp["ID"]] = $arStoreTmp;
}
$dbList = CCatalogMeasure::getList(array(), array(), false, false, array("CODE", "MEASURE_TITLE"));
while($arList = $dbList->Fetch())
{
$arMeasures[$arList["CODE"]] = $arList["MEASURE_TITLE"];
}
}
if(empty($arMeasures))
$arMeasures[796] = GetMessage("SALE_EXPORT_SHTUKA");
$dbExport = CSaleExport::GetList();
while($arExport = $dbExport->Fetch())
{
$arAgent[$arExport["PERSON_TYPE_ID"]] = unserialize($arExport["VARS"]);
}
$dateFormat = CSite::GetDateFormat("FULL");
if ($crmMode)
{
echo "<"."?xml version=\"1.0\" encoding=\"UTF-8\"?".">\n";
$arCharSets = array();
$dbSitesList = CSite::GetList(($b=""), ($o=""));
while ($arSite = $dbSitesList->Fetch())
$arCharSets[$arSite["ID"]] = $arSite["CHARSET"];
}
else
echo "<"."?xml version=\"1.0\" encoding=\"windows-1251\"?".">\n";
?>
<
Fatal error: Uncaught Error: Call to undefined function GetMessage() in D:\ktt\ttepla.com\public_html\bitrix\modules\sale\distr\general\export.php:178
Stack trace:
#0 {main}
thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\sale\distr\general\export.php on line 178