Битрикс не указано имя файла
[ Закрыто ] Битрикс24 Импорт базы данных, ошибки!, При попытке импортировать базу данных (всегда этим занималась самостоятельно) совмещение полей (6 шт) проходит не корректно - не импортируется 2 поля.
При попытке импортировать базу данных (всегда этим занималась самостоятельно) совмещение полей (6 шт) проходит не корректно - не импортируется 2 поля. Все действия проделаны - файл cvc, протокол утф 8 - документ обработан. Но все равно пропускает их.
Помогите.
Спасибо.
С уважением,
фаниль шафиков
Добрый день, коллега.
Какие данные вы импортируете? Откуда и куда?
С уважением,
модератор форума Пинол
Добрый день, уважаемый коллега.
Я импортирую лиды из Экселя, предварительно сохранив файл в cvs и открыл через Notepad++. При этом было 6 полей Название лида, Назавние компании, сайт, емейл и телефон ( в базе было 115 адресов). Совмещение провел, но импортируются только сайт, емейл и телефон. Название лида, несмотря на то что такая графа была заполнена в изначальном файле, проставляется не понятно, название компании не вносится вообще.
С уважением,
фаниль шафиков
Добрый день, коллега.
«Название лида, несмотря на то что такая графа была заполнена в изначальном файле, проставляется не понятно, название компании не вносится вообще».
Пришлите, пожалуйста, скриншоты по каждому действию импорта. Когда приложен файл, когда выбираете поля(след. шаг) и тд. И сам файл, конечно, нужен.
С уважением,
модератор форума Пинол
Добрый день, уважаемый коллега.
Направил вам файлы скриншотов.(не видит текстовых полей). Может быть лучше в скайпе покажу монитор компа и проделаю при вас?
Добрый день, коллега.
На скрине №1 – видно, что разделители запятые. А на скрине №2 - разделить точка с запятой. Поэтому при импорте выберите разделитель колонок "Запятая".
С уважением,
модератор форума Пинол
Добрый день, уважаемый коллега.
Есть случаи, когда вообще колонки потерял! Есть случай, когда внутри лида не отражаются данные ни сайта ни телефона ни адреса ни почты!
С уважением,
фаниль шафиков
Добрый день, коллега.
1. Все просто. Когда Система не видит русских букв, это означает, что вы выбираете неверный тип кодировки. На самом первом шаге, когда указываете файл, выберите тип кодировки не По умолчанию, а Windows-1251. После этого у вас и данные должны быть видны на след. шаге и все нормально загрузится.
2. В файлике по Банкам у вас разделитель колонок- точка с запятой. А вы указываете, что запятая. Это неверно. Проверить это просто- нужно открыть импортируемый файл в Блокноте. тогда будут видны все знаки в файле.
3. В файле по Банкам у вас первая строка содержит заголовки столбцов. Это и нужно отметить (чекбокс) на
первом шаге импорта.
upd:
Я честно доло искал где это в админке настраивается. не нашел
- Вопрос задан более трёх лет назад
- 8022 просмотра
Оценить 1 комментарий
SetPropertyValues изменяет значение свойства. DETAIL_PICTURE - это поле, в терминологии bitrix.
Так что правильный вариант у вас один:
Только вот что у вас в $array['DETAIL_PICTURE']?
Покажите кусок реального кода, от момента когда в $array['DETAIL_PICTURE'] попадают данные из $_FILES и до вызова Update. Потому что работать должно.
Вот у меня (незначащие куски выкинул):
maxyc_webber: Можно еще попробовать сунуть туда CFile::MakeFileArray($array['DETAIL_PICTURE']['tmp_name']) но вообще это костыль. Должно работать и так.
чего то нахимичил, появились ошибки
Array
(
[0] => 10309
[1] => Имя файла содержит некорректные символы.
Имя файла содержит некорректные символы.
[2] => Array
(
[DETAIL_PICTURE] => Array
(
[name] => 628992_v01_b.jpg
[size] => 22575
[tmp_name] => /tmp/merlion_goods/628992_v01_b.jpg
[type] => image/jpeg
)
[PREVIEW_PICTURE] => Array
(
[name] => 628992_v01_b.jpg
[size] => 22575
[tmp_name] => /tmp/merlion_goods/628992_v01_b.jpg
[type] => image/jpeg
)
какие ему не нравятся символы
$el->Update($found_id, ['DETAIL_PICTURE'=>$array['DETAIL_PICTURE'], 'PREVIEW_PICTURE'=>$array['DETAIL_PICTURE']]);
Возможно какой-то непечатный символ, хотя не понятно как они могли взяться тем более что PHP в /tmp/ его смог сохранить.
У вас кстати в коде так и есть: $el->Update($found_id, ['DETAIL_PICTURE'=>$array['DETAIL_PICTURE'], 'PREVIEW_PICTURE'=>$array['DETAIL_PICTURE']]); что ли?
Первое что необходимо сделать — это проверить права на файлы и папки в нужном каталоге. Права на папку должны быть 755, на файлы 664. Ни в коем случае не выставляйте права 777 на папки или файлы, даже на время.
В моём случае этот метод не сработал, я стал копать дальше. Нашел такой совет. в файле /bitrix/php_interface/dbconn.php установить такие константы.
define( "BX_FILE_PERMISSIONS", 0660 );
define( "BX_DIR_PERMISSIONS", 0775 );
@ini_set( "memory_limit", "512M" );
Но этого не потребовалось, т.к. эти значения уже были заданы и по идее всё должно было работать. На одном из форумов посоветовали изменить права доступа и владельца к нужной категории через консоль. Но я посчитал, что если всё до этого работало, то не нужно так далеко залазить, проблема явно была в не в этом, для Вас приведу код в котором можно изменить права доступа к каталогам и файлам через консоль. Говорят может помочь.
find . -type d -exec chmod 775 < >\;
find . -type f -exec chmod 664 < >\;
В моём случае решение оказалось куда проще. Все сайты лежали в корневой директории, один из них являлся общим ядром. Но по какой-то причине прекратился общий доступ к «главному сайту» и всё что нужно было сделать — это открыть доступ.
Поскольку сайты на учётных записях закрыты процессы, запущенные на одном сайте, не имеют прав для обращения к каталогам, выходящим за пределы этого сайта. Для доступа из окружения веб-сервера потребуется открыть общий доступ к каталогу. Мой проект находится на beget и эта операция делается очень просто через файловый менеджер.
- Зайдите в нужную директорию
- В верхней части экрана нажмите на кнопку “Инструменты” -> “Настроить общий доступ к текущей директории”:
- Установите переключатели “Чтение и запись” и “Включая вложенные папки”, нажмите кнопку “Открыть доступ”:
Если представленные варианты не принесли желаемого результата, то пишите в комментарии, будет время, что-нибудь придумаем.
Форма Настройки модуля служит для управления глобальными настройками как сайта в целом, так и каждого модуля в отдельности. Для удобства работы форма разделена на закладки. Каждая закладка содержит логически сгруппированный набор полей, позволяющих выполнять определённые действия по настройке выбранного модуля.
Перейти к форме настройки модулей можно, нажав кнопку Настройки на административной панели, либо из административного меню: Настройки > Настройки продукта > Настройки модулей.
Глобальные настройки модулей системы зависят от характера этих модулей и описаны в соответствующих разделах помощи:
Следующие модули не имеют форм настроек:
- Внешние источники данных;
- Веб-сервисы;
- Дизайнер бизнес-процессов;
- Менеджер идей;
- Компрессия;
- Конструктор отчётов;
- Планёрки и собрания.
Ниже приводится описание настроек Главного модуля.
Форма настройки модуля
Закладка "Настройки"
На данной вкладке выполняется настройка общих параметров Главного модуля.
Функция работает, если включена опция Сохранять исходные имена загружаемых файлов
Только для "Битрикс24 в коробке".
Файл на скачивание с проверкой прав отдаётся с помощью метода CFile::ViewByUser. Если читать файл на php, то это занимает время на бекенде и существенно зависит от размера файла. При включенной опции метод после проверки прав выставляет заголовок X-Accel-Redirect и прекращает работу. Этот заголовок обрабатывается ngnix, который сам считывает указанный файл с диска, освобождая бекенд. При этом дополнительная настройка ngnix не требуется.
Доступно для PHP 5.2.0 и выше
Закладка "Почта и СМС"
Закладка "Авторизация"
Закладка "Журнал событий"
На данной вкладке выполняется настройка параметров журнала событий.
Поле | Описание |
---|---|
Сколько дней хранить события | Указывается период времени (количество дней), в течении которого события будут храниться в журнале. |
События для записи в журнал | |
Записывать [тип события] | Отметьте флажками события, которые должны фиксироваться в журнале. |
Профиль пользователя | |
Сохранять историю изменения полей профиля пользователя | Включает логирование изменений профилей пользователей и делает активной страницу Настройки > Пользователи > История профилей. |
Настройки системы авторизации на контроллере* | |
Префикс для авторизации на контроллере | Указывается префикс, который будет использоваться для авторизации пользователей контроллера на этом подчиненном сайте. |
Авторизовывать на этом сайте пользователей других сайтов контроллера | При отмеченной опции пользователи других сайтов контроллера смогут авторизовываться на этом сайте, причем обязательно должна быть разрешена авторизация между подчиненными сайтами на контроллере и настроено соответствие групп. |
* - данная секция доступна, если сайт подключен к контроллеру.
Закладка "Система обновлений"
- Не проверять;
- Каждый день;
- Раз в неделю;
- Раз в месяц.
Закладка "Доступ"
На закладке выполняется настройка прав доступа групп пользователей к управлению ресурсами Главного модуля.
- [D] Доступ закрыт - запрет на доступ;
- [P] Изменение своего профайла - право на просмотр и изменение собственного профайла;
- [R] Просмотр всех данных модуля - доступ к просмотру файлов модуля без права на изменение;
- [T] Просмотр всех данных модуля и изменение своего профайла - доступ к просмотру файлов модуля с правом на изменение собственного профайла;
- [V] Просмотр данных модуля и изменение заданных профайлов - доступ к просмотру файлов модуля с правом на изменение указанных профайлов;
Служебные процедуры
Закладка "Публичная часть"
Форма предназначена для ограничения доступа посетителей к сайту, например, на время выполнения технических работ.
С помощью кнопки Закрыть доступ пользователей/Открыть доступ для всех посетителям может быть разрешен или запрещён доступ к публичной части сайта.
Контроллер
Смотрите также:
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Максим Месилов: С течением времени на проекте накапливается ворох «общих» функций, обработчиков событий, специфических библиотек и т.д. Очень часто всё это валят в init.php и там чёрт ногу сломит.
init.php - необязательный файл в рамках структуры файлов Bitrix Framework. Он автоматически подключается в прологе.
Файл может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций - общие для всех сайтов. В этом случае он располагается по пути /bitrix/php_interface/init.php . Для каждого отдельного сайта может быть свой аналогичный файл. В этом случае он располагается по пути /bitrix/php_interface/ID сайта/init.php . Если есть оба файла, то система подключит оба, но первым при этом будет файл /bitrix/php_interface/init.php .
Начиная с версии 14.0.1 рекомендуется размещать этот файл в папке /local Чтобы сделать жизнь разработчиков проектов удобнее основные файлы проекта вынесены из папки /bitrix в папку /local . Это позволит изолировать изменяющиеся файлы проекта от папки продукта. По сути, в исключения достаточно будет добавить одну папку /bitrix .
Подробнее . по пути /local/php_interface/ID сайта/init.php .
Примечание: Файл /bitrix/php_interface/ID сайта/init.php не подключается в административном разделе, так как там отсутствует понятие сайта. Учтите и то, что SITE_ID равен текущему языку и, следовательно, может подключиться не тот файл, который ожидался.
Код условного отключения по значению $_SESSION в файле init.php не работает, так как эта переменная определяется позже.
Чтобы init.php не превращался в свалку непонятного кода следует код размещать логически группируя по файлам и классам.
Рекомендуется придерживаться следующих самых общих правил:
- init.php содержит только подключения файлов. Причем подключать эти файлы желательно через __autoload. Штатными средствами это делается так:
- Если функционал используется только на одном из сайтов в системе, то он выносится в свой init.php;
- Обработчики событий лучше группировать в одном файле и тщательно аннотировать где они используются и какая задача перед ними стоит.
Как избежать проблем при редактировании init.php без ftp/ssh доступа
- У клиента хостинг под Windows, а у вас "серый" IP и ftp не работает.
- Хостинг под Linux, но php и ftp работают из-под разных пользователей и файл недоступен для редактирования по ftp.
- У клиента свой сервер и доступ по ftp он не дает.
Если доступ есть только через веб, то один из наиболее простых способов - вынос всего вашего кода во внешний файл и подключение его примерно так:
Примечание: Параметр в адресной строке noinit=Y - отключает подключение, noinit=N - включает подключение. Свой функционал должен быть размещен (в примере) в /bitrix/php_interface/functions.php .
Рекомендуется использовать собственное именование ключа. К примеру, nomysuperinit, так как курс в открытом доступе и любой может ознакомиться с этим методом, в том числе и с неблаговидными целями.
Хорошо если проверки безопасности и прочего не содержатся в этом файле, к тому случаю если злоумышленник все же угадает как отключить init.php.
При таком подходе вы сможете безболезненно редактировать и допускать ошибки в файле functions.php, не боясь оказаться у разбитого корыта неработающего сайта без возможности как-то повлиять на ситуацию.
init.php или собственный модуль?
У разработчика проектов есть два способа постоянного использования уже созданных наработок: собственный модуль или файл init.php. Оба варианта имеют свои плюсы и минусы.
init.php. Когда у вас есть классы, единые для нескольких сайтов (при многосайтовости, или на одном сервере), то для удобства сами файлы с классами располагаются в одной папке, далее создаются символические ссылки.
Либо, при многосайтовости, есть и ещё один способ: воспользоваться уже готовыми папками. Например, папками шаблонов. (Теоретически, с точки зрения системы, это "шаблон", для нас - просто общее хранилище файлов.)
И при втором и первом способах код include $_SERVER["DOCUMENT_ROOT"]."/bitrix/templates/. " ведет в одно и то же место для всех сайтов, где можно разместить общие для всех проектов файлы. В том числе никто не мешает создать свою папку для своих классов и уже оттуда их подключать, обращаясь к /bitrix/templates/my_classes/. .
Использование симлинков на папки с кастомными библиотеками в точно такой же степени обязаны поддерживать совместимость как и модули. (Не важно где именно, при этом, они будут располагаться). Нет никакой особой разницы в подходах при поддержке и разработке, только охват проектов в первом случае ограничен рамками одного сервера.
Модули. Использование init.php будет предпочтительным если создаются проекты, которые точно всю жизнь проживут на одном сервере, и вы хотите максимально минимизировать затраты на поддержку кастомных библиотек. Желательно также чтобы эти библиотеки поддерживал один и тот же человек. Но если планируется эти наработки также использовать для заказных проектов, то дальновиднее делать модуль.
Читайте также: