Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

как автоматизировать импорт csv в инфоблок?

00 голосов
1

Требуется ежедневно загружать csv файл с данными в базу битрикса. Стандартные компоненты позволяют выполнять опарацию импорта вручную. 

При ручном вводе параметров через web форму для обработки используется скрипт data_import.php

в него передаются следующие параметры.

URL_DATA_FILE value="New Folder/zakon.csv" 
IBLOCK_ID - ID Инфблока 
IBLOCK_TYPE_ID - value="integration" Тип инфоблока 
fields_type_R - с разделителями - поля разделяются специальным символом 
fields_type_F - фиксированная ширина полей 
delimiter_r_OTR = OTR - разделитель 
delimiter_other_r = ‘|’ 
first_names_r_Y ="Y" – 1 строка в файле содержит имена полей 
outFileAction" value="F" - Товары, которых не было в файле оставить как есть 
max_execution_time" size="6" value="0" - Время выполнения ставим 3

Возможно запустить стандартный скрипт data_import.php с заранее прописаными параметрами? Если да то как?

 

спросил 01 Авг, 14 от аноним

1 Ответ

00 голосов
Параметры в data_import.php берутся или из _POST, или из _REQUEST.

Делаем свою страничку, заполняем _POST['URL_DATA_FILE']='New Folder/zakon.csv' ....

А потом делаем include(...../data_import.php);

PROFIT!
ответил 01 Авг, 14 от root (25,590 баллов)
скрипт data_import.php при ручном импорте выполняется по шагам, на каждом шаге переменной step присваивается конкретное значение.

Как выполнить пошагово данный скрипт data_import.php?
Тут уже надо поразбираться, как будет проще сделать. Есть вариант через bash + curl вызывать эту страничку (так например можно "имитировать" загрузку товаров из 1С удалённо), есть вариант скопировать data_import.php куда-нибудь к себе и настроить параметр, отвечающий за период отработки одного шага в что-нибудь гарантированно большое. Ну или переменную step самому подставлять, а include(data_import.php) делать в цикле =)

Похожие вопросы

0 голосов
10 ответов
спросил 12 Фев, 13 от Yoghurt (200 баллов)
0 голосов
2 ответов
спросил 09 Фев, 15 от аноним
0 голосов
4 ответов
0 голосов
3 ответов