1c обмен данными. Обмен данными с интернет-магазином
Ошибка 500 после установки модуля означает, что случилась какая-то критическая ошибка в php.
Для определение проблемы можно:
1. Открыть файл logs/error.log на вашем сервере. В конце этого файла будут все последние критические ошибки.
2. Открыть в админке Инструменты > Логи ошибок - в этом месте отображаются ошибки, но не всегда.
3. Включить вывод ошибок php на экран - добавить следующий код в конец файла.htaccess:
Php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Возможные причины:
1. Если вы раньше не загружали модули в архиве через админку - вам нужно установить бесплатную модификацию согласно инструкции и после этого переустановить модуль
2. Возможно в устанавливаемого модуля нет собственной страницы настроек и соответственно его не будет в списке Модулей
Два варианта решения:
1. Если при установке модуля из админки вылетает эта ошибка - вам нужно установить бесплатную . Она установиться без проблем через тот же установщик дополнений, только после установки не забудьте обновить модификации и затем можете приступать к установке любых модулей на Opencart 2.
2. Также решить эту ошибку можно по другому: прописать доступы к FTP в админке Система > Настройки > Магазин > вкладка FTP.
Если вы видите сообщение "Доступ запрещен! У Вас нет прав для доступа к этой странице. Если она Вам нужна, обратитесь к администратору. " - нужно дать права администраторам на управление модулем или страницей.
Решение: в админке Opencart 2 переходим в Система > Пользователи > Группы пользователей > Администраторы и здесь нажимаем "Выделить все" ниже обоих блоков, затем Сохранить .
Еще одной причиной появления этой ошибки может быть не правильная установка модуля - файлы не загрузились на свои места. Загрузите файлы модуля вручную на сервер или установите фикс и переустановите модуль.
Если модуль - это один XML файл, то его расширение должно быть.ocmod.xml
Если модуль - это ocmod.zip архив, то его не нужно распаковывать, а устанавливать как есть. В таком архиве обязательно должна быть папка upload (может быть пустой) , а также могут быть файлы модификаций: install.xml , install.php , install.sql . Никаких других файлов в корне архива быть не должно.
Эта ошибка означает, что вы пытаетесь установить модификатор, который уже установлен или, возможно, у какого-то вашего модуля такой же ID.
Для решения этой ошибки вам нужно перед установкой удалить старую версию модификации в разделе Модули > Модификации.
Если такого модуля у вас нет, но совпадает ID, тогда нужно поменять значение параметра в устанавливаемом модификаторе XML, сделать этот параметр уникальным дописав несколько символов.
Эта ошибка означает, что вы пытаетесь установить слишком объемный xml- модификатор.
Количество символов в ocmod.xml файле не должно превышать 65535 .
Для решения ошибки нужно разбить xml-файл модификации на несколько частей, главное - не забыть задавать каждой уникальное значение в , можно добавлять к текущему значению цифры 1,2,3... как идентификаторы части.
Еще одним способом решения есть изменения типа в поля, где храняться модификации, в таблице "oc_modification" базы данных. Нужно выполнить следующий SQL-запрос:
ALTER TABLE
oc_modification CHANGE
xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;
1. В меню прогаммы 1С выбрать пункт «Сервис» и в выпадающем списке выбрать «Обмен данными с WEB-сайтом”,
далее выбрать пункт «Настроить обмен данными с WEB-сайтом».
2. Если Вы создаете новую настройку, то в следующем окне выбираете пункт «Создать новую настройку обмена с WEB-сайтом»
3. В следующем окне нужно указать, что именно Вы будете выгружать или загружать (товары, заказы), а так же указать путь к файлу обмена на сайте. Для OKAY-CMS это путь http://domen.ru/cml/1c_exchange.php
В поля «Пользователь» и «Пароль» необходимо ввести логин и пароль, которые Вы используете для входа в админ-панель сайта. После чего нужно нажать кнопку «Проверить». Если соединение настроено правильно, то Вы увидите окно
4. В следующем окне настраиваются параметры выгрузки товаров. Если Вы используете картинки в товаре и хотите выгружать их на сайт, то ставим соответствующую галочку. Далее нужно отметить галочками данные товаров, которые Вы хотите выгружать.
ВАЖНО!!! В поле «Номенклатура», в столбце «Тип сравнения» необходимо выбрать пункт «В группе из списка», затем в столбце «Значение», в открывшемся диалоге нужно добавить все группы товаров, которые Вы хотите выгружать на сайт.
- Если Вы хотите выгружать на сайт определенный тип цен, например Интернет-цена, то ее необходимо указать в поле «Тип цен».
- Если Вы хотите выгружать на сайт остаток с определенного склада, то этот склад необходимо указать в поле «Остатки по складам».
- Если Вы хотите выгружать на сайт только товары с положительным остатком, то в поле «Остаток» указываем, например « > 0 » .
5. В следующем окне указываются, куда будут загружаться новые контрагенты и новые товары, если они не созданы в 1С, но созданы на сайте. ВАЖНО!!! Не меняйте пункт «Способ идентификации контрагентов»
6. В следующем окне Вы можете указать, какую дату ставить в новые (загруженные) заказы и что делать с новыми документами, проводить сразу или только записывать (сохранять)
7. В следующем окне указывается режим выгрузки, полная выгрузка либо выгружать только измененные товары. Больше ничего там менять не стоит.
8. В последнем окне можно настроить периодику автоматического обмена данными. Если этого не делать, то обмен будет происходить только при ручном вызове обработки
На этом настройка параметров обмена закончена.
В реальной жизни редкая компания обходится одной базой 1С. Самая частая ситуация – это две базы, бухгалтерия и зарплата.
Базы должны быть связаны – начислили зарплату, в бухгалтерию должны пойти начисленные налоги к уплате.
Для связи нескольких баз существует Обмен 1С. Как он работает?
Что такое Обмен 1С?
Есть сеть магазинов и центральный офис. В каждом магазине и в офисе есть склад. Товары перемещаются со склада на склад (в основном с центрального на склады магазинов), и в магазинах — продаются.
Используется база 1С Розница в офисе и эта же база в каждом магазине. Базы в магазинах – подчинены базе в офисе.
В офисе создают документы о перемещении товаров со склада на склад, назначаются цены. Документы заливаются в подчиненные базы и там «появляются» товары.
В магазинах создаются документы о совершенных продажа товаров. Документы заливаются в офисную базу и там «появляются» продажи.
Такая схема называется – распределенная информационная база (РИБ). Процедуры «заливки» документов – двусторонний обмен 1С. А настройка этой схемы – УРИБ или УРИБД (управление распределенными информационными базами данных).
Принципы Обмена справочниками в 1С
Справочники 1С (а набор всех справочников «в комплексе» называют НСИ – нормативно справочная информация) – в разных базах обычно должны быть едины. Это значит, что даже если баз несколько, то список товаров, складов, контрагентов – един в разных базах.
Обычная практика, когда в одной базе справочник разрешено редактировать, а в остальные он копируется («мигрирует»). Как мы раньше уже обсуждали – у каждого элемента 1С есть уникальный идентификатор – GUID . Справочники обычно копируются вместе со своим GUID, и таким образом идентичны во всей распределенной информационной системе.
В ином случае, когда соединяются несколько изначально существующих баз, или когда справочники можно создавать в разных базах одновременно, их GUID будут разными. Для этого существует механизм сопоставления. В специальный регистр сведений при обмене 1С записывается информация, что элемент из базы №1 с GUID ххх равен элементу в этой базе с GUID yyy. Первоначально имеющиеся элементы, которые уже не равны, нужно сопоставить автоматически (по другим реквизитам, например по наименованию или по ИНН и КПП) или вручную.
Принципы Обмена документами в 1С
Документы в 1С проводятся по регистрам и после этого считаются «проведенными». Это рождает понятные сложности при переносе.
Один вариант – перенести только документы и провести их заново после загрузки. Этот метод часто используется, но может рождать ошибки – документ может и не провестись в новой базе, так как условия при проведении могут сложиться иначе, чем были в момент проведения этого документа в изначальной базе.
Другой вариант – перенос документов и регистров вместе. Как мы понимаем, сразу же появляется вопрос – или мы переносим все документы вообще и тогда весь регистр вообще или вынуждены выбирать для переноса только движения по переносимым документам.
Допустим, нам нужно перенести элемент справочника Номенклатура. У этого справочника есть 10 полей, из которых 5 являются строками и числами, а 5 – ссылками на другие справочники.
Соответственно при переносе одного элемента Номенклатуры мы вынуждены искать и переносить также 5 элементов других справочников.
Таким образом при переносе одного элемента справочника или одного документа, по ссылке может быть перенесено 100 и больше других объектов 1С.
Фактически говорят, что почти все справочники конфигурации так или иначе ссылаются друг на друга.
Планы обмена 1С
Предположим, что мы создали распределенную базу данных и провели обмен 1С. На центральный склад закуплен товар и подготовлен для отправки в магазины. В 1С в офисе ввели нужные документы перемещения товаров. Требуется, чтобы они загрузились в магазины.
Что делать? Провести снова полный обмен 1С? Долго и неэффективно! Гораздо лучше было бы вычислить что именно было добавлено или изменено пользователями в офис, чтобы в магазины попали только изменения.
Для этого существует – планы обмена 1С. Программист заранее создает план обмена 1С для проведения обменов 1С с какой-либо другой базой данных, например с нашими магазинами.
План обмена 1С отмечает при работе пользователей со справочниками и документами, что было добавлено или изменено с момента проведения последнего обмена 1С с этой базой.
Создание УРИБ 1С
Итак, мы создадим распределенную базу с нуля. Изначально у нас есть «родительская» база офиса. Из нее мы будем выделять базы магазинов, которые будут ей подчинены.
В типовых конфигурациях уже есть типовые планы обмена 1С. Виды баз, для которых они предназначены – интуитивно понятны из названия:
- Обмен 1С с сайтом: обмен с сайтом 1С:Битрикс
- Обмен 1С УПП-УТ или УТ-Розница: типовые обмены с конфигурациями-побратимами
- Полный – обмен 1С с базой данных на базе такой же конфигурации.
РИБ – распределенная информационная база – можно сделать в том числе на базе плана обмена 1С «Полный». В конфигураторе в этом плане обмена 1С должна стоять галочка «Распределенная информационная база».
План обмена 1С, созданный в конфигураторе, говорит о том, что мы собираемся обмениваться с такой конфигурацией. В режиме Предприятие в этом же плане обмена 1С нужно теперь указать конкретные базы данных на базе этой конфигурации.
Зайдем в план обмена 1С (Операции/План обмена; также могут быть в другом меню, часто в меню Сервис/ХХХ).
В списке баз данных в плане обмена 1С есть одна с зеленым кружочком на картинке. Этот элемент обозначает ЭТУ БАЗУ. Остальные элементы обозначают ДРУГИЕ базы, с которыми идет обмен 1С.
Необходимо, чтобы было заполнено и наименование и код у всех элементов.
Чтобы создать подчиненную базу «магазина»:
- Установите кусор в списке на элемент плана обмена 1С, который мы создали как «базу магазина»
- Выберите пункт меню «Действия/Создать начальный образ».
В результате будет создана одна база, с выгруженными в нее начальными данными. Это нужно повторить для каждого элемента плана обмена 1С, кроме ТЕКУЩЕЙ БАЗЫ.
Теория проведения обменов 1С
Теория обмена 1С достаточно проста:
- Одна из баз (чаще база центра) инициирует обмен 1С по расписанию или «по событию» (вход в базу определенного пользователя и т.п.)
- Обмен 1С заключается в выгрузке из базы файла
- Файл должен быть перемещен в то место, откуда его сможет забрать подчиненная база (чаще шара или ftp, реже электронная почта)
- Подчиненная база загружает полученный файл
- В качестве подтверждения, что информация получена, подчиненная база выгружает «ответный» файл, который таким же образом загружается обратно в центральную базу
- Сеанс обмена 1С завершен.
Существуют другие методы обмена 1С, не через файлы, а например, через прямое COM-соединение между двумя базами. Его плюсы:
- Не требуется «место для хранения и передачи файлов»
- Не требуется повторной загрузки подтверждения
- Все происходит быстрее за счет первых двух пунктов.
Однако ограничение понятно – базы должны быть в такой доступности друг к другу, чтобы суметь инициировать COM соединение.
Настройка РИБ 1С
В константах типовых конфигураций (Операции/Константы; или Сервис/Настройки программы) — обычно есть общая настройка обменов 1С. Это – префикс в кодах элементов и номерах документов, чтобы легко определять в какой базе он создан. А также внутренний метод сохранения информации о месте создания справочников и документов.
Теперь необходимо настроить как будет происходить сам процесс периодического обмена 1С информацией между созданными базами.
Все настройки РИБ в 1С находятся в типовых конфигурациях обычно в меню Сервис/Распределенные информационные базы/Настроить узлы РИБ.
Для каждого ранее созданного элемента «удаленной базы магазина» необходимо добавить элемент настройки.
В настройке указывается способ обмена 1С: файл (шара), файл (FTP), файл (e-mail).
Создание и настройка распределенной информационная базы 1С в тонком клиенте
Посмотрим аналогичную настройку в типовой конфигурации на базе тонкого клиента – Управление торговлей редакция 11.
Настройки (и создание с нуля) находятся на закладке интерфейса Администрирование. Пункт «Обмен данными».
Выберем «Создать обмен в распределенной информационной базе».
С самого начала 1С нам предложит указать каким образом мы собираемся обмениться с подчиненной базой информацией. Вот вариант настройки «через файл на шаре».
Вот вариант настройки через файл на FTP.
Название нашей настройки обмена 1С.
И сразу же предложение создать «начальный образ» — то есть саму подчиненную базы данных с выгрузкой в нее первичной информации.
В отличии от конфигурации на толстом клиенте обе настройки обмена 1С находятся в одном месте.
Первичный вариант настройки обмена данными требует не только знаний в области программирования, но также и в области консалтинга. Порой настройка этой функции оказывается самой трудоемкой и дорогой задачей.
Этапы обмена данными, при котором один из или все объекты – это продукты 1С:
- Согласовывается состав обмена;
- Определяется протокол;
- Этап синхронизации;
- Определение и настройка правил обмена;
- Расписание.
Этап первый: состав обмена
Направление обмена может быть односторонним или двусторонним в зависимости от роли объектов обмена. Всего в обмене участвует две конфигурации – «источник» и «приемник». При одностороннем обмене данные поступают от одного объекта к другому и их роли не меняются. В случае двустороннего обмена роли объектов постоянно меняются и данные выходят от обоих объектов и поступают также к обоим объектам.
На этом же этапе определяется и формат обмена:
- Распределенная ИБ
- Универсальный ОД.
- EnterpriseData.
Этап второй: протокол обмена
С помощью 1С:Предприятие 8 можно обмениваться данными разных типов и стандартов. Поэтому отталкиваться в определении протокола обмена следует только от возможностей системы, с которой будет происходить обмен.
Этап третий: синхронизация справочников
Главный принцип - наличие одной точки ввода.
Этап четвертый: установка правил
Полноценное отображение полученных данных возможно, только если были правильно заданы и настроены правила обмена данными.
Для того, чтобы легко, быстро и правильно справится с этим этапом, можно воспользоваться деревом правил. В нем можно найти все необходимые данные по каждому элементу правил, параметры, алгоритмы или через него открыть главную форму настройки правил.
Этап пятый: расписание
Чтобы автоматизировать регулярный обмен, следует установить периодичную выгрузку данных.
Возможно, в процессе работы потребуются доработки. Причины для этого могут быть разными:
- Объекты обмена были раньше доработаны;
- Конфигурация БД нетиповая;
- Разная версия рабочих платформ;
- Не актуальная\ не обновленная версия конфигурации;
- Необходимо поменять правила обмена на нестандартные и т.д.
Конфигурация УПП ("Управление производственным предприятием") в типовой версии уже содержит готовые механизмы обмена данными. Но их также нужно настроить. Следует учесть, что обмен УПП возможет только в более новых версиях.
Через кнопку «Сервис» выбираем необходимое меню обмена данными. Если программа указывает, что возможность обмена недоступна, проставляем галочку на соответствующем поле в меню «Настройки».
После этого можно организовывать процесс обмена данными.
В приложении 1С:Бухгалтерия 8 (редакция 3.0) предусмотрен упрощенный обмен данными с интернет-магазинами. В статье рассказано о том, как использовать этот обмен.
Условия обмена данными
В «1С:Бухгалтерии 8» поддерживается обмен данными с интернет-магазинами, созданными на базе CMS-систем:
- 1C-Bitrix;
- 1C-UMI;
- других CMS-систем, поддерживающих протокол обмена CommerceML версии 2.08 (см. по ссылке).
При обмене данными с интернет-магазинами, созданными на базе CMS-систем, отличных от 1C-Bitrix и 1C-UMI , нужно обеспечить, чтобы сайт интернет-магазина содержал скрипт, поддерживающий протокол обмена 1С с сайтом. Описание требований к скрипту дано по ссылке .
Настройка обмена данными
Чтобы настроить обмен данными «1С:Бухгалтерии 8» с интернет-магазином, необходимо:
Выполнение обмена данными
Для выполнения обмена данными с интернет-магазином необходимо:
В результате выполнения загрузки в «1С:Бухгалтерии 8» будут сформированы счета покупателям. Эти счета можно использовать для оформления реализации, поступления денежных средств или подготовки пакета документов на отгрузку.
1. Методические рекомендации об отражении в бухгалтерском учете продаж через интернет-магазин даны в «Справочнике хозяйственных операций. 1С:Бухгалтерия 8», см. по ссылке .
2. Обмен с интернет-магазином настраивается и функционирует одинаково как для локальной информационной базы «1С:Бухгалтерии 8», так и при работе c «1С:Бухгалтерией 8», размещенной в сервисе сайт или в другом сервисе, созданном по технологии 1cFresh.
Ограничения обмена
Обмен данными «1С:Бухгалтерия 8» с интернет-магазинами является:
- односторонним - сведения переносятся только из интернет-магазина в «1С:Бухгалтерию 8»;
- упрощенным - переносятся только данные о полученных через интернет-магазин заказах, а также использованные в заказах данные о номенклатуре, контрагентах и ценах. По этим сведениям в «1С:Бухгалтерии 8» создаются счета покупателям. Выполнение каких-либо других операций с интернет-магазином не предусмотрено.
Намного больше возможностей интеграции с интернет-магазином предоставляют решения «1С:Управление торговлей», «1С:Комплексная автоматизация», «1С:ERP 2» и «1С:Управление нашей фирмой». См. например, статьи.