Статьи

11.03.2014
Для «1С-Битрикс: Управление сайтом» интеграция с «1С» – не проблема. Это штатная функция, которая уже давно присутствует начиная с версии программных продуктов"1С:Предприятие 8.1", редакция Управление торговлей (версия 10.3.4) и "1С-Битрикс: Управление сайтом" версии 6.5, в редакциях Малый бизнес, Бизнес и Большой бизнес.

Торговля в интернете не имеет никаких отличий от обычного ритейла в плане ведения бухгалтерской отчетности. В связи с этим возникает вопрос согласования продаж через интернет-магазин и проводки их по системе учета «1С». Для «1С-Битрикс: Управление сайтом» интеграция с «1С» – не проблема. Это штатная функция, которая уже давно присутствует начиная с версии продуктов "1С:Предприятие 8.1", редакция Управление торговлей (версия 10.3.4) и "1С-Битрикс: Управление сайтом" версии 6.5, в редакциях Малый бизнес, Бизнес и Большой бизнес.


Несмотря на существующую документацию по продукту, у многих разработчиков сайтов возникают сложности с обменом данными в этих двух программах. Сложности интеграции бывают разные. Рассмотрим некоторые, самые типовые, которые возникают у многих пользователей.


Типовые проблемы можно сгруппировать примерно таким образом:


  • Ошибки с производительностью на стороне сервера
  • Ошибки при работе с файлами данных
  • Проблемы авторизации
  • Ошибки MySQL
  • Логические ошибки

Начнем по порядку.


Ошибки на стороне сервера


Ошибки на стороне сервера происходят в силу целого ряда причин, но общее у них то, что виноваты не столько настройки программ «1С-Битрикс: Управление сайтом» или "1С:Предприятие", сколько настройки сервера или проблемы в линиях связи. В основном они «лечатся» соответствующей настройкой серверного оборудования и программного обеспечения. И только при невозможности этого – путем единовременного снижения объемов выгрузки. Для решения большинства этих проблем вам не избежать обращения к службе технической поддержки хостинговой компании, где размещен ваш сайт.


Наиболее частые проявления этих ошибок:


  • Ошибка работы с Интернет, выводится сообщение: failed sending data to the peer (no headers, no data)‏;
  • Получен пустой ответ сервера;
  • Ошибки 502, 500 или ошибка 404 уже в процессе обмена;
  • Ошибка нехватки памяти, например выводится сообщение: Fatal error : Allowed memory size of 67108864 bytes exhausted (tried to allocate 102401…)‏
  • Не удалось получить текущее состояние процесса обмена. Данные обмена отправлены, но не загружены.

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


  • Откройте для редактирования файл php.ini.oci, расположенный в папке /apache.
  • Найдите в файле группу параметров Resource Limits.
  • Увеличьте значения параметров max_execution_time и memory_limit.
  • Перезагрузите сервер.

Во-вторых, часто помогает увеличение таймаута сервера. С этим лучше обратиться к хостеру, так как у вас, скорее всего, не будет на это прав доступа. Но если есть возможность сделать это самому, то нужно произвести следующую последовательность действий:


  • Откройте для редактирования файл httpd.conf, размещенный в папке /apache/conf/
  • Измените значение параметра Timeout.
  • Перезагрузите сервер.

Другой вариант решения этой проблемы (если хостер не соглашается на увеличение таймаута) - сделать равным таймаут сервера и таймаут «1С-Битрикс: Управление сайтом» (страница Магазин > Настройки магазина > Интеграция с 1С, поле Интервал одного шага в секундах). В этом случае пошаговое выполнение будет идти синхронно.


Если указанные меры не помогли или указанные параметры невозможно изменить, то, в крайнем случае, можно сделать следующее:


Наконец, можно уменьшить объем выгрузки товаров за 1 раз. Настройте фильтр по номенклатуре на стороне «1С»:


  • Запустите мастер настройки обмена данными (Сервисы > Обмен данными с WEB-сайтом > Настроить обмен данными с WEB-сайтом)
  • На первом шаге мастера выберите Изменить существующую настройку обмена данными и нажмите кнопку Далее.
  • Выберите настройку для редактирования и дважды кликните по ней.
  • В закладке Выгрузка товаров (Или Обмен заказами, в зависимости от ситуации) измените значения фильтра.
  • Сохраните изменения и повторите синхронизацию.

Ошибки при работе с файлами данных


Ошибки при работе с файлами вызваны в основном неправильной настройкой прав доступа к файлам. Типовые сообщения при этом выглядят следующим образом: «Ошибка открытия файла" и "Ошибка записи файла". Способы решения проблемы, естественно, - настройка прав доступа на уровне операционной системы.


Обратим внимание на фразу «на уровне операционной системы». Права на уровне «1С-Битрикс: Управление сайтом», как правило, выставлены всегда правильно. Тем не менее, проверить права на осуществление импорта/экспорта не помешает. Делается это на странице Магазин > Настройки магазина > Интеграция с 1С.


Наиболее вероятные причины:


  • У пользователя, от которого ведется обмен данными, нет прав на запись в папку /upload .
  • Файл создается с правами, которые не позволяют чтение файла.
  • Файл также может быть передан на сервер в zip-архиве, но по определённым причинам не удалось распаковать архив, например, некорректно работает функция zip_open на сервере.

Решения данных проблем довольно просты и понятны из самих проблем и решаются обращением к хостеру, который установит нужные права.


Выставление корректных прав на создаваемые файлы в рамках «1С-Битрикс: Управление сайтом» производится следующим образом:


  • Откройте для редактирования файл dbconn.php из папки /bitrix/ php_interface.
  • В строке define("BX_FILE_PERMISSIONS", 0644); установите значения, которые порекомендовал хостер вместо 0644 выставленных по умолчанию.

Точно также нужно проверить выставить права на создаваемые папки. Только это делается уже в строкеdefine("BX_DIR_PERMISSIONS", 0755);.


Вот так выглядит проверка наличия расширения ZIP в настройках PHP:


  • Откройте в браузере страницу http://<ваш_сайт>//bitrix/admin/phpinfo.php. (Либо выполните командуif (exist_function (“zip_open”)) echo “OK”;). В браузере отобразится таблица:
  • Интеграция 1C
  • В области ZIP посмотрите настройки. Для строки ZIP должно стоять «enabled».

Заметим, что ошибки при работе с файлами данных могут возникать и из-за того, что на компьютере, где установлена учетная система от 1С, имеется файрволл или антивирус, препятствующий корректной передаче файла или блокирующий отправку файла на сервер.


Проблемы авторизации


1С не может пройти процедуру аутентификации на сайт и в этой связи выдается ошибка. Вызвано это, как правило, неверной настройкой «1С-Битрикс: Управление сайтом».


«1С» может получать некорректный ответ при попытке авторизации на сайте. Это может быть ошибкой разработчика вашего сайта. Дело в том, что при авторизации первой строчкой ответа «1С» ждет "success". Но в ходе создания сайта разработчики могли в процессе разработки случайно оставить вывод в файлах тестовые строки.


Например, в файле /bitrix/php_interface/init.php или /bitrix/php_interface/dbconn.php и др.
Таким образом, 1С может получить ответ не "success", а "testsuccess" хотя данный авторизации отправлены корректные.


Другая типичная ошибка состоит в правах доступа на импорт каталога. Авторизация может не производиться, если пользователь, проводящий импорт, не обладает достаточным уровнем прав. Проверить это можно на странице Магазин > Настройки магазина > Интеграция с 1С.


Перейдите на указанную страницу и произведите следующие действия:


  • В поле Разрешить загрузку группам пользователей посмотрите, каким пользователям разрешен импорт/экспорт данных.
  • В зависимости от вашей конкретной ситуации или измените права доступа на импорт для нужных групп или включите нужного пользователя в группу, которой разрешен импорт из «1С».

Но в авторизации могут возникать и особые ошибки. Например, при работе PHP в режиме CGI. Это характерно для сайтов, размещенных на Windows-серверах. Можно это проверить с помощью файлаtest.php, как мы это делали при проверке свойств ZIP. В свойства сервера Apache в строке Server API в таком случае стоит CGI. Можно попытаться обойти эту проблему, а если не получится, то целесообразно обратиться в техподдержку хостинга.


Для «обхода» проблемы необходимо чтобы на сервере была включена обработка .htaccess и поддержкаmod_rewrite. Выполните следующие действия:


  • В корне сайта в файл .htaccess добавьте строки:
    RewriteEngine on
    RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
  • Закоментируйте следующие строки в файле .htaccess папки bitrix/admin/, которые отключаютmod_rewrite:
    #<ifmodule mod_rewrite.c="">

    # RewriteEngine Off

    #</ifmodule>
  • В файл dbconn.php папки bitrix/php_interface/ добавьте строки:
    $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);

Ошибки MySQL


Ошибки базы данных могут иметь много причин, равно как и решений. Самые очевидные из них сводятся к следующим:


  • Выводится сообщение: Lost connection to MySQL server during query. Ошибка, скорее всего здесь в таймауте.

Возможное решение проблемы: $DB->Query("SET wait_timeout=28800");


Если это не помогает, то необходимо обратиться к службе поддержки хостинговой компании для увеличения таймаута.


  • Конфликт кодировок. Например, выводится сообщение:

[Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '=']


Причиной является то, что таблицы базы данных в одной кодировке, а сам база в другой. В данном случае база в latin1 и новые таблицы создаются в latin1. При выгрузке из «1С» создается временная таблицаb_xml_tree в «некорректной» кодировке latin1.


Решение простое и понятное: смена кодировки базы на корректную. Для решения этой проблемы нужно обратиться к хостеру.


Логические ошибки


Логические ошибки происходят, если пользователем неверно понимается процесс обмена данными и, соответственно, им неверно выполняются какие-то действия.


Наиболее частая ошибка при выгрузке каталога товаров появляется вместе сообщением: «Изменения товаров не зарегистрированы. Выгрузка товаров не произведена». Как правило, в этом случае неверно настроен фильтр товаров. Нужно проверить эти настройки. Как правило, там выбраны параметры, которые не позволяют правильно отфильтровать параметры для выгрузки.


Но, бывают ситуации, когда такое сообщение – нормальная ситуация. Это происходит в случае, если в настройках Режима обмена данными с WEB-сайтом установлено: Выгружать только измененные объекты с момента последнего обмена.


Другая ошибка при выгрузке каталога товаров - сообщение: «Не удалось найти вид номенклатуры». Эта ошибка возникает, если в «1С» нет видов «Услуга» и «Товар». Эти типы критичны для процесса обмена данными с сайтом. Решение проблемы – создать в «1С» указанные виды номенклатуры.


Если в процессе обмена возникает ошибка: «Поле объекта не обнаружено», то это означает, что не установлены соответствия для полей заказа в «1С-Битрикс: Управление сайтом». Проверьте настройки, заданные в закладке Экспорт в «1С:Предприятие» страницы Настройки > Настройки продукта > Настройки модулей > Интернет-магазин. Поля «Полное Название» и «Название» критичны для 1С., то есть без задачи соответствия этих полей экспорт выполняться не будет. Обратите внимание, что настройка соответствий производится отдельно для разных типов плательщиков.


Источник:www.1csoft.ru


Возврат к списку


Текст сообщения*
Защита от автоматических сообщений
Облако тегов
API array CSS facebook IT-биографии JavaScript jQuery Microsoft microsoft MySQL PC php seo SQL ssl twitter апокалипсис баг база данных бизнес битрикс Битрикс браузер веб-ресурс векторная графика графика дизайн единорог жены программистов звук ЗОЖ инстаграмм интернет-магазин инфографика искусство истории ит картинки клиент компьютер конец света конференция кроссбраузерность лень массивы метод Верле музыка мысли мышь объявления ОС отдых отцы и дети парнас ай ти парнас айти передача данных подростки посмеяться правописание причины лени программирование программист продвижение проект размер страницы разметка разработка разработка интернет-магазина разработчик веб-систем распознавание звука реклама русский язык сайт семантическая разметка семинар сертификат сисадмин скорость загрузки сайта слушать создание сортировка социальные сети творчество тестирование умные мысли цитаты яндекс
Последние комментарии

Наши клиенты

Контакты

ООО "Парнас"

420111
г. Казань, ул. Пушкина 18

Телефон :
8-843-236-6001
8-499-550-6001

Почта :
mail@parnas-it.com


скачать реквизиты

Политика в отношении обработки персональных данных 0+ © 2012-2021 "Парнас-АйТи"