Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- define("NO_AGENT_CHECK", true);
- define("NO_KEEP_STATISTIC", true);
- require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
- use \Bitrix\Sale\Order;
- if ( !$GLOBALS['USER']->IsAdmin() )
- {
- die("Доступно только для администратора.");
- }
- CModule::IncludeModule('sale');
- $arErrors = array();
- if ( isset($_REQUEST['ORDER_ID']) || isset($_REQUEST['ORDER_ID_TEXT']) )
- {
- $nOrder = ( (int)$_REQUEST['ORDER_ID_TEXT'] > 0 ? (int)$_REQUEST['ORDER_ID_TEXT'] : (int)$_REQUEST['ORDER_ID'] );
- $order = \Bitrix\Sale\Order::load($nOrder);
- $order->setField('MARKED','N');
- $order->setField('REASON_MARKED', '');
- $order->save();
- if ( $nOrder && CSaleOrder::GetByID($nOrder) )
- {
- ob_end_clean();
- header('Content-Type: text/html; charset=utf-8');
- header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
- header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
- header('Cache-Control: no-store, no-cache, must-revalidate');
- header('Cache-Control: post-check=0, pre-check=0', FALSE);
- header('Pragma: no-cache');
- header('Content-transfer-encoding: binary');
- header('Content-Disposition: attachment; filename=order-'.$nOrder.'.xml');
- header('Content-Type: application/x-unknown');
- ob_start();
- CSaleExport::ExportOrders2Xml(array('ID' => $nOrder));
- $sXml = ob_get_clean();
- echo strtr($sXml, array('encoding="windows-1251"' => 'encoding="utf-8"'));
- exit();
- }
- else
- {
- $arErrors[] = "Заказ №{$nOrder} не найден.";
- }
- }
- $arOrdersID = array();
- $dbOrders = CSaleOrder::GetList(array("ID" => "DESC"), array(), false, array('nTopCount' => 200), array('ID', 'DATE_INSERT'));
- while ($arOrder = $dbOrders->Fetch())
- {
- $arOrdersID[] = $arOrder;
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Просмотр XML выгрузки для заказа</title>
- <met a http-equiv="Content-Type" content="text/html; charset=utf-8">
- <style>
- html, body { position: relative; height: 100%; }
- body { background: #f1f1f1; padding: 0; margin: 0 }
- .content-table { position: relative; width: 100%; height: 100%; }
- .content-cell { position: relative; text-align: center; vertical-align: middle; }
- .center-content { position: relative; box-shadow: 0 0 2px #555; padding: 20px;
- border-radius: 4px; background: #fff; display: inline-block; text-align: left; }
- </style>
- </head>
- <body>
- <table class="content-table">
- <tr>
- <td class="content-cell">
- <div class="center-content">
- <?echo '<pre>'.var_export($_REQUEST, 1).'</pre>';?>
- <form action="" method="post" style="line-height: 24px;">
- Форма генерирует XML файл заказа, такой же как при экспорте
- <br />заказов с сайта в 1C, но в кодировке utf-8 для просмотре в браузере
- <br /><br />
- <?
- if ( $arErrors )
- {
- // Ошибки
- echo implode('<br />', $arErrors).'<br />';
- }
- ?>
- Выберите из списка (200 последних ID):
- <select name="ORDER_ID" style="cursor: pointer;">
- <option value="">Выберите номер заказа</option>
- <?
- foreach ( $arOrdersID as $arOrder )
- {
- echo '<option value="'.$arOrder['ID'].'">'.$arOrder['ID'].' ('.$arOrder['DATE_INSERT'].')</option>';
- }
- ?>
- </select>
- <br />Или введите номер заказа вручную: <input type="text" name="ORDER_ID_TEXT" value="" />
- <br /><button type="submit" name="SUBMIT" value="Y" style="cursor: pointer;">Сгенерировать XML</button>
- <br /><br />* Полученный XML файл можно открыть в Google Chrome,
- <br />файл будет открыт с XML форматированием.
- </form>
- </div>
- </td>
- </tr>
- </table>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment