Настройка обмена выполнена правильно, но обмен все равно проходит некорректно? Рассмотрим типичные проблемы, возникающие в процессе интеграции сайта с 1С, и способы их решения.
Обмен заказами завершен с ошибками
Проблема. При попытке обмена заказов в 1С выходит сообщение:
Выгружено товаров: 1
Выгружено картинок: 1
Выгрузка товаров успешно завершена
Не установлен реквизит «ГруппаДоступаККонтрагенту». Элемент не записан!
Не установлен реквизит «РегионДоставки». Элемент не записан!
Не установлен реквизит «Основная форма оплаты». Элемент не записан!
: Ошибка при вызове метода контекста (Записать): Операция не выполнена!
Произошла ошибка: . По причине:
Не удалось найти/создать контрагента.
Не удалось обработать документы, загруженные с сервера.
Обмен не выполнен.
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками.
Решение. Скорее всего, в используемой конфигурации предусмотрена обязательность заполнения указанных выше реквизитов для элемента справочника Контрагенты.
Как исправить ошибку импорта AVI в Adobe Premiere Pro
Не меняется статус заказа при выгрузке из 1С
Проблема. Не меняется статус заказа при выгрузке из 1С
В соответствие с логикой синхронизации 1С и «1С-Битрикс: Управление сайтом», статус заказа меняется, если из 1С передались дата оплаты либо дата отгрузки товара. Чтобы эти даты попали в XML-файл, который формируется 1С и передаётся на сайт, нужно сформировать и провести нужные документы.
- В 1С:УТ зарегистрировать оплату заказа можно путем ввода на основании заказа документов оплаты, таких как Платежное поручение входящее и Приходный кассовый ордер.
- Отгрузка, как правило, регистрируется вводом на основании заказа документа Реализация товаров и услуг.
- Если в регистре Расчеты с контрагентами остаток по заказу
- Если в регистре Заказы покупателей остаток по заказу
Статусы, в которые будут переводиться заказы при получении дат оплаты и отгрузки, устанавливаются в настройках модуля интернет-магазина: параметры При получении оплаты переводить заказ в статус и При получении разрешения доставки переводить заказ в статус соответственно.
Изменения товаров не зарегистрированы. Выгрузка товаров не произведена
Проблема. 1С заполнена и настроена на обмен с «1С-Битрикс: Управление сайтом», который тоже настроен на интеграцию с 1С. При нажатии на кнопку Выполнить обмен сразу появляется сообщение в 1С: Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.
Решение. Возможные ошибки:
- Обычно появляется из-за некорректной настройки выгрузки товаров на вкладке Выгрузка товаров. Стоит обратить внимание на то, что настраивается именно фильтр(!), а не выбираются поля для выгрузки. Если отмечается поле для фильтра, то значение этого поля в фильтре должно быть задано.
- В 1С: Управление торговлей обратите внимание в справочнике Номенклатура на реквизит вид номенклатуры. Должен быть обязательно признак товар (наименование товар и тип номенклатуры товар).
- Если обмен осуществляется в режиме выгрузки изменений, а этих изменений с момента последнего обмена не зафиксировано, то возникает указанная ошибка. Стоит обратить внимание на следующие моменты:
- Если осуществляется полная выгрузка каталога на сайт, то настройка фильтра необязательна (нужно снять выделение со всех отмеченных полей на вкладке Выгрузка товаров).
- Изменения товара никаким образом не относятся к сайту, т.е. удаление товаров на сайте или их редактирование не фиксируется в 1С. При обмене выгружаются изменения товаров, произведённые именно в 1С с момента последней выгрузки.
Изменения на сайте не приходят в 1С
Проблема. 1С заполнена и настроена на обмен по расписанию с «1С-Битрикс: Управление сайтом». Развернута копия базы 1С. Изменения в «1С-Битрикс: Управление сайтом» не приходят в 1С, т.е. якобы на сайте нет изменений.
Общая ошибка средства импорта в Adobe Premiere Pro Решение за 1 клик!!!
Решение. На самом деле, изменения есть и они приходят в копию базы 1С. Чтобы изменения отслеживались в оригинале базы 1С, просто поменяйте пароль у пользователя «1С-Битрикс: Управление сайтом».
Как выгрузить каталоги из 1С в разные типы инфоблоков?
Проблема. Как выгрузить каталоги из 1С в разные типы инфоблоков?
Решение. Чтобы осуществить выгрузку в разные типы инфоблока, следует поместить несколько компонентов catalog.import.1c на разные страницы.
Например, имеем две страницы: http://mysite.ru/1c_import_1.php и http://mysite.ru/1c_import_2.php. На обеих страницах настраиваем компонент catalog.import.1c — указываем в параметрах разные типы инфоблоков и устанавливаем флажок у опции Импортировать с учетом типа инфоблока.
Затем при настройке импорта в 1С, для выгрузки в нужный тип инфоблока указываем разные файлы: http://mysite.ru/1c_import_1.php либо http://mysite.ru/1c_import_2.php.
<?require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/header.php»);
$APPLICATION->SetTitle(«import1»);
?>
IncludeComponent(«bitrix:catalog.import.1c», «», Array(
«IBLOCK_TYPE» => «books»,
«SITE_LIST» => array(),
«INTERVAL» => «30»,
«GROUP_PERMISSIONS» => array(0 => «1»),
«USE_OFFERS» => «N»,
«USE_IBLOCK_TYPE_ID» => «Y»,
«SKIP_ROOT_SECTION» => «N»,
«ELEMENT_ACTION» => «D»,
«SECTION_ACTION» => «D»,
«FILE_SIZE_LIMIT» => «204800»,
«USE_CRC» => «Y»,
«USE_ZIP» => «Y»,
«USE_IBLOCK_PICTURE_SETTINGS» => «N»,
«GENERATE_PREVIEW» => «Y»,
«PREVIEW_WIDTH» => «100»,
«PREVIEW_HEIGHT» => «100»,
«DETAIL_RESIZE» => «Y»,
«DETAIL_WIDTH» => «300»,
«DETAIL_HEIGHT» => «300»,
«TRANSLIT_ON_ADD» => «Y»,
«TRANSLIT_ON_UPDATE» => «Y»,
«TRANSLIT_MAX_LEN» => «100»,
«TRANSLIT_CHANGE_CASE» => «L»,
«TRANSLIT_REPLACE_SPACE» => «_»,
«TRANSLIT_REPLACE_OTHER» => «_»,
«TRANSLIT_DELETE_REPEAT_REPLACE» => «Y»
),
false
);?>
<?require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/footer.php»);?>
Не удалось найти вид номенклатуры
Проблема. Не удалось найти вид номенклатуры
В процессе обмена 1С с сайтов возникает ошибка: Не удалось найти вид номенклатуры: Услуга Не удалось найти вид номенклатуры: Товар Не удалось найти/создать номенклатуру. Не удалось обработать документы, загруженные с сервера.
Решение. Ошибка возникает, если в 1С нет типов номенклатуры Услуга и Товар. Эти типы номенклатуры критичны для процесса обмена данными с сайтом. Следует создать в 1С эти типы номенклатуры и только поле этого осуществлять обмен.
Поле объекта не обнаружено
Проблема. В процессе обмена возникает ошибка Поле объекта не обнаружено.
В процессе обмена заказами возникает ошибка: : Поле объекта не обнаружено (Наименование) >> ОтобразитьСостояние(«Идентификация контрагента: » + СтрокаДД.СтруктураДанныхКонтрагента.Наименование);
Решение. Проверьте настройки интеграции с 1С, закладка Профили обмена: установлены ли соответствия для полей заказа. Обратите внимание на поля Полное Наименование и Наименование. Эти поля критичны для 1С.
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
- Возникает ошибка следующего вида:
Выгружено товаров: 679 Выгружено картинок: 469 Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен. Ответ сервера. Fatal error : Allowed memory size of 67108864 bytes exhausted (tried to allocate 102401 bytes) in /var/www/bitrix/modules/iblock/classes/general/cml2.php on line 483 Выгрузка товаров завершена с ошибками!
Решение. Ошибка скорее всего связана с нехваткой ресурсов на масштабирование передаваемых на сервер изображений. Выходом из данной ситуации может служить отключение опции Выгружать картинки (вкладка Выгрузка товаров в настройке обмена в 1С).
Также можно увеличить размер выделяемой памяти в настройках PHP (параметр memory_limit), для этого следует обратиться к хостинг-провайдеру.
- Возникает ошибка следующего вида:
Выгружено товаров: 46 Выгружено картинок: 0 Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: DB query error. Please try later. Выгрузка товаров завершена с ошибками!
Решение. Ошибка может возникать в случае некорректной передачи файла на сервер. В процессе отправки файл может «обрезаться» и терять свою целостность, в итоге файл на сервер передаётся некорректным по содержанию.
Причиной может служить прокси-сервер, через который осуществляется обмен. Попробуйте осуществить выгрузку не через прокси-сервер. Также попробуйте отключить опцию Использовать сжатие zip, если доступно в настройках интеграции с 1С — возможно, на сервере не поддерживается ZIP-сжатие. Проверьте настройки интеграции с 1С.
Произошла ошибка на стороне сервера. Файл не отправлен
В процессе обмена возникает такого вида ошибка:
Выгружено товаров: 3 Выгружено картинок: 0 Выгрузка товаров успешно завершена Выгружено заказов: 1 Произошла ошибка на стороне сервера. Файл не отправлен (C:Documents and SettingsUserLocal SettingsTempv8_5075_63.zip). Обмен не выполнен Ответ сервера: Файл для импорта пуст. Обмен заказами завершён с ошибками!
Решение. Причины возникновения ошибки могут быть следующие:
- На компьютере, где установлена 1С, имеется файрволл или антивирус, препятствующий корректной передаче файла или блокирующий отправку файла на сервер.
- Некорректно работает функции расширения ZIP, вследствие чего из архива не распаковываются файлы. Для решения возникшей проблемы рекомендуется:
- Установить последние стабильные версии обновлений модуля интернет-магазина.
- На время обмена отключить на локальной машине все блокирующее ПО (антивирус, файрволлы и т.д.)
- Отключить ZIP-сжатие в настройках интеграции с 1С.
Не работает авторизация при обмене данными с 1С
Решение. Часто проблема возникает в результате работы PHP в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в PHP. Можно это проверить, посмотрев phpinfo() в разделе: Server API: CGI. Можно обойти проблему, но необходимо чтобы на сервере была включена обработка .htaccess и поддержка mod_rewrite. Выполните следующие действия:
- В корне сайта в файл .htaccess добавьте строки:
RewriteEngine on
RewriteRule .* — [E=REMOTE_USER:%,L]
- Закомментируйте следующие строки в файле bitrix/admin/.htaccess, которые отключают mod_rewrite:
Примечание: данный файл может отсутствовать, поскольку он создается вручную.
- В файл bitrix/php_interface/dbconn.php добавьте строки:
$remote_user = $_SERVER[«REMOTE_USER»]
? $_SERVER[«REMOTE_USER»] : $_SERVER[«REDIRECT_REMOTE_USER»];
$strTmp = base64_decode(substr($remote_user,6));
if ($strTmp)
list($_SERVER[‘PHP_AUTH_USER’], $_SERVER[‘PHP_AUTH_PW’]) = explode(‘:’, $strTmp);
Для проверки работоспособности HTTP-авторизации воспользуйтесь скриптом
1СЖ:Ошибка импорта товара на сайт
Решение: необходимо переименовать наименование торгового соглашения на имя указанное в типах цен на сайте Битрикс.
ВКонтакте ( X )