Многи российские компании для учета используют программы 1С. Если при этом для ведения торговли используется бесплатный скрипт интернет магазина обязательно встанет вопрос об обмене данными между двумя этими системами.
В платных российских скриптах механизм обмена с 1С реализован. В бесплатных — таковых модулей нет (кроме OpenCart). Конечно же в сети можно найти платные модули обмена с 1С для популярных скриптов интернет магазинов, но осуществить обмен можно и своими силами.
В статье Бесплатный способ выгрузить данные из 1С в Интернет магазин мы рассказывали, как можно осуществить выгрузку данных из 1С в интернет магазин через CSV файл. В этой статье мы расскажем о том как осуществить доступ из 1С к данным интернет магазина.
В 1С:Платформе версии 8.2.14 появился новый объект: «Внешние источники данных«. Данный объет позволяет подключаться к внешним источникам данных и использовать эти данные в запросах и в системе компоновки данных (1С-овских отчетах).
Внешними источниками данных могут быть:
- SQL Server
- MySQL
- Microsoft Access (*.mdb),
- Microsoft dBase (*.dbf),
- Microsoft Excel (*.xls),
- Microsoft Paradox (*.db )
- Microsoft Text (*.txt; *.csv),
- Microsoft Visual FoxPro (*.dbf),
- SQL Server Native Client 10.0
Нас интерисует MySQL, т.к. для организации базы данных интернет магазина чаще всего используют именно эту СУБД. Но к сожалению у 1С нет подходящего драйвера для работы с MySQL и нам нужно будет самостоятельно его скачать и установить. Драйвер, который нам нужен называется MySql Connector ODBC. Он бесплатный, так что смело скачиваем и используем.
Мы сейчас создадим клиетское приложение на платформе 1С для доступа к базе данных интернет магазина MySQL. Для доступа к базе данных будем использовать новый объект 1С: «Внешние источники данных» и драйвер MySql Connector ODBC. Наше приложение будет только считывать данные. Модифицировать данные в базе данных магазина используя объет «Внешние источники данных» не получится — он предназначен лишь для чтения. (Но это не означает, что это впринципе невозможно, это возможно, но при использовании другого механизма доступа к данным. Об этом в следующих уроках.)
Для демонстрации работы объекта 1С «Внешние источники данных» создадим 2 объекта: отчет для анализа данных с помощью «Компоновки данных» и обработку для считывания данных в базу данных 1С.
Урок №1. Создание отчета для анализа данных.
Нам понадобится:
- 1С.Платформа 8.2.14.
- драйвер MySql Connector ODBC.
- установленный на LocalHost скрипт WP e-Commerce.
Сначала нужно сделать подготовительные действия: скачать и установить драйвер MySql Connector ODBC; установить 1С:Платформу 8.2.14; установить скрипт интернет магазина на localhost.
Вы можете использовать и реальный хостинг, но необходимо будет настроить доступ к базе данных с вашего ip. Конечно же скрипт можно использовать любой.
Создаём пустую базу данных и открываем Конфигуратор. В конфигураторе добавляем новый объект «Внешние источники данных» и называем его «ИнтернетМагазин».
Открываем закладку «Данные» у только что созданного объекта и добавляем таблицу. Способ создания таблицы выбираем «Выбрать из списка таблиц внешнего источника данных». Откроется окно «Подключение к источнику данных». И заполняем его как на рисунке: указываем драйвер, имя базы данных, адрес хоста, имя и пароль пользователя (пароль не должен быть пустым).
Жмем «Ок», откроется окно «Конструктор таблиц внешнего источника данных». Выбираем таблицу «wp_posts», как на рисунке. Жмём «Готово».
Добавляем новый объект Отчет, называем его «Товары». Жмём кнопку «Открыть систему компоновки данных». В следующем окошке жмём кнопку «Готово».
Откроется окно Системы компоновки данных. Нам нужно добавить новый набор данных: жмём на пиктограмму с зелёным плюсиком, как на рисунке и выбираем «Добавить набор данных — запрос».
Жмём кнопку «Конструктор запроса» как на следующем рисунке:
Откроется Конструктор запроса. В этом конструкторе из левой колонки нужно выбрать таблицу «wp-posts» и перетащить её в центральный столбец. Далее поля «id» и «post_title» перетащить мышкой в правую колонку.
Жмём Ок. Должен получиться такой запрос:
ВЫБРАТЬ
wp_posts.ID,
wp_posts.post_title
ИЗ
ВнешнийИсточникДанных.ИнтернетМагазин.Таблица.wp_posts КАК wp_posts
Переключаемся на закладку Настройки. В правой верхней области «Таблица». Жмем кнопочку «Добавить» и выбираем «Новая группировка» — как на рисунке.
Ниже на закладке «Выбранные поля» добавляем два наших поля; «id» и «post_title». Должно получиться, как на рисунке:
Всё готово. Жмём клавишу F5, нажимаем кнопку «Да» в появившемся окне и у нас откроется наша конфигурация в режиме Предприятие. В интерфейсе должен быть виден отчет Товары — запускаем.
Нажимаем кнопку «Сформировать» — наблюдаем отчет.
Для различных анализов можно соединять таблицы интернет магазина и 1С. Но внутри одного запроса это сделать не получится. Нужно будет создать 2 набора данных (запроса) и связать их на закладке «Связи наборов данных» Системы компоновки данных.
Урок 2. Создание обработки 1С для чтения данных интернет магазина из встроенного языка.
Создаём обработку. Создаём форму обработки. Добавляем команду и пишем обработчик команды. Вот текст:
Выводы.
Новый бъект «Внешние источники данных», который появился в 1С:Предриятие 8.2.14 даёт возможность напрямую считывать данные из MySQL. С помощью этого объекта можно загружать в базу данных 1С любые данные из интернет магазина: например заказы. Можно производить анализ данных интернет магазина мощным инструментом 1С для создания отчетов «Система компоновки данных». Можно создвать любые виды отчетов используя данные интернет магазина и 1С: например сравнивать цены товаров.
Данный способ прямого доступа к базе данных MySQL имеет свои преимущества перед тем способом который используют платные российские скрипты. Платные скрипты для обмена данными с программами 1С используют модуль «Обмен данными с web сайтом», который присутствует только в конфигурациях «Управление торговлей» и «Управление производственным предприятием». А наш способ будет работать в любой конфигурации 1С, в том числе и не типовой.




Большое! спасибо за вашу статью! очень много искала материала, и читала…только начала пробовать создавать сайт и работать с 1с, интересно! а ваша статья очень надеюсь мне поможет! все доступно и понятно! спасибо!
Большое спасибо за очень подробную статью, очень полезная!
Спасибо!!!!