Современные информационные технологии/3. Программное
обеспечение
Старший преподаватель Крючин
О.В., аспирант Квашенкин Д.О.
Тамбовский государственный
университет им. Г.Р. Державина, Россия
Синхронизация
1с версии 7 и интернет-магазина при помощи системы евриптерид
Введение. Традиционно в России
управление торговым предприятием (магазин и т.п.) в большинстве случаев
осуществляется при помощи программ 1С, занимающих в настоящее время
более 75% рынка. В тоже время стремительно возрастает значение интернет-магазинов,
число которых пока уступает аналогичному на Западе, но постепенно приближается
к нему. Таким образом, интеграция интернет-магазинов и 1С приобретает
все большую актуальность. Программистами 1С создано несколько решений,
но все они требуют существенной доработки.
Исходя из
вышесказанного, целью данной работы является разработка системы, позволяющей
интегрировать 1С версии 7 «Торговля и склад» и интернет-магазин, основанный на
движке EuripterideShop.
Общее
описание и принципы работы. Предлагаемая система состоит из двух
компонентов — Vendor, размещаемого на машине с 1С (на рис. 1 — 1С
и DLL) и Server, размещаемого на хосте с интернет-магазином (на
рис. 1 — СУБД и Web-интерфейс). Система позволяет отображать содержимое
справочника номенклатуры 1С и предоставляет возможность производить
заказы через интернет. Изменения в справочниках 1С сразу же учитываются
инетернет-магазином, а сделанные пользователем заказы поступают в 1С в
короткий срок. Помимо заказов web-интрфейс позволяет проводить
регистрацию новых покупателей (если это необходимо). Информация о новых заказах
и контрагентах автоматически заносится в базу 1С, пользовательский
интерфейс которого содержит набор отчетов, позволяющих просмотреть список
изменений, сделанных через web-интерфейс.
Web-интерфейс
(интернет-магазин) обращается не к справочникам 1С, а к СУБД, содержащей
необходимую для него информацию. Таблицы этой базы содержат те поля некоторых
справочников(номенклатура, контрагенты и т. д.) и регистров (заявки покупателей
и т. д.), которые необходимы для web-интерфейса.
Связь между
СУБД и 1С осуществляется при помощи набора динамических библиотек,
вызываемых из последнего. Функции этих библиотек вызываются при внесении
изменений в некоторые справочники.
Рис. 1. Структура
системы Евриптерид.
Кроме того,
1С периодически вызывает функцию, возвращающую наличие изменений, сделанных
через web-интерфейс (поступление новых заказов и регистрация новых
контрагентов)
Структура
системы.
Система состоит из нескольких частей:
l
СУБД,
дублирующей содержимое нескольких справочников 1С;
l
набора
динамических библиотек (dll), записывающих и считывающих информацию в
СУБД;
l
системы
оформления заказов и систем регистрации (php) — web-интерфейс на
рис. 1 ;
l
обработок
1С, которые вызывают функции динамических библиотек.
Структура базы данных
содержит ряд таблиц:
l
T_Nomenclatures — хранит информацию о
номенклатуре (товарах);
l
T_Counterparts — хранит информацию о
зарегистрированных контрагентах;
l
T_Buers_Orders — хранит информацию о
заказах покупателей.
Динамические библиотеки
(DLL) содержат следующие функции:
·
addNomenclature(nomenclature) – добавление новой
номенклатуры; получает массив данных о новой номенклатуре; записывает новую
строку в таблицу T_Nomenclatures;
·
removeNomenclature(nomenclatureId) – удаление номенклатуры;
получает код удаляемой номенклатуры, удаляет строку с этой номенклатурой из
таблицы T_Nomenclatures;
·
updateNomenclature(numenclature) – обновление
номенклатуры; получает массив данных о номенклатуре; находит соответствующую ей
строку в таблице T_Nomenclatures и
вносит необходимые изменения;
·
addCounterpart(counterpart) – добавление нового
контрагента; получает массив данных о новом контрагенте; записывает новую
строку в таблицу T_Counterparts;
·
removeCounterpart(counterpartId) – удаление контрагента;
получает код удаляемого контрагента; удаляет строку с этим контрагентом из
таблицы T_Counterparts;
·
updateCounterpart(counterpart) – обновление
контрагента; получает массив данных о контрагенте; находит соответствующую ему
строку в таблице T_Counterparts и
вносит необходимые изменения;
·
getNewOrders() - получение
необработанных заказов; возвращает массив строк из таблицы Т_Buers_Orders;
·
getNewContragents() - получение новых
зарегистрированных контрагентов; возвращает массив строк из таблицы T_Counterparts,
которые были внесены в таблицу после предыдущего вызова функции.
Для вызова dll-библиотек
в 1С добавлено несколько обработок:
·
UpdateNemenclatureAndContragent – обновление
номенклатуры и контрагентов, содержит ряд функций:
·
addNomenclature(nomenclature) – добавление новой
номенклатуры; получает объект номенклатуры и вызывает функцию addNomenclature
из dll;
·
removeNomenclature(nomenclatureId) – удаление
номенклатуры; получает код номенклатуры и вызывает функцию removeNomenclature
из dll;
·
updateNomenclature(numenclature) – обновление
номенклатуры; получает объект номенклатуры и вызывает функцию updateNomenclature
из dll;
·
addCounterpart(counterpart) – добавление нового
контрагента; получает объект контрагента и вызывает функцию addCounterpart
из dll;
·
removeCounterpart(counterpartId) – удаление контрагента;
получает код контрагента и вызывает функцию removeCounterpart из dll;
·
updateCounterpart(counterpart) - получает объект
контрагента и вызывает функцию updateCounterpart из dll;
·
GetNewOrders – получение необработанных
заказов; вызывает функцию dll возвращающую новые заказы (getNewOrders);
данная обработка вносит заказы в регистр и предоставляет отчет о них;
·
GetNewContragents – получение новых
контрагентов; вызывает функцию dll возвращающую новые заказы (getNewCounterparts);
данная обработка вносит контрагентов в регистр и предоставляет отчет о них.
Заключение. Таким образом
разработана система, позволяющая интегрировать 1С версии 7 «Торговля и
склад» и интернет-магазин, основанный на движке EuripterideShop.
Литература
1. Рязанцева Н., Рязанцев Д. 1С Предприятие: Торговля и склад. Секреты работы // СПб.:БХВ-Петербург, 2003. — 368 с.: ил.