Сложность урока:
1 уровень — интуитивно все понятно из интерфейса, но почитать стоит.
1 из 5
Дата изменения:
12.03.2023
Просмотров:
48761
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Ограничений нет
Как получить данные из системы в формате MS Excel |
Сохранить данные из «1С-Битрикс: Управление сайтом» на локальный компьютер — достаточно частая задача. Для такой операции используется формат MS Excel. Экспорт в него прост, выполняется в пару кликов прямо из Списка элементов. Используйте для этого кнопку
Настроить
.
Если перед экспортом воспользоваться
фильтром
Фильтр — инструмент «1С-Битрикс: Управление сайтом», позволяющий отобрать из множества элементов нужные по каким-то параметрам. Подробнее…
, то можно сохранить список только нужных вам элементов, а не всех подряд. Другой вариант: настроить таблицу экспортируемых данных, оставив в ней только нужные столбцы, как это описано в уроке Список элементов.
/**
* Формирует список товаров в заказе и выгружает данные в xlsx файл
* Принимает номер заказа
* @global object $APPLICATION
* @param int $order_num
*/
function exportXlsx($order_num) {
global $APPLICATION;
$book = ‘list1’; //Название книги в файле
$order = SaleOrder::load($order_num); //Объект заказа Bitrix D7
$order_date = $order->getDateInsert()->toString(); //строка — дата создания заказа
$basket = $order->getBasket(); //Объект корзины Bitrix D7
include_once ‘xlsxwriter.class.php’; //Подключение библиотеки для манипуляции с xlsx
$filename = «order_» . $order_num . «.xlsx»; //Имя сформированного файла
/**
* Формируем заголовки отправляемые в браузер (Что бы пользователю был предложен диалог сохранения файла)
*/
header(‘Content-disposition: attachment; filename=»‘ . XLSXWriter::sanitize_filename($filename) . ‘»‘);
header(«Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet»);
header(‘Content-Transfer-Encoding: binary’);
header(‘Cache-Control: must-revalidate’);
header(‘Pragma: public’);
//Шапка формируемого файла
$header = array(
‘Код товара’ => ‘string’, //Название колонки — тип данных
‘Наименование’ => ‘string’,
‘Цена’ => ‘price’,
‘Количество’ => ‘integer’,
‘Номер заказа’ => ‘integer’,
‘Дата заказа’ => ‘string’,
);
//Конвертация заголовков в UTF-8 если ваш сайт Bitrix в кодировке Windows-1251
if (SITE_CHARSET == ‘windows-1251’) {
$header = array(
($APPLICATION->ConvertCharset(‘Код товара’, SITE_CHARSET, ‘UTF-8’)) => ‘string’,
($APPLICATION->ConvertCharset(‘Наименование’, SITE_CHARSET, ‘UTF-8’)) => ‘string’,
($APPLICATION->ConvertCharset(‘Цена’, SITE_CHARSET, ‘UTF-8’)) => ‘price’,
($APPLICATION->ConvertCharset(‘Количество’, SITE_CHARSET, ‘UTF-8’)) => ‘integer’,
($APPLICATION->ConvertCharset(‘Номер заказа’, SITE_CHARSET, ‘UTF-8’)) => ‘integer’,
($APPLICATION->ConvertCharset(‘Дата заказа’, SITE_CHARSET, ‘UTF-8’)) => ‘string’,
);
}
$rows = []; //Массив данных для записи в файл
foreach ($basket->getBasketItems() as $item) {//Обход элементов корзины Bitrix D7
$name = $item->getField(‘NAME’);
//Масив данных одной строки файла
$tmp_row = [
$item->getField(‘PRODUCT_XML_ID’), //Код товара
$name, //Наименование
$item->getPrice(), //Цена
$item->getQuantity(), //Количество
$order_num, //Номер заказа
$order_date, //Дата заказа
];
//Конвертация данных в UTF-8 если ваш сайт Bitrix в кодировке Windows-1251
if (SITE_CHARSET == ‘windows-1251’) {
$tmp_row = $APPLICATION->ConvertCharsetArray($tmp_row, SITE_CHARSET, ‘UTF-8’);
}
$rows[] = $tmp_row;
}
$writer = new XLSXWriter();
$writer->setAuthor(‘Coderun’); //Автор документа
$writer->writeSheetHeader($book, $header); //Установка шапки для указанной книги в документе
//Добавление строки из ранее сформированного массива
foreach ($rows as $row) {
$writer->writeSheetRow($book, $row);
}
//Запись файла в поток вывода
$writer->writeToStdOut();
}
Просмотров: 1917
Задача: Нужно получить информацию о заказах с возможностью указания даты создания «от»» и «до» и выгрузить в Excel файл. Так как заказов может быть очень много, за один шаг это не провернуть (скорее всего, сайт отвалится по таймауту) нужно сделать это пошагово с небольшой паузой между шагами.
Сделано по быстрому, позже дополню заметку, завернув все проделанное в модуль с установщиком, D7 и AJAX.
Создаем директорию, например: «order_report», что бы к ней не было доступа для всех, можно создать в директории /bitrix/components
В файле init.php добавляем запись, которая создаст пункт меню в админпанели, в разделе «Сервис»:
AddEventHandler("main", "OnBuildGlobalMenu", "AddReportMenus");
function AddReportMenus(&$adminMenu, &$moduleMenu){
$moduleMenu[] = array(
"parent_menu" => "global_menu_services",
"section" => "Генератор отчетов по заказам",
"sort" => 1000,
"url" => "/bitrix/components/elements_report/step1.php",
"text" => 'Генератор отчетов по заказам',
"title" => '',
"icon" => "form_menu_icon",
"page_icon" => "form_page_icon",
"items_id" => "",
"items" => array()
);
}
В директории «elements_report» создаем три файла: generated.xls.php, step1.php, step2.php. Файл generated.xls.php оставляем пустым
Суть в том, что мы просто создаем html таблицу с отчетом, а затем с помощью передачи header-s сохраняем и скачиваем ее как xls файл.
Таким же образом, можно создать эксель таблицу из HTML для любых данных.
Файл step1.php. Здесь у нас просто форма выбора даты «от» и «до» которая отправляет данные на файл step2.php
<?
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php");
$APPLICATION->SetTitle("Генератор отчета по элементам");
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php");
CJSCore::Init(array("jquery"));
?>
<div class="adm-block-wrapper">
<form action="step2.php" method="post">
<input type="text" placeholder="Дата с" onclick="BX.calendar({node: this, field: this, bTime: false});"
name="dateFrom">
<input type="text" placeholder="Дата по" onclick="BX.calendar({node: this, field: this, bTime: false});"
name="dateTo">
<button type="submit" class="adm-btn adm-btn-save">Создать отчет</button>
</form>
</div>
<?
require($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_admin.php"); ?>
Файл step2.php: здесь выполняется заполнение файла generated.xls.php.
- Сначала очищается от предыдущего отчета.
- Добавляется шапка для верстки и заголовков.
- С помощью CSaleOrder::GetList получаем всю информацию о заказах отсортированных по ID и с фильтром DATE_INSERT.
- С nTopCount обрабатываем по 50 заказов за раз
- Внутри цикла заказа дополучаем информацию о корзине заказа с CSaleBasket::GetList с нужными для отчета данным.
- Формируем строку таблицы с данными о товаре и добавляем в конец файла generated.xls.php
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php");
$APPLICATION->SetTitle("Генератор отчета по заказам");
CJSCore::Init(array("jquery"));
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php");
use BitrixMainLoader;
use BitrixSale;
Loader::includeModule("sale");
$generated_xls_php = 'generated.xls.php';
if (!empty($_POST['lastOrderId'])) {
$arFilter = array(
">=DATE_INSERT" => $_POST['dateFrom'],
"<=DATE_INSERT" => $_POST['dateTo'],
">ID" => $_POST['lastOrderId']
);
} else {
$arFilter = array(
">=DATE_INSERT" => $_POST['dateFrom'],
"<=DATE_INSERT" => $_POST['dateTo']
);
file_put_contents($generated_xls_php, '');
$fileHeader = '<?
Header("Content-Type: application/force-download");
Header("Content-Type: application/octet-stream");
Header("Content-Type: application/download");
Header("Content-Disposition: attachment;filename=excel_orders.xls");
Header("Content-Transfer-Encoding: binary");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
td {
mso-number-format: @;
}
.number0 {
mso-number-format: 0;
}
.number2 {
mso-number-format: Fixed;
}
</style>
</head>
<body>
<table border="1">
<tr>
<td>ID заказа</td>
<td>ID товара</td>
<td>Наименование товара</td>
<td>Наименование [ID] товара</td>
<td>Заказ: Доставка</td>
<td>Оплата: Дата оплаты</td>
<td>Оплата: Сумма</td>
<td>Отгрузка: Дата отгрузки</td>
<td>Общее количество в заказе</td>
<td>Цена товара</td>
<td>Скидка на товар</td>
<td>Количество товара</td>
<td>Сумма товара</td>
<td>Налог (%)</td>
<td>Оплата: Дата докуммента возврата</td>
<td>Статус: Наименование</td>
<td>Заказ: Заказ отменён</td>
</tr>';
file_put_contents($generated_xls_php, $fileHeader, FILE_APPEND);
}
$dbRes = CSaleOrder::GetList(
array(
'ID' => 'ASC'
),
$arFilter,
false,
array(
'nTopCount' => '50'
),
array(
'ID',
'PRICE_DELIVERY',
'DATE_PAYED',
'SUM_PAID',
'DATE_DEDUCTED',
'TAX_VALUE',
'STATUS_ID'
),
false,
);
$i = 0;
while ($order = $dbRes->Fetch()) {
$dbBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC",),
array("ORDER_ID" => $order['ID']),
false,
false,
array("PRODUCT_ID", "QUANTITY", "NAME", "PRICE", "DISCOUNT_VALUE")
);
while ($arItems = $dbBasketItems->Fetch()) {
$arBasketItems[] = $arItems;
}
if ($order['CANCELED'] == 'Y') {
$canceled = 'Да';
}
$statusList = CSaleStatus::GetList(
array(),
array('ID' => $order['STATUS_ID']),
false,
false,
array('NAME')
);
while ($status = $statusList->Fetch()) {
$statusName = $status['NAME'];
}
foreach ($arBasketItems as $k => $arBasketItem) {
$orderData = '<tr>
<td>' . $order['ID'] . '</td>
<td>' . $arBasketItem['PRODUCT_ID'] . '</td>
<td>' . $arBasketItem['NAME'] . '</td>
<td>' . $arBasketItem['NAME'] . ' [' . $arBasketItem['PRODUCT_ID'] . ']</td>
<td>' . $order['PRICE_DELIVERY'] . '</td>
<td>' . $order['DATE_PAYED'] . '</td>
<td>' . $order['SUM_PAID'] . '</td>
<td>' . $order['DATE_DEDUCTED'] . '</td>
<td>' . $arBasketItem['QUANTITY'] . '</td>
<td>' . $arBasketItem['PRICE'] . '</td>
<td>' . $arBasketItem['DISCOUNT_VALUE'] . '</td>
<td>' . $arBasketItem['QUANTITY'] . '</td>
<td>' . $arBasketItem['QUANTITY'] * $arBasketItem['PRICE'] . '</td>
<td>' . $order['TAX_VALUE'] . '</td>
<td>' . $order['DATE_CANCELED'] . '</td>
<td>' . $statusName . '</td>
<td>' . $canceled . '</td>
</tr>';
file_put_contents($generated_xls_php, $orderData, FILE_APPEND);
}
$i++;
$lastOrderId = $order['ID'];
}
if ($i > 1) { ?>
<form action="" method="post" id="postStep" style="display: none;">
<input type="text" name="lastOrderId" value="<?= $lastOrderId ?>">
<input type="text" name="dateFrom" value="<?= $_POST['dateFrom'] ?>">
<input type="text" name="dateTo" value="<?= $_POST['dateTo'] ?>">
<button type="submit"></button>
</form>
<div class="waitwindow" style="width: 500px;">
Отчет готовится с шагом <?=$i?> заказов за запрос и паузой 1 секунда
</div>
<script>
function postForm() {
$("#postStep").submit();
}
setTimeout(postForm, 1000);
</script>
<?php
} else {
file_put_contents($generated_xls_php, '</table></body></html>', FILE_APPEND);?>
<a href="generated.xls.php" class="adm-btn adm-btn-save">Скачать отчет</a>
<a href="step1.php" class="adm-btn adm-btn-save">Создать новый отчет</a>
<?php
//LocalRedirect('generated.xls.php');
}?>
<?php
require($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_admin.php"); ?>
- В конце обработки пороции из 50-ти заказов, отправляем форму на этуже страницу- с изначально заданными датами и ID последнего обработанного заказа.
- Эта форма будет отправляться до тех пор, пока колличество заказов больше одного. После обработки последнего выведутся ссылки на скачивание отчета и создание нового.
При желании можете расскомментировать строку LocalRedirect(‘generated.xls.php’);, тогда отчет скачается сразу по готовности.
Улучшение, генерируем xls сразу, без промежуточного php файла
Если файл generated.xls.php получается очень большим, сервер может не справиться с отдачей его как xls файла. На самом деле, можно сразу создать xls файл с таблицей, он точно также откроется экселем.
В файле step2.php меняем
$generated_xls_php = ‘generated.xls.php’;
на $generated_xls_php = ‘generated.xls’;
Из заголовка генерируемого файла убираем:
<?
Header("Content-Type: application/force-download");
Header("Content-Type: application/octet-stream");
Header("Content-Type: application/download");
Header("Content-Disposition: attachment;filename=excel_orders.xls");
Header("Content-Transfer-Encoding: binary");
?>
Ссылку на скачивание готового отчета меняем на:
<a href="generated.xls" download class="adm-btn adm-btn-save">
Скачать отчет
</a>
{«id»:13915,»url»:»/distributions/13915/click?bit=1&hash=6bf6b0c7853c287bb5fe5adc65c64f0b629d0dc4b99b11aef464193a2f3383de»,»title»:»u041fu0440u043eu0434u0432u0438u0433u0430u0442u044cu0441u044f u0434u0430u0436u0435 u043fu0440u0438 u0432u044bu0441u043eu043au043eu0439 u043au043eu043du043au0443u0440u0435u043du0446u0438u0438″,»buttonText»:»u041du0430u0443u0447u0438u0442u044cu0441u044f»,»imageUuid»:»c74bb768-53df-5ae8-9544-76ab96b50911″,»isPaidAndBannersEnabled»:false}
Сегодня расскажем как экспортировать из Битрикс24 базу клиентов в Excel.
Рассмотрим на примере экспорта Лидов.
Инструкция:
- Войдите в свой Битрикс24 и выберите в верхнем меню раздел Лиды
2. Далее настройте фильтр лидов, которые хотите экспортировать. Для этого нажмите на строку Поиск. В новом окне выберите какие Лиды вас интересуют и нажмите кнопку Найти
3. Теперь нажмите на опцию Список в верхнем углу справа, чтобы увидеть все Лиды в виде списка
4. В этом списке нужно выделить все Лиды (поставьте галочку)
5. Внизу списка нужно указать выбор Для всех
6. После чего нажмите кнопку Подтвердить
7. Затем нажмите на кнопку Настройки (Шестеренка) и выберите в предложенном списке опцию Экспорт Лидов в Excel
8. В новом окошке нужно указать в каком виде экспортировать Лиды, выбрать можно все, поставив галочки, потом нажмите кнопку Выполнить
9. Появится окошко Экспорт Лидов в Excel, здесь будет указан размер файла. Здесь нажмите кнопку Скачать файл экспорта
10. Появится новое окно, с загружаемым файлом. В котором нужно нажать кнопку Сохранить
11. Откройте скачанный файл и нажмите кнопку Разрешить редактирование. Теперь ваша база клиентов размещена в таблице Excel, где все данные и поля при экспорте успешно сохранились
Все, готово! Такой же алгоритм действий применим к экспорту Компаний, Сделок и Контактов из Битрикс24 в Excel.
❗❗❗Важно! Чтобы избежать воровства базы клиентов из Битрикс24, необходимо правильно настроить права доступа.
Как защитить Лиды, Сделки, Контакты и Компании от кражи в Битрикс24?
Инструкция:
- В Битрикс24 в верхнем меню нажмите на раздел Настройки и выберите подраздел Права.
2. Далее нажмите на блок Права
3. Открылось окно Права Доступа. Здесь есть Список ролей, выберите нужное из этого списка и нажмите Редактировать (маленький карандашик сбоку)
4. Теперь в окне Управление ролью вы можете в каждом Разделе (Экспорт, Удаление) выбрать опцию Нет доступа.
Теперь ваша база данных будет в целости и сохранности.
Подробнее смотрите наши видео здесь.
О том как выгрузить базу в Битрикс24 смотрите здесь.
⚠ Получите консультацию по внедрению, настройке, технической поддержки Битрикс24:
➡ по телефону (WhatsApp 💬) ☎: +7 (999) 333-17-23
🔊 Подписывайтесь на Telegram канал — получайте новые видео и статьи по возможностям Битрикс 24, обучающие видео Битрикс24, кейсы по Битрикс24 https://t.me/b24_k
🔊 Присоединяйтесь к чату взаимопомощи по Битрикс24 в Telegram! https://t.me/b24help
✅ В этом чате Вы можете задать любой вопрос по работе с Битрикс24, Вам ответят компетентные пользователи 🤗
Хотите повысить эффективность бизнес-процессов?
Получите оценку работ по внедрению Битрикс24
Как из Битрикс24 выгрузить всю клиентскую базу в Excel?
- отдельно Лиды
- отдельно Сделки
- Контакты
- Компании
Чтобы экспортировать клиентскую базу в Excel необходимо:
1. Перейти в нужный раздел (Лиды/Сделки/Контакты/Компании)
2. Нажать на шестеренку справа сверху и выбрать пункт «Экспорт в Excel»
- Если вы не укажите ни одного из предложенных пунктов, то база выгрузится с теми данными, которые сейчас у вас отображаются на экране — в списке Лидов/Сделок/Контактов/Компаний
- Если вы укажете «Экспортировать реквизиты», то выгрузка будет содержать значения из специального раздела «Реквизиты»
- Если вы укажете «Экспортировать все поля Контактов/Сделок/Лидов/Компаний», то вы выгрузите данные из всех полей, которые есть в Лиде, Сделке, Контакте или Компании
- Если вы укажете «Экспортировать с детализацией по товарным позициям», то при выгрузке Сделок у вас также будет отображаться список товаров в каждой сделке.
Выглядеть выгрузка с товарами будет примерно так:
4. После уточнения деталей экспорта нажмите на кнопку «Выполнить» — Битрикс24 сформирует для вас файл для экспорта.
Затем скачайте его, нажав на кнопку «СКАЧАТЬ».
Затем можно закрыть окошко экспорта. Всё.
ПРОБЛЕМЫ С ЭКСПОРТОМ
Иногда может случиться такое, что система вам указывает, что у вас нет данных для экспорта. При этом база клиентов есть.
Это происходит из-за того, что в карточке клиента установлена галочка «Не участвует в экспорте»
Это правило можно изменить массово.
Для этого:
1. выберите все элементы сразу (Контакты, например) — галочкой слева сверху
2. внизу нажмите на кнопку «Выберите действие»
3. выберите пункт «Участвует в экспорте»
4. можете установить галочку так же и в пункте «для всех», но аккуратнее. — действие будет применено абсолютно для всех элементов (всех Контактов, например). Если вам нужно сделать доступными для экспорта только часть элементов, то тогда не нужно устанавливать эту галочку и наоборот.
5. после этого вы сможете экспортировать базу клиентов
Как выгрузить контакты из Битрикс24 в Excel
Чтобы выгрузить контакты из CRM нужно перейти в Контакты ㄧ режим «Список».
Сначала выбираем, какие поля должны отображаться в режиме список. Для этого нажимаем на иконку шестеренки слева и ставим галочки напротив пунктов, которые должны отобразиться в списке.
Указываем в поле «Участвуют в экспорте» значение «Да».
Кликаем на шестеренку ㄧ выбираем «Экспорт контактов в Excel». Указываем, нужно ли экспортировать реквизиты и все поля. Применяем настройки, сохраняем и открываем документ.
Экспорт данных в CRM Битрикс24
Для экспорта данных необходимо перейти в тот список сущностей, которые вы хотите экспортировать, далее нажмите на кнопку настроек в списке сущностей и вы увидите доступные варианты для экспорта.
На данный момент есть три варианта экспорта сущностей из CRM:
1. Экспорт в CSV.
После выбора этого способа система предложит вам сохранить файл в формате CSV.
Вы также можете открыть файл сразу в соответствующей программе.
2. Экспорт в Excel.
3. Экспорт в Outlook.
По клику на этот способ система предложит открыть Microsoft Outlook. Нажмите «Ок». Программа запросит у вас разрешение к подключению контактов, нажмите «Да». Во всплывающем окне введите логин и пароль от вашего портала. И после этого будет произведен экспорт контактов.
Обратите внимание, данный способ доступен только для контактов.
Внимание! Для корректной интеграции контактов с Outlook необходим минимум Outlook 2007.
Какие колонки будут экспортированы?
Колонки в файле экспорта будут такие же, как на странице списка элементов. Добавить/изменить/удалить колонки можно в настройках списка:
В списке полей отметьте поля, которые хотите экспортировать, и в конце списка нажмите «Применить».
Учитывается ли фильтр при экспорте?
При экспорте будет учтено применен ли фильтр к списку сущностей.
Например, вам необходимо экспортировать только ваши контакты, где вы установлены, как ответственный.
Тогда в фильтре в поле «Ответственный» укажите себя, нажмите «Найти» и после этого произведите экспорт, сущности будут экспортированы в соответствии с фильтром.
Обратите внимание, для успешного экспорта контактов в настройках контакта должна быть отмечена опция «Участвует в экспорте контактов».
<?
define('NO_KEEP_STATISTIC', true);
define('NOT_CHECK_PERMISSIONS', true);
define('NO_AGENT_STATISTIC', true);
define('STOP_STATISTICS', true);
define('BX_CRONTAB_SUPPORT', true);
define('LANGUAGE_ID', 'ru');
ini_set('memory_limit', '512M');
@set_time_limit(0);
@ignore_user_abort(true);
// для запуска на cron необходимо указать корректный путь к корневой папке сайта
$_SERVER["DOCUMENT_ROOT"] = "/home/bitrix/www";
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$file = $_SERVER["DOCUMENT_ROOT"] . '/export/orders.xls';
CModule::IncludeModule("sale");
use Bitrix\Sale;
$arFilter = Array(
">=DATE_INSERT" => date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), strtotime('yesterday')),
"<DATE_INSERT" => date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), strtotime('today'))
);
$arOrders = array();
$db_sales = CSaleOrder::GetList(array("DATE_INSERT" => "ASC"), $arFilter);
$i = 0;
while ($ar_sales = $db_sales->Fetch())
{
$basket = Sale\Order::load($ar_sales['ID'])->getBasket();
$basketItems = $basket->getBasketItems();
$counter = 0;
foreach ($basket as $basketItem) {
$productId = $basketItem->getProductId();
$measure = \Bitrix\Catalog\ProductTable::getCurrentRatioWithMeasure($productId);
$arOrders[$i]['ITEMS'][$counter] = $basketItem->getField('NAME') . ' - ' . $basketItem->getQuantity() . ' ' . $measure[$productId]['MEASURE']['SYMBOL_RUS'];
$counter++;
}
$arOrders[$i]['DATE_INSERT_FORMAT'] = $ar_sales['DATE_INSERT_FORMAT'];
$arOrders[$i]['ID'] = $ar_sales['ID'];
$arOrders[$i]['PRICE_DELIVERY'] = $ar_sales['PRICE_DELIVERY'];
$arOrders[$i]['PRICE'] = $ar_sales['PRICE'];
$i++;
}
//echo "<pre>";
//print_r($arOrders);
//echo "</pre>";
$str = "";
$str .= "<html>
<head>
<title></title>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<style>
td {mso-number-format:\@;}
.number0 {mso-number-format:0;}
.number2 {mso-number-format:Fixed;}
</style>
</head>
<body><table border='1'>
<tr>
<td>Дата заказа</td>
<td>Номер заказа</td>
<td>Стоимость доставки</td>
<td>Полная стоимость заказа</td>
<td>Позиции</td>
</tr>";
foreach ($arOrders as $order)
{
$rowspan = count($order['ITEMS']) > 1 ? 'rowspan="' . count($order['ITEMS']) . '"' : '';
$str .= "
<tr>
<td {$rowspan}>{$order['DATE_INSERT_FORMAT']}</td>
<td {$rowspan}>{$order['ID']}</td>
<td {$rowspan}>{$order['PRICE_DELIVERY']}</td>
<td {$rowspan}>{$order['PRICE']}</td>
<td>{$order['ITEMS'][0]}</td>
</tr>
";
if(count($order['ITEMS']) > 1) {
foreach ($order['ITEMS'] as $key => $value) {
if($key == 0) continue;
$str .= "
<tr>
<td>{$value}</td>
</tr>
";
}
}
}
$str .= "</table></body></html>";
//echo $str;
$fp = fopen($file, 'w');
fwrite($fp, $str);
fclose($fp);
$arFiles = array($file);
CEvent::Send("ORDERS_EXPORT", 's2', array(), "N", "", $arFiles);
Приложение позволяет выгрузить задачи из Bitrix24 в MS Excel для дальнейшего редактирования, добавления и массового удаления задач, с возможностью загрузить обратно все задачи с изменениями из файла MS Excel в Bitrix24.
Описание на сайте разработчика — ссылка
Особенности:
1. Не допускается создание задач без указания названия и ответственного.
2. Для того, чтобы создать новую задачу требуется поле ID оставить пустым, иначе произойдет обновление задачи с указанным ID/
Версия 1
Данное приложение позволяет импортировать/экспортировать задачи из Bitrix24 в MS Excel и обратно.
Обращения в техподдержку принимаются по адресу admin@jnas.ru или https://t.me/bitrix24excel
Возможности/ограничения/особенности приложения:
1. Поддержка файлов MS Excel с расширением xlsx.
2. Двунаправленная конвертация Bitrix24 ⇆ MS Excel.
3. Не допускается создание задач без указания названия и ответственного.
Видеоинструкция по использованию приложения:
- Bitrix24 Задачи ⇆ MS Excel (пример работы) — https://youtu.be/NBC2v-HSDsI
Сегодня расскажем как экспортировать из Битрикс24 базу клиентов в Excel.
Рассмотрим на примере экспорта Лидов.
Инструкция:
1
Войдите в свой Битрикс24 и выберите в верхнем меню раздел Лиды
2
Далее настройте фильтр лидов, которые хотите экспортировать. Для этого нажмите на строку Поиск. В новом окне выберите какие Лиды вас интересуют и нажмите кнопку Найти.
3
Теперь нажмите на опцию Список в верхнем углу справа, чтобы увидеть все Лиды в виде списка
4
В этом списке нужно выделить все Лиды (поставьте галочку)
5
Внизу списка нужно указать выбор Для всех
6
После чего нажмите кнопку Подтвердить
7
Затем нажмите на кнопку Настройки (Шестеренка) и выберите в предложенном списке опцию Экспорт Лидов в Excel
8
В новом окошке нужно указать в каком виде экспортировать Лиды, выбрать можно все, поставив галочки, потом нажмите кнопку Выполнить
9
Появится окошко Экспорт Лидов в Excel, здесь будет указан размер файла. Здесь нажмите кнопку Скачать файл экспорта
10
Появится новое окно, с загружаемым файлом. В котором нужно нажать кнопку Сохранить
11
Откройте скачанный файл и нажмите кнопку Разрешить редактирование. Теперь ваша база клиентов размещена в таблице Excel, где все данные и поля при экспорте успешно сохранились
Все, готово! Такой же алгоритм действий применим к экспорту Компаний, Сделок и Контактов из Битрикс24 в Excel.
Важно! Чтобы избежать воровства базы клиентов из Битрикс24, необходимо правильно настроить права доступа.
Как защитить Лиды, Сделки, Контакты и Компании от кражи в Битрикс24?
Инструкция:
1
В Битрикс24 в верхнем меню нажмите на раздел Настройки и выберите подраздел Права.
2
Далее нажмите на блок Права
3
Открылось окно Права Доступа. Здесь есть Список ролей, выберите нужное из этого списка и нажмите Редактировать (маленький карандашик сбоку)
4
Теперь в окне Управление ролью вы можете в каждом Разделе (Экспорт, Удаление) выбрать опцию Нет доступа.
Теперь ваша база данных будет в целости и сохранности.
Новое в блоге:
В техническую поддержку входит:
1 Создание схемы-логики Битрикс24
⠀⠀ 1.1 Создание схемы-логики операционных бизнес-процессов продаж (прохождения сделки), автоматических действий и процессов и интеграций с сервисами
2 Подключение аккаунта облачной/коробочной версии Битрикс24 на выбранный тариф
3 Заведение аккаунтов для всех сотрудников
4 Создание многоуровневой оргструктуры
5 Оптимизация карточек лидов, сделок, контактов, компаний
⠀⠀ 5.1 Создание полей тип: строка, список, дата/время, адрес Google карты, ссылка, файл, деньги, да/нет, число
⠀⠀ 5.2 Создание обязательных к заполнению полей
⠀⠀ 5.3 Создание поля Бронирование ресурсов
⠀⠀ 5.4 Создание полей с привязкой к справочникам и элементам CRM
⠀⠀ 5.5 Создание полей с привязкой к разделам и элементам инфоблоков
⠀⠀ 5.6 Создание дополнительных разделов в карточках лида, сделки, контакта, компании
⠀⠀ 5.7 Создание зависимых полей
⠀⠀ 5.8 Создание полей-калькуляторов
6 Настройка справочников CRM Битрикс24
⠀⠀ 6.1 Создание источников лида, сделки
⠀⠀ 6.2 Настройка типов контакта
⠀⠀ 6.3 Настройка типов компании
⠀⠀ 6.4 Настройка типов сделки
⠀⠀ 6.5 Настройка списка сферы деятельности клиента
⠀⠀ 6.6 Настройка списка причин провала лида
⠀⠀ 6.7 Настройка списка причин провала сделки
7 Настройка стадий(воронок) и статусов(этапов) лидов и сделок
8 Настройка фильтров в CRM (в Лидах, Сделках, Контактах и Компаниях)
9 Настройка фильтров Задач и Дел
10 Настройка прав доступа к CRM Битрикс24
11 Интеграция Битрикс24 с Email
12 Интеграция Битрикс24 с телефонией
⠀⠀ 12.1 Подключение сотовых номеров телефонов
⠀⠀ 12.2 Создание схемы-логики входящего, исходящего, пропущенного звонка
⠀⠀ 12.3 Подключение IP телефонии Битрикс24 или любой другой, имеющую интеграцию с Битрикс24
13 Интеграция Битрикс24 с сайтами и интернет-магазинами
14 Интеграция Битрикс24 с мессенджерами и соц. сетями
15 Автоматизация Битрикс24
⠀⠀ 15.1 Настройка автоматической постановки задач по условиям, согласно бизнес-процессу
⠀⠀ 15.2 Настройка автоматического уведомления руководителю о просроченных стадиях обработки лида, сделки
⠀⠀ 15.3 Настройка автоматической отправки уведомлений (через почту, соц. сети, мессенджеры)
⠀⠀ 15.4 Настройка автоматического показа контекстной и таргетинговой рекламы
⠀⠀ 15.5 Настройка автоматической генерации документов (Коммерческого предложения, счета, договора, квитанции)
⠀⠀ 15.6 Настройка автоматического изменения данных сделки, контакта, компании
⠀⠀ 15.7 Настройка автоматического перемещения сделки при выполнении задач или изменения сущности (бизнес-процессов)
16 Автоворонки в Битрикс24
⠀⠀ 16.1 Настройка автоворонки(ок) для проваленных сделок
⠀⠀ 16.2 Настройка автоворонки(ок) для успешных сделок
⠀⠀ 16.3 Настройка автоворонки(ок) для действующих клиентов
17 Обучение Битрикс24
⠀⠀ 17.1 Базовое обучение по работе в Битрикс24
⠀⠀ 17.2 Обучение всех сотрудников настроенным процессам
⠀⠀ 17.3 Обучение руководителей аналитике и точкам контроля в системе
18 Консультации
⠀⠀ 18.1 Информационная поддержка и консультация
⠀⠀ 18.2 Техническая поддержка, включая доработки и корректировки
⠀⠀ 18.3 Написание регламентов и инструкций с загрузкой в базу знаний
⠀⠀ 18.4 Ежемесячный аудит системы и работы сотрудников с отчетом и рекомендациями для руководителей
В техническую поддержку + входит:
1 Создание схемы-логики Битрикс24
⠀⠀ 1.1 Создание схемы-логики операционных бизнес-процессов продаж (прохождения сделки), автоматических действий и процессов и интеграций с сервисами
⠀⠀ 1.2 Создание инструкций по работе с CRM Битрикс24 для пользователей
2 Подключение аккаунта облачной/коробочной версии Битрикс24 на выбранный тариф
3 Заведение аккаунтов для всех сотрудников
4 Создание многоуровневой оргструктуры
5 Оптимизация карточек лидов, сделок, контактов, компаний
⠀⠀ 5.1 Создание полей тип: строка, список, дата/время, адрес Google карты, ссылка, файл, деньги, да/нет, число
⠀⠀ 5.2 Создание обязательных к заполнению полей
⠀⠀ 5.3 Создание поля Бронирование ресурсов
⠀⠀ 5.4 Создание полей с привязкой к справочникам и элементам CRM
⠀⠀ 5.5 Создание полей с привязкой к разделам и элементам инфоблоков
⠀⠀ 5.6 Создание дополнительных разделов в карточках лида, сделки, контакта, компании
⠀⠀ 5.7 Создание зависимых полей
⠀⠀ 5.8 Создание полей-калькуляторов
6 Настройка справочников CRM Битрикс24
⠀⠀ 6.1 Создание источников лида, сделки
⠀⠀ 6.2 Настройка типов контакта
⠀⠀ 6.3 Настройка типов компании
⠀⠀ 6.4 Настройка типов сделки
⠀⠀ 6.5 Настройка списка сферы деятельности клиента
⠀⠀ 6.6 Настройка списка причин провала лида
⠀⠀ 6.7 Настройка списка причин провала сделки
7 Настройка стадий(воронок) и статусов(этапов) лидов и сделок
8 Настройка фильтров в CRM (в Лидах, Сделках, Контактах и Компаниях)
9 Настройка фильтров Задач и Дел
10 Настройка прав доступа к CRM Битрикс24
11 Интеграция Битрикс24 с Email
12 Интеграция Битрикс24 с телефонией
⠀⠀ 12.1 Подключение сотовых номеров телефонов
⠀⠀ 12.2 Создание схемы-логики входящего, исходящего, пропущенного звонка
⠀⠀ 12.3 Создание ТЗ для интеграции телефонии с Битрикс24
⠀⠀ 12.4 Подключение IP телефонии Битрикс24 или любой другой, имеющую интеграцию с Битрикс24
⠀⠀ 12.5 Подключение IP телефонии не имеющую интеграции с Битрикс24
⠀⠀ 12.6 Подключение и настройка звонобота
13 Интеграция Битрикс24 с сайтами и интернет-магазинами
14 Интеграция Битрикс24 с мессенджерами и соц. сетями
15 Автоматизация Битрикс24
⠀⠀ 15.1 Настройка автоматической постановки задач по условиям, согласно бизнес-процессу
⠀⠀ 15.2 Настройка автоматического уведомления руководителю о просроченных стадиях обработки лида, сделки
⠀⠀ 15.3 Настройка автоматической отправки уведомлений (через почту, соц. сети, мессенджеры)
⠀⠀ 15.4 Настройка автоматического показа контекстной и таргетинговой рекламы
⠀⠀ 15.5 Настройка автоматической генерации документов (Коммерческого предложения, счета, договора, квитанции)
⠀⠀ 15.6 Настройка автоматического изменения данных сделки, контакта, компании
⠀⠀ 15.7 Настройка чат-ботов для авто ответов в мессенджеры и соц. сети
⠀⠀ 15.8 Настройка автоматических многошаговых задач (бизнес-процессов)
⠀⠀ 15.9 Настройка автоматического перемещения сделки при выполнении задач или изменения сущности (бизнес-процессов)
16 Автоворонки в Битрикс24
⠀⠀ 16.1 Настройка автоворонки(ок) для проваленных сделок
⠀⠀ 16.2 Настройка автоворонки(ок) для успешных сделок
⠀⠀ 16.3 Настройка автоворонки(ок) для действующих клиентов
17 Настройка CRM маркетинга
⠀⠀ 17.1 Подключение автоматической рассылки на Email из этапов воронки
⠀⠀ 17.2 Подключение автоматической рассылки в мессенджеры и соц. сети из этапов воронки
⠀⠀ 17.3 Подключение автоматической таргетинговой рекламы Google ads, Facebook, Instagram, ВКонтакте из этапов воронки
⠀⠀ 17.4 Создание сегментов аудитории и подключение рекламы и рассылок из раздела CRM маркетинг
⠀⠀ 17.5 Создание аудиторий, кампаний и рекламных объявлений в Яндекс директе, Google ads, Facebook, ВКонтакте
18 Интеграция Битрикс24 с 1С
19 Интеграция Битрикс24 с МойСклад
20 Настройка аналитических отчетов, сквозной аналитики, подключение колл-трекинга
21 Создание дополнительных сущностей в Битрикс24
22 Настройка Бизнес-процессов Битрикс24
23 Обучение Битрикс24
⠀⠀ 23.1 Базовое обучение по работе в Битрикс24
⠀⠀ 23.2 Обучение всех сотрудников настроенным процессам
⠀⠀ 23.3 Обучение руководителей аналитике и точкам контроля в системе
⠀⠀ 23.4 Обучение сотрудника CRM маркетингу
⠀⠀ 23.5 Обучение администратора портала Битрикс24
24 Консультации
⠀⠀ 24.1 Информационная поддержка и консультация
⠀⠀ 24.2 Техническая поддержка, включая доработки и корректировки
⠀⠀ 24.3 Написание регламентов и инструкций с загрузкой в базу знаний
⠀⠀ 24.4 Ежемесячный аудит системы и работы сотрудников с отчетом и рекомендациями для руководителей
⠀⠀ 24.5 Еженедельный аудит системы и работы сотрудников с отчетом и рекомендациями для руководителей
0 / 0 / 0 Регистрация: 30.08.2018 Сообщений: 4 |
|
1 |
|
30.08.2018, 16:07. Показов 2147. Ответов 2
Приветствую. В интернете про это нету не какой информации, уже два дня роюсь не чего не могу найти. Заранее спасибо.
0 |
8 / 16 / 2 Регистрация: 15.06.2015 Сообщений: 247 |
|
31.08.2018, 04:58 |
2 |
Можно брать все свойства заказа через апи битрикса и записывать все в csv файл посредством php. Но тут придется ручками код писать) других способов не знаю.
0 |
2208 / 1139 / 227 Регистрация: 16.03.2008 Сообщений: 5,394 Записей в блоге: 2 |
|
31.08.2018, 09:07 |
3 |
Как вариант сделать шаблон для компонента детальной страницы заказа. Только в конце result_modifier.php сделать: Для формирования взять готовую библиотеку Кроме того, если у покупателя нет необходимости редактировать этот файл, более логично, на мой взгляд, формировать PDF — точно ни чего не «разъедется». (готовые библиотеки так же есть)
0 |