![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Rock |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 264 Регистрация: 13.1.2005 Где: Краснодар Репутация: нет Всего: 1 |
Что-то не нашёл форума куда это запостить, поэтому решил здесь.
Есть такая проблема: есть движок магазина, товары там имеют PRIMARY поле productID с auto_incriment. Всё как обычно. Есть база товаров в 1C, в ней товары имеют символьный артикул, для каждого товара он уникальный, артикул может быть например: 1fa1fjlkjk45 Товары из 1С имортируются в интернет-магазин, с помощью csv, хотя способ здесь не важен. Проблема в следующем: т.к. магазин использует поле с auto_incriment при очистки таблицы товаров мы получаем, что все по-новому импортированные товары - получают новые ID, следовательно все связаные объекты: заказы, другие товары - они теряют связь с товаром. Можно конечно сказать, что "не надо очищать таблицу товаров", да и это правильно, но сама ситуация, когда мы имеем две независимых БД товаров, я считаю, неправильна. Я придумал следующие решения: 1. Переделать движок под использование символьного индификатора товаров: переделать все проверки productID, связаные таблицы и многое многое. Получаем полную связь с 1C и одно поле для индификации товаров. 2. Сделать генерацию числового productID на стороне 1С: переделать только скрипт импорта, и всё. Получаем полную связь с 1С и два поля для индификации товаров, одно из которых используется в магазине, другое в 1С. Может кто поможет советом? |
|||
|
||||
Rock |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 264 Регистрация: 13.1.2005 Где: Краснодар Репутация: нет Всего: 1 |
Думаю модератор ошибся с форумом, теме больше место в php для профи, чем здесь.
Я вроде обсуждаю не проблему конкретного движка, а больше проблему проектирования, может стоит перенести сюда: http://forum.vingrad.ru/forum/web-developm...-designing.html либо сюда: http://forum.vingrad.ru/forum/database-sql.html Но точно не сюда. |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 1 Всего: 18 |
я думаю, лучше всего будет использовать какое-то одно поле для однозначной идентификации товара в обеих базах.
как вариант, можно в скриптах импорта/экспорта в 1с использовать идентификацию товаров по артикулу, а в остальном магазине по ID |
|||
|
||||
Flashdown |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 27.5.2006 Где: Москва Репутация: нет Всего: нет |
раз тебе не нужен числовой ID товара, поменяй тип поля INT AUTO_INCREMENT на VARCHAR и по необходимости подправь движок инет-магазина
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |