Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
Доброго времени суток, foxclub.)
Описание задачи и тестовой площадки. Магазин прод товаров использует FoxPro (9) в качестве рабочего инструмента для ведения учёта товаров, этой же базой пользуются кассовые аппараты и бухгалтерия. Возникла необходимость создать сайт, решили делать на Woocommerce (кто не в курсе - магазинный движок для сайтов на WordPress). Необходимо загрузить товары в онлайн-магазин, настроить синхронизацию количества товаров, чтобы изменение количества (после продажи/возврата) изменения происходили на обеих площадках. Сначала копал в сторону экспорта из FoxPro в CSV/XLS, с последующим импортом в БД сайта, но позже понял, что это абсолютно колхозное и костыльное решение, и в дальнейшем это встанет в огромные проблемы. Дальше вспомнил, что со стороны сайта есть отличная api-шка (https://woocommerce.github.io/woocommerce-rest-api-docs/), осталось понять, как подружить FP и WC. База состоит из таблиц, некоторые их них нужно синхронизировать с БД сайта: Артикул; Имя товара; Группа товара; Количество; Цена; Единицы измерения; Импорт базы на сайт, и последующая синхронизация количества товаров - вот что предстоит сделать, и о чём я спрашиваю форум. С FoxPro вижусь в первый раз, единственное, что получилось сделать - установить её не только на winXP в виртуалке, но и завести на win10.) Спасибо. |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Я пошёл бы со стороны Фокса.
Отдельное приложение с таймером. Либо, если есть возможность модифицировать рабочую фокс программу, то в нее внедрить. В каждой таблице, в каждой записи желательно поле: датавремя последнего изменения. Чтобы выбирать и отсылать только изменённые записи. Если такого поля нет, то понадобится доп.таблица, в которой будет храниться котр.сумма каждой записи на компе. Анализировать и отправлять только изменённые. Соотв.сохранять слепок или контр.сумму отправленной записи. Ну а далее изучать api и обращаться с вебом только через него. В принципе там должно быть все необходимое. Исправлено 1 раз(а). Последнее : Taran, 13.03.21 13:36 |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
1. Где лежат таблички (dbf, взрослая СУБД)? от этого будет зависеть "горячая синхронизация". 2. Поиск по WinHttp 3. "Штатного" парсера JSON в фоксе нет. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
S-type Сообщений: 2969 Дата регистрации: 24.04.2004 |
Задача синхронизации - не самая сложная, но и не самая простая. А в данном случае - задача двусторонней синхронизации. Причём, связано это с деньгами. Конечно, если покупки производятся раз в месяц - проблем нет. Но, если покупки частые, то придётся очень тщательно продумывать механизмы синхронизации. Удачи. Исправлено 2 раз(а). Последнее : S-type, 13.03.21 22:53 |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Гулин Федор Сообщений: 4633 Откуда: Минск Дата регистрации: 24.10.2002 |
я слабо понял вообще
но я бы попробовал от простого настроить какой то одбс (jdbc ) коннект к фокс. бд с того тула на к-м вы собираететсь писать синхронизацию. Если я правильно понимаю слово импорт в данном контексте надо грузить из VFP во внешнюю систему. По мне осн. проблема в логическом маппинге между данными VFP и внешней системы. Если он ясен - остальное дело техники. ps промежуточные CSV вполне себе тоже вариант возможно НЕ лучший ppps не увиде в начальном топике 2-стороннего обмена если он есть (в реальном режиме) - то да это сильно усложняет картину. Если это надо скажем раз в день - тоже усложняет но не настолько. |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Блин. Как я живу? Половину слов из выше приведенного не знаю, а ведь когда-то гонял данные по всем требуемым направлениям. Федор. Будь чуть поскромнее, ТС в фоксе новичек, про другое не указано, скорее тоже, а ты сразу терминами грузишь. Исправлено 1 раз(а). Последнее : Taran, 15.03.21 20:38 |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
Ребята, спасибо за ответы.
Синхронизация будет не по определённому времени, а по событию с двух с торон - изменение поля остатка (читай - импортировать только товар, который куплен/забронирован). Решил разбить задачу на 3 этапа. Размещаю оплачиваемый таск. Дано: 1) база в dbf 2) сайт с woocommerce Задача: синхронизировать. Условия: при изменении в оффлайн базе - изменяется онлайн. при изменении в онлайн базе - изменяется оффлайн. Импортировать БД оффлайна в онлайн, и настроить синхронизацию. Следующий этап - создание инвойсов, 3 состояния заказа "бронь/возврат/однозначно ушло". Задачу могу оплатить через kwork/или в личке на карту. Предоставляю доступы к сайту/ftp, и базу товаров. !. Исправлено 1 раз(а). Последнее : Dwinskiy, 17.03.21 18:50 |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Не взлетит, нужны распределенные транзакции, либо очередь.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Знакомая задача. Но у меня все решается довольно просто, поскольку БД на MS SQL, и магазин ASP.NET
Никакой синхронизации. Просто на MS SQL создана БД, которая через View получает нужные данные из рабочей БД. Ну и из нее же берутся данные, для прикладной системы. Глянул что такое Woocommerce. Вполне современная штука. Заинтересовала) Она использует современные механизмы. REST API Скрестить ее с очень старым фоксом, мне кажется нестоящая задача. Если бы БД была на взрослом сервере, сколько угодно, но не через фокс. А так. Верные по сути желания Если со стороны Woocommerce наверняка можно настроить, на отлов события, то со стороны фокса это либо таймер, с проверкой на изменение всех нужных таблиц, либо лезть в прогу, и там создавать события, и их обрабатывать. И все равно, потом еще дописывать взаимодействие через JSON. Если задача и выполнима на фоксе, то огромными усилиями. Думаю легче, написать прослойку на нормальном языке, который умеет работать с dbf, и REST API |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Гулин Федор Сообщений: 4633 Откуда: Минск Дата регистрации: 24.10.2002 |
а поясните плз и то и то. с распред. транзакциями сталкивался но оч. мало когда надо было на одном филиале (ms-sql) списать а на другой (тоже ms-sql) записать перемещение товаров и то делал не я а сам я видел только код а очередь - вообще интересно (что,Как и почему) @Аспид - Думаю легче, написать прослойку на нормальном языке, который умеет работать с dbf, и REST API я тоже так думаю - вопрос на каком языке то писали б сами и если допустим БД была бы в ms-sql - то 2 слова как бы ее скрестить было просто. я считаю себея неплохим спецом в ms-sql - но даже близко не вижу решения или решение это и есть MS SQL создана БД, которая через View получает нужные данные из рабочей БД. через линк-сервер как я поинмаю ?? |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Ну это кому что ближе. Я бы на шарпе. Коллега, интенсивно питон изучает))) Даже проще. Все на 1 инстансе. Он открыт для веба. Конечно права и пр. не забывать) |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
tandem Сообщений: 16 Дата регистрации: 25.05.2008 |
2) Правильно: Сайт c CMS "WordPres" c плагином электронной коvмерции "WooCommerce" - WordPress использует MySQL в качестве системы управления базами данных... www.wpbeginner.com - плагин WooCommerce использует базу "WordPres" + добавляет свои таблицы usersinsights.com. т.е. можно работать на прямую с базами данных MySQL (или McirandaDB - более популярна) используя odbc32 драйвера. MariaDB в сравнении с MySQL - mariadb.com |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
Спасибо за ответ.
Но мне, как человеку, который в жизни VFP видит первый раз, намного сложнее справиться с поиском odbc чего-то там. Я банально не знаю с чего начать. Именно поэтому зашёл на Ваш форум, и пытаюсь понять, куда двигаться. |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
Ребята, кто может помочь?
|
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Записать остатки и итп в MySQL можно из триггера фокса, тут проблем нет (за исключением поддержки распределенных транзакций).
Обновляем запись в табличке фокса, запускается триггер на Insert/Update/Delete, который в MySQL модифицирует данные. Засада в том, что MySQL не умеет общаться к разнородным источникам, например к БД фокса, что бы изменения на сервере передать в табличку фокса, для этого нужно городить костыли. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
S-type Сообщений: 2969 Дата регистрации: 24.04.2004 |
А чем тебе помочь? Взять и сделать? Это на первый взгляд всем почему то кажется - да сделать, что бы данные отсюда перелетали сюда - раз плюнуть. А потом выясняется, что что то не пришло (почему то), что то прилетело дважды. Следующая задача - начинается логирование, выяснение "где же собака порылась". В твоём случае - двусторонний обмен и деньги. Это ведь будут потери, если один и тот же товар не продадут, либо продадут дважды. Что бы сделать - надо ставить тестовый стенд, выписывать варианты обмена, попытаться их реализовать и посмотреть - какие вылезут сложности. А они (всякие технические проблемы) обязательно вылезут. Например, драйвера odbc. Сунешься - вроде бы есть, даже несколько бесплатных. Начинаешь пробовать - один русские буквы корябаются, другой даты не пропускает, а третий вообще не работает. В итоге есть платный, который будет работать. Или тот же триггер. Вот кто может сказать, почему на триггере процедура висит, но не сработала? Предположим, ты реализуешь какую то схему, которая у тебя будет работать. Следующий этап - нагрузочное тестирование. Делаешь на стенде 100 операций и смотришь - а не свалился ли он... Потом делаешь 1000... В общем, на мой взгляд, хорошая задача не на один месяц. Реально - где то на пол года. |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
в сообщении выше (путём недолгого поиска его можно найти) - я писал про оплату.
|
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
В woocommerce есть функционал, который по событию на сайте может обращаться по любому адресу и передавать любую информацию. То есть, резюмируя - инструменты есть.
|
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Dwinskiy Автор Сообщений: 12 Дата регистрации: 07.03.2021 |
Цитата:Никто и не говорит, что это просто. Наоборот - я поднял вопрос реализации. Цитата:Про тестовую площадку - писал, она - есть, специально развёрнутая тестовая площадка для тестов. Площадка. Тестовая. Для тестов. Она развёрнута. Уже. Специально. Для тестов. Площадка. То, что нужен не импорт, а синхронизация - тоже УЖЕ написано. Даже обсуждены механизмы, что именно нужно синхронизировать. Цитата:НЕ ПОВЕРИТЕ, но и ПРО ЭТО тоже писал - пытался делать промежуточный csv/excell файл. Цитата:- не может быть... Правда? А я думал, что просто лицом в клавиатуру упал, и - БАЦ - всё заработало... А оно вот оно как... Цитата:Эх, а я думал - управимся в 15 минут... *Прежде чем обвинять в токсичности моих комментариев, прошу обратить внимание на то, что по ветке выше уже описано абсолютно всё, что необходимо для решения этой задачи. И стек. И наличие площадки для тестов. И то, как пытался решить задачу. И то, каким видится решение этой задачи. И то, что готов оплатить решение этой задачи, путём передачи доступа к тестовой площадке с конкретными требованиями. Ваш пост - простой высер. Понимая, что VFP пользуется в основном старшее поколение, делаю вывод - Вам просто нехрен делать, и Вы решили накатать абсолютно очевидно пустое сообщение, которое не несёт никакой смысловой нагрузки впринципе. Небо - голубое, трава - зелёная, солнце - светит. Да неужели? |
Re: Синхронизация Woocommerce и FoxPro | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Если речь идёт об оплате, то есть раздел форума "Доска объявлений". В этом разделе есть правила, и следует там разместить предложение об оплате. forum.foxclub.ru |
© 2000-2024 Fox Club  |