1С-Битрикс – выводим информацию по всем заказам

Как при помощи апи получить информацию по всем заказам?

Выводим информацию по всем заказам битрикса

Первое что необходимо это создать страницу и ограничить её содержимое только для администратора:

if ($USER->IsAdmin()):
	CModule::IncludeModule('sale');
endif;

Сразу же подключаем нужный нам модуль sale, методы которого мы будем использовать. Теперь пишем для CSaleOrder::GetList Сортировку и Фильтр:

$order = ['ID' => 'desc'];
$select = [
	'ID',
	'DATE_INSERT',
	//'PRICE',
	//'CURRENCY',
	'PROPERTY_VAL_BY_CODE_NAME',
];

Готово, это первые параметры которые будут переданы, пишем дальше:

$orders = \CSaleOrder::GetList(
	$order,
	$filter,
	false,
	false,
	$select,
	[]
);
$arNames = [];
while ($arOrder = $orders->Fetch()){
	if (!in_array($arOrder['PROPERTY_VAL_BY_CODE_NAME'], $arNames)) {
		$arNames[] = $arOrder['PROPERTY_VAL_BY_CODE_NAME'];
	}
}
foreach ($arNames as $key => $value) {
	echo $value.'
'; }

Вот и всё, у нас готов список всех кто заказывал. Выводить можно разную информацию – телефоны, емейлы, общую сумму. Ограничивать по статусам, по пользователям и т.д. Эта информация может пригодится для дальнейшей смс рекламы, или для емейл-маркетинга.

Еще раз полный код:

if ($USER->IsAdmin()):
	CModule::IncludeModule('sale');
	$order = ['ID' => 'desc'];
	$select = [
		'ID',
		'DATE_INSERT',
		//'PRICE',
		//'CURRENCY',
		'PROPERTY_VAL_BY_CODE_NAME',
	];

	$orders = \CSaleOrder::GetList(
		$order,
		$filter,
		false,
		false,
		$select,
		[]
	);
	$arNames = [];
	while ($arOrder = $orders->Fetch()){
		if (!in_array($arOrder['PROPERTY_VAL_BY_CODE_NAME'], $arNames)) {
			$arNames[] = $arOrder['PROPERTY_VAL_BY_CODE_NAME'];
		}
	}
	foreach ($arNames as $key => $value) {
		echo $value.'
'; } endif;
Если на вашем проекте необходимо вывести список телефонов, емейлов тех кто уже сделал заказ на сайте, обращайтесь

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь