Нужно было сделать что бы в списке заказов выводилась колонка с названием склада самовывоза. Очень не удобно залезать в отгрузку каждого заказа и смотреть там, на форуме не нашел, пришлось сделать самому, может кому понадобится.
просто ставим в init.php
//добавляет колонку склад в списке заказов
AddEventHandler("main", "OnAdminListDisplay", "addColumnSklad");
function addColumnSklad(&$list)
{
if ($list->table_id === 'tbl_sale_order' && isset($list->aVisibleHeaders['SHIPMENTS'])) {
$list->aVisibleHeaders["SKLAD"] =
array(
"id" => "SKLAD",
"content" => 'Пункт самовывоза', // текст в шапке таблицы для поля
"sort" => "SKLAD",
"default" => false,
"align" => "left",
);
$list->arVisibleColumns[]= 'SKLAD';
//получаем названия всех складов
$stores=array();
$dbList = \CCatalogStore::GetList(
array(),
array("ACTIVE" => "Y"),
false,
false,
array("ID","TITLE","ADDRESS")
);
while ($store = $dbList->Fetch())
$stores[$store["ID"]] = $store;
if(!empty($stores)){
foreach ($list->aRows as $row) {
$shipmentId=preg_replace("#.*>([0-9]+)<\/a>.*#","$1",$row->aFields['SHIPMENTS']['view']['value']);
if(!empty($shipmentId)){
$saleOrder = Bitrix\Sale\Order::load($row->id);
$shipmentCollection = $saleOrder->getShipmentCollection();
$shipment = $shipmentCollection->getItemById($shipmentId);
$store_id=$shipment->getStoreId();
$row->addField(
'SKLAD',
$stores[$store_id]['TITLE'].'<br />'.$stores[$store_id]['ADDRESS']
);
}
}
}
}
}
просто ставим в init.php
//добавляет колонку склад в списке заказов
AddEventHandler("main", "OnAdminListDisplay", "addColumnSklad");
function addColumnSklad(&$list)
{
if ($list->table_id === 'tbl_sale_order' && isset($list->aVisibleHeaders['SHIPMENTS'])) {
$list->aVisibleHeaders["SKLAD"] =
array(
"id" => "SKLAD",
"content" => 'Пункт самовывоза', // текст в шапке таблицы для поля
"sort" => "SKLAD",
"default" => false,
"align" => "left",
);
$list->arVisibleColumns[]= 'SKLAD';
//получаем названия всех складов
$stores=array();
$dbList = \CCatalogStore::GetList(
array(),
array("ACTIVE" => "Y"),
false,
false,
array("ID","TITLE","ADDRESS")
);
while ($store = $dbList->Fetch())
$stores[$store["ID"]] = $store;
if(!empty($stores)){
foreach ($list->aRows as $row) {
$shipmentId=preg_replace("#.*>([0-9]+)<\/a>.*#","$1",$row->aFields['SHIPMENTS']['view']['value']);
if(!empty($shipmentId)){
$saleOrder = Bitrix\Sale\Order::load($row->id);
$shipmentCollection = $saleOrder->getShipmentCollection();
$shipment = $shipmentCollection->getItemById($shipmentId);
$store_id=$shipment->getStoreId();
$row->addField(
'SKLAD',
$stores[$store_id]['TITLE'].'<br />'.$stores[$store_id]['ADDRESS']
);
}
}
}
}
}